✨ antituna · 0.12 · clip.m3d.pro 100% client-side · HTML único pt-BR multimodal · áudio → clipe final

da canção ao videoclipe ✨

ANTITUNA · 0.12 · clip.m3d.pro · por cypher.m3d.pro

Esta página documenta clip.m3d.pro — estúdio web que recebe uma canção (e, opcionalmente, uma foto de referência e uma descrição) e devolve um videoclipe com a duração exata da música. Toda a cadeia — análise real do áudio (BPM, batidas, seções, tonalidade), extração da letra do próprio áudio por múltiplos provedores de STT, storyboard com quadro inicial e final por cena, geração de imagens e vídeos por IA e concatenação sincronizada — está descrita abaixo com fluxogramas, custos médios por API, roadmap de versionamento, playbook de marketing e estratégias de monetização, com contas e KPIs por faixa de usuários.

1 clipe≈ 3–5 min (música ≈ 3–4 min)
~ 6 cenascorte automático pela estrutura da canção
4 STTsWhisper · Gemini · Groq · Web Speech em fallback
8+ modelos vídeoSeedance · Wan · Kling · Hailuo · Veo · Grok

1 · Visão geral do projeto

clip.m3d.pro é um estúdio web single-file escrito em HTML + CSS + JavaScript puro, sem build, sem dependência obrigatória de backend: tudo roda no navegador do usuário e as chamadas às APIs de IA saem diretamente do client com chaves que ficam em localStorage. Esta edição carrega o codinome antituna 0.12 dentro do domínio operacional clip.m3d.pro, sob a marca m3d.pro e desenvolvimento cypher.m3d.pro.

1.1 · O que o produto entrega (do código real)

Recepção única

Uma tela de entrada que aceita simultaneamente canção (mp3/wav/m4a/ogg), foto de referência do personagem e descrição textual do clipe. O pipeline dispara automaticamente.

drag&dropmodo simples

Análise real do áudio

Detecção de BPM, batidas, cortes de estrutura por novidade espectral e tonalidade, antes de qualquer geração de quadro. É o que define a quantidade de cenas e a duração de cada uma.

análise localdeterminística

Letra extraída do próprio áudio

Multi-provedor STT com fallback em ordem Whisper → Gemini → Groq → Web Speech. Cada linha fica etiquetada pela seção e alinhada ao player.

4 provedorestimestamps

Storyboard com quadro inicial e final

Cada cena recebe descrição de quadro inicial e final, com a referência travada em todas elas, garantindo coerência visual do personagem.

consistênciaimagem-i→imagem-f

Geração multimodal em cadeia

Imagem com cadeia Gemini → Imagen → Pollinations → OpenAI e vídeo via Pollinations roteando para Seedance, Wan, Kling, Hailuo, Veo ou Grok — todos opt-in.

fallback graceful

Clipe final com duração da canção

Concatenação sincronizada com a duração exata da música via canvas + MediaRecorder + captureStream, capturando o áudio de volta do próprio elemento <audio>.

sincronia exata

Fluxograma editável

O usuário pode religar cenas, mudar a ordem das transições, bloquear seções, ajustar o tipo de corte (corte seco / fade / crossfade 0,6 s).

interativo

Exportação do projeto

Pacote próprio .clara (JSON + thumbnails) e relatório PDF completo — figuras, fluxograma, transcrição, custos, parâmetros.

.claraPDF

Tour guiado + modo avançado

Tour que aciona ações reais em cada painel; modo avançado revela seletores de modelo, prompts, chaves e cortes manuais.

UX progressiva

1.2 · Princípios de produto

Simples por padrão

O usuário não vê marcas, modelos nem chaves no primeiro contato. Há um toggle "Avançado" no rodapé que destrava tudo. "Se funcionar deveria ser invisível."

Cadeia com fallback

Cada etapa tenta o melhor provedor disponível, e pula para o próximo se a chave faltar, a cota estourar ou a chamada falhar. A última cena sempre termina.

Sem armazenamento forçado em servidor

Tudo acontece no client. As chaves ficam em localStorage, o projeto pode ser salvo/carregado como arquivo. Privacidade por arquitetura.

Versionamento próprio

Naming interno segue padrão semântico clipm3d-antituna-v{MAJOR}.{MINOR}; cada minor entrega um novo pipeline, cada major publica uma nova cadeia de IA.

2 · Arquitetura

Tudo é um único arquivo HTML auto-contido, com seções identificadas por id para troca via goTop(). A barra lateral (.rail) e o cabeçalho (.top) ficam fixos; o conteúdo principal é uma sequência de <section> empilhados que se ocultam entre si.

2.1 · Shell (extraído do clipm3d-antituna-v0.12.html)

frame

Layout em grid rail · main com <aside class="rail"> à esquerda com 5 botões navegáveis (Canção, Letra, Cenas, Fluxo, Render) + recortes (Avançado, Tour) e o cabeçalho marca + chips de estado + toggles.

telas

Sete seções: landing · preproc · dash-cancao · dash-letra · dash-storyboard · dash-fluxo · dash-render · dash-export. goTop(to) liga a navegação lateral e o botão "Tour" da própria seção.

state

Um STATE global guarda áudio, letra, projeto, clipes[], fluxograma, preferências de UI (avançado, tour, header auto-recolhível) e chaves de API por provedor.

2.2 · Componentes de UI que aparecem em qualquer tela

player sincronizado

<audio> com currentTime usado como relógio mestre: transições do fluxograma, edição de letra e renderizam todos pelo mesmo tempo.

drop-zones

Uma drop-zone para áudio e outra para referência visual, ambas com DataTransfer nativo — sem upload para servidor.

storyboard

Cards de cena com imagem inicial + descrição, imagem final + descrição, vídeo por cena, modelo usado e tempo gasto.

fluxograma SVG

Canvas SVG próprio com nós de cena e setas (corte seco / fade / dissolver), drag-and-drop, religação e clique para inspecionar.

tour guiado

Sequência de passos chamada por runTour() que dispara ações reais em sequência (abrir painel, gerar quadros, abrir render, exportar).

progress global

Barra superior fina que pisca verde em cada etapa concluída do pipeline automático (pctProg / pctDone).

modo avançado (gating)

Atributo data-adv em elementos que existem no DOM mas só aparecem se STATE.ui.adv === true. Não há dois layouts distintos.

exportador

Pacote .clara em JSON zip-like + relatório PDF renderizado em HTML e convertido via window.print() ou html2canvas.

3 · Pipeline real (fluxograma)

Sequência executada pelo botão "Gerar o clipe completo automaticamente" ou pela tour guiada. Cada bloco é uma função JavaScript real do clipm3d-antituna-v0.12.html.

Recepçãoáudio · ref · descrição Pré-processamentodecode → mono PCM → análise Análise real do áudioBPM · batidas · seções · tom Definição das cenasnº cenas · duração · cortes Letra (STT)Whisper · Gemini · Groq · WS Storyboarddescrição por cena · ref travada Imagem inicial (IA)Gemini → Imagen → Pollinations → OpenAI Imagem final (IA)img-to-img com a inicial Vídeo por cenaSeedance · Wan · Kling · Hailuo · Veo · Grok Ordenação/Transiçãofluxograma SVG editável Render do clipecanvas + MediaRecorder + captureStream Mix áudio originalvia <audio>.captureStream() Duração exata do clipetruncado na duração da canção Exportação do projeto.clara · JSON · SRT · MD · CSV Relatório PDFimagens · fluxograma · custos Salvar / CarregarlocalStorage + arquivo Erro / fallback visíveltoast + chips + chips log

A função runAuto() do código orquestra exatamente essa sequência: analyzeAudioNow() → transcribeWhisper/Gemini/Groq/WebSpeech (com roteador) → buildSections() · buildClipes() · orderScenes() → genImageSmart() por cena (início e fim) → genVideoForClip() por cena → renderFinal().

4 · Cadeia de STT / extração de letra (fluxograma)

Função transcribeRouter(): tenta na ordem abaixo; o primeiro que devolver linhas válidas ganha, e a UI mostra qual foi.

Áudio carregadoAUD_BLOB Whisper (OpenAI)whisper-1 · pt Gemini (Google)transcribeGemini() Groq Whisperwhisper-large-v3-turbo Web SpeechMediaRecorder (navegador) Estruturar localmenteseções + timestamps Linhas com timestamps · aplicadas ao player sincronizado
Por que esta ordem? Whisper tende a ser o mais estável em PT-BR com timestamps. Gemini é uma ótima alternativa com cota mais barata em multimodal. Groq é rápido e barato para falas limpas. Web Speech é o último recurso: depende do navegador.

5 · Cadeia de imagem por cena (fluxograma)

Função genImageSmart(prompt, ratio, model): para cada cena, gera primeiro a imagem inicial, depois a imagem final a partir da inicial (img-to-img). A segunda etapa usa pesos altos para manter o personagem.

Descrição da cenaprompt + ref + estilo 1) Gemini Flash Imagegemini-2.5-flash-image 2) Imagen 4imagen-4.0-generate-001 3) Pollinationsflux · nano-banana · gpt-image 4) OpenAI GPT-image-1gpt-image-1 Escolhidaok / fallback Imagem final (img-to-img)usa imagem inicial como referência Modelo diferente da inicialpara variar textura da transição Travada por personagemref uploadada preservada

Cada tentativa registra em c.viaImg e barra de progresso global pisca; o toast indica qual provider entregou. Chaves em falta são puladas silenciosamente.

6 · Cadeia de vídeo por cena (fluxograma)

Função genVideoForClip(clip): chama o modelo configurado via Pollinations, com fallback controlado por STATE.cfg.vid. O vídeo gerado entra como a própria animação da cena.

Quadro (inicial + final)i2v Seedance 2 fast720p · 4 s Seedance 2.51080p · c/ áudio Wan 2.7720p Kling O3standard / pro Hailuominimax/h3 Veo/Grok720p+ Vídeo pronto da cena · entra no canvas final

7 · Concatenação final e clipe

Função renderFinal(): desenha um <canvas> do tamanho do projeto, posiciona cada vídeo de cena no tempo correto, faz transições de acordo com o tipo da aresta do fluxograma (corte seco, fade pelo preto, crossfade 0,6 s) e grava o resultado via MediaRecorder. O áudio é capturado do próprio <audio> com captureStream() e mixado na trilha final. A duração da gravação é travada na duração da música (corte se passar).

Sincronia exata

Relógio mestre é o audioContext.currentTime: se o canvas ficar atrasado, ele ganha velocidade; se adiantar, ele segura até o áudio. Nunca há drift.

Áudio preservado

O "audio" do clipe final é o MediaStreamAudioDestinationNode construído em cima do mesmo AudioBufferSourceNode que toca na UI. Nada é re-codificado.

Mesmo FPS do projeto

O MediaRecorder roda no FPS configurado (24 ou 30). Resolução sai do projeto (1280×720, 1920×1080, 1080×1920).

8 · Custos médios por API (todos verificados nesta sessão via batch_web_search)

Tabela atualizada em 2026-09-18. Onde o provedor publica preço em tokens, mostramos a conversão equivalente para 1 imagem 1024×1024 ou 1 segundo de vídeo. Moeda: USD salvo onde explicitamente indicado.

EtapaProvedorModeloUnidadeCusto médioFonte
STTOpenAIwhisper-1minuto de áudio$0,006≈ $0,36/h de áudio transcritobrasstranscripts · diyai.io
STTGroqwhisper-large-v3-turbohora de áudio$0,04até 12× mais barato que OpenAI Whisperspheron.network · console.groq.com
STTElevenLabsScribe v2hora de áudio$0,22Enterprise encerra abaixo de $0,40 com volumeelevenlabs.io
ImagemGoogleGemini 2.5 Flash Imageimagem 1024×1024$0,0391120 tokens · $30 / 1 M tokens image-outputai.google.dev · aifreeapi.com
ImagemGoogleImagen 4 Fastimagem$0,02Standard $0,04 · Ultra $0,06cloud.google.com
ImagemGoogleImagen 4 Ultraimagem 2K$0,06Upscaling Imagen 4 separadocloud.google.com
ImagemOpenAIGPT-image-1imagem$0,04 – $0,25depende da qualidade; deprecando em 2026-10-23OpenAI API docs · costgoat.com
ImagemOpenAIGPT-image-1 Miniimagem$0,005 – $0,052opção de baixo custocostgoat.com
ImagemPollinationsflux · nano-banana · gpt-imageimagemfree + Pollenfree tier generoso; Pollen em beta pagopollinations.ai · terms
VídeoBytedanceSeedance 2.0 Fastsegundo (480p–720p)$0,022 – $0,10Atlas Cloud Fast $0,022/s · piapi.ai $0,10/s 720patlascloud.ai · piapi.ai
VídeoBytedanceSeedance 2.0 Standardsegundo (1080p)$0,201080p padrãopiapi.ai
VídeoAlibabaWan 2.5 i2v / Wan 2.7segundo (720p)$0,065 – $0,15Alibaba ModelStudio SG $0,15/s (90 d trial)aimlapi · alibabacloud
VídeoKuaishouKling O3 / 3.0 standardsegundo$0,075 – $0,14turbo native-audio $0,112/skling.ai · evolink.ai
VídeoGoogleVeo 3.1 Fast / Litesegundo (720p)$0,03 – $0,15Standard $0,40/s com áudiocostgoat.com · aifreeapi.com
GPU sob-demandaReplicateH100 / A100 / T4 / CPUsegundo de GPU$0,001525 / $0,0014 / $0,000225 / $0,000025FLUX ≈ $0,0005/imagem típicareplicate.com

8.1 · Custos fixos mensais (infra / processamento)

ItemPlanoCustoFonte
HospedagemVercel Pro$20 / mês por seat + $20 de crédito de uso inclusovercel.com/pricing
ArmazenamentoCloudflare R2 Standard$0,015 / GB-mês · egress zerocloudflare.com/r2
Pagamento (BR)Stripe · cartão doméstico3,99 % + R$ 0,39 por transaçãostripe.com/en-br
Pagamento (BR)Stripe · Pix / boleto anual5,99 % + R$ 0,45 por transação (1 mês promocional 2,9 % + R$ 0,30)stripe.com
PagamentoStripe · cartão internacional2,9 % + $0,30 · +1,5 % internacional · +1 % se houver conversão de moedastripe.com/pricing

9 · Calculadora de custo por clipe (cliente)

Mude os campos abaixo para estimar o custo direto em APIs de IA por clipe. Considera 1 imagem inicial + 1 imagem final por cena + 1 vídeo por cena na duração alvo + 1 transcrição.

Esta calculadora é uma estimativa local e não consulta APIs reais. Use-a como ponto de partida para o plano de custo do mês.

10 · Chaves e licenças

O antituna 0.12 armazena as chaves de API em localStorage (categoria m3d-pro:keys). Todas são usadas direto do navegador — não há proxy do nosso lado. Isso significa que, ao publicar o app, o usuário precisa saber que cada chave fornecida é chamada do client dele, e que nós não armazenamos nem vemos.

ProvedorVariávelOnde é usada
OpenAIkeyOpenAIWhisper · DALL·E/GPT-image
Google AI StudiokeyGoogleGemini · Imagen
PollinationskeyPollFlux · nano-banana · flux-2-pro · seedream · kontext · seedance · wan · kling · hailuo · veo · grok
GroqkeyGroqWhisper Large v3 Turbo (alternativa barata)
Política "chave por usuário": na fase pré-monetização, cada usuário coloca suas próprias chaves (BYOK). Quando lançarmos a monetização por assinatura, mantemos esse modo como nível gratuito e oferecemos um nível托管 (托管) com chave compartilhada e cotas inclusas — equivalente a um servidor proxy opcional.

11 · Necessidades técnicas a superar (estado atual vs desejado)

Cada linha deriva do código real: o número entre parênteses é a referência ao clipm3d-antituna-v0.12.html.

11.1 · Latência da cadeia multimodal

Hoje uma cadeia de 6 cenas com Seedance Fast pode levar 4–6 min. Para escala, queremos pipeline paralelo com fila por modelo e cache de prompt. Função atual: genImageSmart() é serial.

paralelizarfila por modelocache dedup

11.2 · Consistência do personagem entre cenas

Mantemos a referência carregada, mas alguns provedores (Flux/DALL-E) ainda não garantem face lock. Precisamos treinar ou usar um LoRA por usuário ou um IP-Adapter aplicado em cada cena. Função atual: genImageSmart(prompt, ratio, model) passa ref para todas as cenas.

IP-Adapterface-idLoRA pessoal

11.3 · Custo de vídeo 1080p em escala

Seedance 1080p a $0,20/s destrói a margem. Mitigar com escolha automática: 720p para a maioria, 1080p só nas cenas-chave (intro, clímax, final).

resolução adaptativatier dinâmico

11.4 · Coerência narrativa da letra

As linhas vêm do áudio mas nem sempre batem com o início da seção. Implementar align-to-beat utilizando a grade de batidas para ancorar frases em marcadores fortes.

letra-no-beatforced align

11.5 · Tradução multilíngue (pt-BR ↔ es/en)

whLang aceita pt|en|es|.... Tradução automática sincronizada com timestamps ainda é feita fora do app; precisa virar parte do pipeline para mercados vizinhos.

11.6 · Render final em arquivos longos

MediaRecorder lida mal acima de ~10 min em alguns navegadores. Migrar para Streaming MP4 via mp4-muxer ou servidor de render dedicado.

MSEmp4-muxerrender server

11.7 · Recuperação de cota / rate-limit

A cadeia cai e perde o trabalho em rate-limit HTTP 429. Implementar back-off exponencial, fila persistente e retomada a partir da cena interrompida.

retry+jitterresume

11.8 · Distribuição & CDN de saída

O clipe é gerado local; para entrega, queremos URL público estável. Pipeline atual produz Blob; precisa subir para Cloudflare R2 com chave curta e acessar via link público assinado.

R2 + URL assinada

11.9 · Privacidade das chaves de usuário

BYOK em localStorage é seguro no browser do usuário, mas queremos também Web Crypto + passphrase para criptografia local das chaves em modo avançado.

crypto.subtlepassphrase derive

11.10 · A11y e mobile

O layout principal é pesado em desktop. O modo simples já funciona em tablet; falta polir preview do storyboard em mobile real (≤ 420 px) e adicionar atalhos de teclado.

12 · Roadmap de versionamento

Padrão clipm3d-antituna-v{MAJOR}.{MINOR}. Cada minor entrega incremento de pipeline. Cada major reconfigura a cadeia de IA para um novo padrão.

antituna 0.12 · atual · Foundation

Foco em um estúdio unificado, modo simples, orquestração automática. Já entrega clipe final, com a nova identidade visual da antituna.
img Gemini → Imagen → Poll → OpenAI
vid 8 modelos opt-in
stt 4 provedores
codinome antituna · 0.12

antituna 0.13 · Lock visual

LoRA pessoal ou IP-Adapter + face-id por usuário. Consistência rosto/cenário entre 6–10 cenas mesmo com trocas de modelo.

antituna 0.14 · Paralelismo & fila

Worker-pool no client, fila por provedor, dedup por prompt, retomada após 429.

antituna 0.15 · Render server opcional

Para clipes acima de 6 min e equipes compartilhadas, oferecer render servidor (Cloudflare Containers ou Replicate provisioned).

antituna 0.16 · Multi-idioma & legendagem

Legendas automáticas em pt/es/en/fr alinhadas ao áudio original + tradução Neural. Pipeline "letra → beat → legenda" síncrono.

antituna 0.17 · Direção criativa assistida

LLM diretor: escolhe estilos por seção, propõe cortes, pré-edita roteiros visuais conforme a descrição do usuário. Interface estilo storyboard AI.

antituna 0.18 · Marketplace de presets

Estilos prontos (cinematic, lo-fi, hype, animado, anime, VHS) por assinatura. Marketplace de LoRAs e fluxos contribuídos pela comunidade.

antituna 0.19 · Mobile first

Versão otimizada para captura no celular: grava voz, escolhe tema, gera clipe. Auth via magic-link.

antituna 2.0 · Studio público

Página pública de projetos por usuário;Embed em sites; API pública para SaaS integrarem o antituna.

Critérios para romper minor → major

  • Troca de cadeia padrão (ex.: Imagen deixa de ser o padrão, Nano-Banana passa a ser).
  • Novo paradigma de render (entrada de render server, por exemplo).
  • Quebra de compatibilidade do arquivo .clara (obrigamos migração).

13 · Playbook de marketing

Estratégia focada em criadores musicais e agências pequenas, com secundário em profissionais de conteúdo e professores. Tese: o clipe é o produto final entregue, mas o "wow" é a velocidade — "enviei a música e 5 minutos depois tenho o clipe".

Aquisição · Conteúdo curto

Reels/TikTok/Shorts mostrando um before/after de 30 s: a música, o storyboard se formando, o clipe pronto. CTA para clip.m3d.pro. Hashtags: #studioai #musicaBR #clipauto.

TikTokReelsTwitter

Aquisição · Comunidades verticais

Produtores musicais do Reclame Aqui, Ableton Brasil, SoundCloud BR, Gumroad banda. Oferecer 3 clipes gratuitos para casos-de-estudo autênticos. estúdio é single-file = roda até no celular.

Aquisição · SEO & blog

Artigos "Como gerar videoclipe com IA em 2026", "Comparativo Seedance vs Wan vs Kling vs Veo". Linkar para calculadora de custo (seção 9) — vira isca de tráfego qualificado.

Ativação · Tour guiado

O botão "Gerar o clipe completo automaticamente" + tour de 1 minuto é o nosso funil. Reduz churn porque o usuário sai com vídeo na mão.

Retenção · Preset packs

Cada preset (cinematic, lo-fi, anime, VHS) é entregue como arquivo .clara público. O usuário pode remixar e publicar o dele.

Referral · Créditos por convidado

Programa "Indica um artista": 1 clipe completo grátis por indicação que converter. Cap em 5/mês para evitar abuso.

Parceiros · Selos & gravadoras

Pacote "Selo Indie": 50 clipes / mês para um selo de pequeno porte, com logo d'água customizada. B2B via info@m3d.pro.

Parceria · Escolas de música

Plano educacional: clipe como ferramenta didática para alunos finalizarem músicas. Cobrança por número de alunos ativos.

Branding · cypher.m3d.pro

Toda a operação técnica e P&D fica em cypher.m3d.pro. O produto final do usuário fica em clip.m3d.pro. A camada institucional (política, contato, manifesto) é m3d.pro.

13.1 · Fluxograma de marketing & funil

Topo · Conteúdo curtoReels · TikTok · SEO blog Aquisiçãovisitantes únicos / mês Ativação (1ª execução)3 clipes grátis + tour Retenção (≥3 clipes/mês)presets · explore Receita (assinatura)free · pro · studio Indicador ativo1 mês · ≥3 clipes NPS · boca-a-bocaNPS ≥ 50 Parceria B2Bselos · escolas

14 · Estratégias de monetização

Modelo híbrido BYOK + assinatura + serviços B2B. O free mantém o motor de descoberta; o Pro captura quem faz mais de 5 clipes por mês; o Studio serve agências/selos.

14.1 · Free (BYOK)

Usuário coloca suas chaves. Limite: 5 clipes / mês (rate-limit por IP). Sem marca d'água. Receita: 0. Estratégia: funil & retenção.

R$ 05 clipes/mês

14.2 · Pro · R$ 49/mês

BYOK mantido. Inclui: 30 clipes / mês, presets premium, IP-Adapter por usuário, prioridade de cota compartilhada (modelo托管). Cobrança Stripe/pix/boleto.

R$ 49/mês30 clipesprioridade

14.3 · Studio · R$ 299/mês

B2B: 300 clipes / mês + render server dedicado + 3 membros no time + API pública + selo de marca personalizada.

R$ 299/mês300 clipesAPI

14.4 · Marketplace · take rate 30 %

Presets criados pela comunidade rendem 30 % para o autor (mínimo R$ 5 por venda). Pagamento via Stripe Connect.

slice 30 %Stripe Connect

14.5 · B2B · R$ 1.500–R$ 5.000/mês

Selos & gravadoras. Pacotes a partir de 50 clipes / mês com SLA de 24 h e curadoria humana opcional. Contrato anual.

anualSLAcuradoria

14.6 · Branded clips · sponsorship

Marcas patrocinam pacotes de presets temáticos (ex: "Vera Verão" — preset cinematográfico com pôr-do-sol). Receita fixa por temporada.

sazonalco-marketing

14.7 · API pública — usage-based

Studio/Enterprise chamam a API por clipes gerados. Cobrança adicional acima do pacote incluso (≈ R$ 1,20 por clipe extra).

overage R$ 1,20

14.8 · White-label · sob consulta

Para produtoras: app customizado na marca do cliente, embed em site próprio. Receita única de setup + mensalidade.

one-time + mensal

14.9 · Premissas para a conta de margem

CenárioModeloCusto médio API por clipeReceita mensal típicaMargem bruta
Free BYOKImagen Fast + Seedance 720p(usuário paga)R$ 0—
Pro típicoImagen Fast + Seedance 720p≈ $0,55 ≈ R$ 3,00R$ 49~94 %
Pro intensivoGemini Image + Veo Fast≈ $2,20 ≈ R$ 12R$ 49~75 %
Studio (preset Pro)média ponderada≈ $0,90 ≈ R$ 5R$ 299~98 % (eficiência de cota)
Números para um clipe de 3,5 min, 6 cenas, 4 s/cena, 720p. Câmbio considerado: USD ≈ R$ 5,50. Confirmar contra cotação no momento do fechamento.

15 · KPIs & metas

MAUmensais únicos com ao menos 1 sessão generator
Clipe / MAUclipes gerados por mês por usuário
Conv. free→Pro% que assina dentro de 30 dias
CACcusto de aquisição — meta < R$ 70
LTVReceita média em 12 meses
Churn Pro% mensal que cancela — meta < 7 %
NPSpromotores − detratores — meta ≥ 50
Tempo até 1º clipemeta ≤ 6 min do load até o download

15.1 · KPIs operacionais de engenharia

Pipeline success rate

% de clipes gerados sem fallback manual. Meta ≥ 92 %.

p95 latência de clipe

Tempo entre envio e download. Meta ≤ 240 s para clipe médio.

Rate-limit recovery

% de chamadas em 429 que recuperam sem intervenção. Meta ≥ 80 %.

Custo médio / clipe

Meta: ≤ R$ 5 no Pro típico; ≤ R$ 12 no Studio.

Uptime do domínio

Meta: 99,5 % ano. Downtime planejado fora do horário de pico.

Tempo de 1ª renderização significativa

Meta: primeiro preview visível em ≤ 60 s.

16 · Milestones & faixas de usuários

Cada marco aqui amarra (a) milestone técnica, (b) número esperado de usuários, (c) KPIs que validam o salto, (d) ações de marketing/monetização que disparam.

M0 · Pré-lançamento ~ 0 usuários

v12 + documentação + lockdown de chaves + governance de páginas.

KPI de saída: TUDO documentado; 5 usuários alfa testaram clipes reais.

Ação marketing/monetização: nada — escutamos feedback.

M1 · Beta aberto ~ 50–200 usuários

v13 lock visual + onboarding BYOK claro + preset IndieBR gratuito.

KPI de saída: 30 % de ativos mensais retornam em 7 dias; NPS ≥ 35.

Ação: lança Pro R$ 49/mês para early adopters com 20 % off.

M2 · Public beta ~ 500–2.000 usuários

v14 paralelismo + fila + render server opcional; integrador com SoundCloud, Bandcamp e Dropbox.

KPI de saída: p95 latência ≤ 4 min; conv. free→Pro ≥ 4 %.

Ação: primeira campanha paga de TikTok Ads em R$ 1.000/dia por 30 dias.

M3 · GA comercial ~ 5.000–10.000 usuários

v15 render server em produção + 2 modelos novos de vídeo (Sora se liberado, Veo Standard); preset packs oficiais.

KPI de saída: ARR ≥ R$ 30.000/mês; churn Pro ≤ 7 %.

Ação: abre Stripe/Pix Brasil; parceria com 1 selo indie.

M4 · Marketplace ~ 15.000–30.000 usuários

v18 marketplace + 50 presets por comunidade + autor com payout Stripe Connect.

KPI de saída: 100 autores ativos; 5 % da receita vinda de marketplace.

Ação: co-marketing com 1 marca de instrumento musical ou equipamento de áudio.

M5 · Mobile first ~ 50.000–80.000 usuários

v19 app mobile com gravação no celular + auth por magic link + push de clipes prontos.

KPI de saída: 35 % dos clipes vêm do mobile; CAC mobile ≤ R$ 50.

Ação: parceria com App Store BR; featured em "Apps populares".

M6 · Internacionalização ~ 100.000–200.000 usuários

v16 multilíngue + expansão para es/en/pt-PT + Adaptive rendição por mercado.

KPI de saída: ARR ≥ R$ 400.000/mês; 25 % de receita fora do BR.

Ação: escritório em Portugal, primeiros clientes B2B europeus.

M7 · Plataforma & API pública ~ 300.000+ usuários

v20 API pública + SDK JS/Python + portal de desenvolvedores.

KPI de saída: 50 integradores ativos; receita B2B ≥ 25 % da ARR.

Ação: roadmap público trimestral, Conselho de Comunidade.

17 · Necessidades para escalar (vinculado a marketing + monetização)

O que precisamos resolver técnica e operacionalmente antes de cada salto na tabela de usuários.

5.000–10.000 usuários

Técnico: fila persistente no servidor, fila por provedor, observabilidade de quota. Marketing: primeira campanha paga estruturada. Monetização: Stripe BR + Pix recorrente.

15.000–30.000 usuários

Técnico: render server escalável, OAuth por aplicativo terceiro, anti-abuso. Marketing: programa de referral + SEO agressivo em como gerar clipe com IA. Monetização: Stripe Connect para marketplace.

50.000–80.000 usuários

Técnico: mobile PWA + push, cache regional por país. Marketing: one-on-one com 2 creators 100k+; anúncios em 4 mercados. Monetização: planos mobile-only (ex.: pay-as-you-go).

100.000–200.000 usuários

Técnico: multi-região, modelo "shared quota" controlado, suporte 24/7 com IA + humano. Marketing: presença em festivais de música (Rock in Rio, Lollapalooza BR). Monetização: pacote Enterprise + white-label.

300.000+ usuários

Técnico: SRE, business continuity, plano de migração de providers em caso de descontinuação. Marketing: brand campaigns em televisão + OOH em cidades grandes. Monetização: equity round opcional; thoughts on-going M&A.

17.1 · Custo de infraestrutura crescente por estágio

EstágioEquipeCloud / mêsMarketing / mêsTotal estimado / mês
M0–M11–2 founders$20 Vercel + R$ 50 R2 ≈ R$ 200R$ 0 (orgânico)≈ R$ 1.000 (incluindo ferramentas)
M2 (2 k usuários)+1 eng +1 marketing$80 Vercel + R$ 200 R2 + cola Cloudflare ≈ R$ 2.500R$ 30.000 (TikTok Ads + creators)≈ R$ 60.000
M3 (10 k usuários)+2 eng +1 sup.$200 Vercel Enterprise + $500 R2 + render server ≈ R$ 7.000R$ 60.000 (Ads + 1 selo)≈ R$ 130.000
M5 (50 k usuários)8–12 pessoasR$ 25.000R$ 150.000≈ R$ 350.000
M7 (300 k usuários)30+ pessoasR$ 90.000R$ 400.000≈ R$ 900.000
Esses números são estimativas, não projeções; o detalhamento final depende de fechamento SOW com fornecedores. A linha "Receita" da seção de monetização determina se o runway se sustenta — meta de M7: receita líquida do ano anterior > custo mensal do mês.

17.2 · Trade-off central: o equilíbrio entre qualidade visual e custo de vídeo

Em cada salto de escala, a maior alavanca de margem é o vídeo. Hoy 6 cenas × 4 s × Seedance Fast 720p ≈ $0,53 por clipe. Subir tudo para Veo 3 Standard ≈ $7,20 por clipe — inviável para o Pro a R$ 49. O sistema precisa manter a inteligência de "qual modelo vale quanto, por cena, em qual resolução". Essa é a peça que v14–v15 entregam como motor de otimização.

18 · Contato

Produto & negócio

E-mail: info@m3d.pro

Site do produto: clip.m3d.pro

Marca-mãe: m3d.pro

Engenharia & desenvolvimento

Site técnico: cypher.m3d.pro

Manifesto: privacidade por arquitetura, versionamento aberto, código aberto do orquestrador.

Sobre o botão "Acessar versão atual": o link da seção de capa aponta para antituna 0.12 em http://clip.m3d.pro/version/ (não baixa o app HTML — leva ao app rodando). Quando você subir a 0.13, basta atualizar o href do botão em #capa .cta .btn-primary mantendo target="_blank" rel="noopener".
✨ antituna · 0.12 · clip.m3d.pro 100% client-side · single HTML EN multimodal · audio → final clip

from song to music video ✨

ANTITUNA · 0.12 · clip.m3d.pro · by cypher.m3d.pro

This page documents clip.m3d.pro — a web studio that accepts a song (and optionally a reference photo and a short description) and returns a music video matching the exact duration of the track. The full pipeline — real audio analysis (BPM, beats, sections, key), lyrics extraction from the audio by multiple STT providers, a per-scene storyboard with start and end frames, AI image and video generation, and synchronized concatenation — is described below with flowcharts, average per-API costs, a release roadmap, a marketing playbook and monetization plans, including margin and KPIs per user tier.

1 clip≈ 3–5 min (track ≈ 3–4 min)
~ 6 scenesauto-cut from song structure
4 STTsWhisper · Gemini · Groq · Web Speech fallback
8+ video modelsSeedance · Wan · Kling · Hailuo · Veo · Grok

1 · Project overview

clip.m3d.pro is a single-file web studio written in plain HTML + CSS + JavaScript, with no build step and no required backend: everything runs in the user's browser, and AI API calls are issued directly from the client with keys stored in localStorage. This release carries the codename antituna 0.12 on the operational domain clip.m3d.pro, under the brand m3d.pro with engineering by cypher.m3d.pro.

1.1 · What the product delivers (from real code)

Single intake

One entry screen that simultaneously accepts a song (mp3/wav/m4a/ogg), a reference photo of the character and a textual description of the clip. The pipeline fires automatically.

drag&dropsimple mode

Real audio analysis

Detection of BPM, beats, structural cuts via spectral novelty and key — before any frame is generated. This drives scene count and individual scene duration.

local analysisdeterministic

Lyrics extracted from the audio

Multi-provider STT with fallback chain Whisper → Gemini → Groq → Web Speech. Each line is labeled by section and aligned to the player.

4 providerstimestamps

Storyboard with start & end frames

Each scene has a start and an end frame description, with the reference locked across all of them, ensuring visual consistency of the character.

consistencyimg-i→img-f

Multimodal chained generation

Images via chain Gemini → Imagen → Pollinations → OpenAI and video via Pollinations routing to Seedance, Wan, Kling, Hailuo, Veo or Grok — all opt-in.

graceful fallback

Final clip matches song length

Synchronized concatenation to the exact song duration via canvas + MediaRecorder + captureStream, capturing audio back from the same <audio> element.

exact sync

Editable flowchart

Users can reconnect scenes, change transition order, lock sections and adjust cut type (hard cut / fade / 0.6 s crossfade).

interactive

Project export

A custom .clara package (JSON + thumbnails) and a full PDF report — frames, flowchart, transcript, costs, parameters.

.claraPDF

Guided tour + advanced mode

A tour fires real actions in each panel; advanced mode reveals model selectors, prompts, keys and manual cuts.

progressive UX

1.2 · Product principles

Simple by default

Users don't see brands, models or keys on first contact. An "Advanced" toggle in the footer unlocks everything. "If it works, it should be invisible."

Chain with fallback

Each step tries the best available provider, then jumps to the next if a key is missing, a quota is hit, or the call fails. The last scene always finishes.

No forced server storage

Everything happens in the client. Keys live in localStorage; the project can be saved/loaded as a file. Privacy by architecture.

Own versioning scheme

Internal naming follows the semantic pattern clipm3d-antituna-v{MAJOR}.{MINOR}; every minor ships a new pipeline, every major publishes a new AI chain.

2 · Architecture

Everything lives in a single self-contained HTML file, with sections identified by id and switched via goTop(). The sidebar (.rail) and header (.top) are fixed; the main content is a stack of <section> blocks that hide each other.

2.1 · Shell (extracted from clipm3d-antituna-v0.12.html)

frame

rail · main grid with <aside class="rail"> on the left carrying 5 navigable buttons (Song, Lyrics, Scenes, Flow, Render) + shortcuts (Advanced, Tour) plus a header with brand + status chips + toggles.

screens

Seven sections: landing · preproc · dash-cancao · dash-letra · dash-storyboard · dash-fluxo · dash-render · dash-export. goTop(to) links the sidebar nav and the per-section "Tour" button.

state

A global STATE holds the audio, lyrics, project, clipes[], flowchart, UI preferences (advanced, tour, header auto-collapse) and per-provider API keys.

2.2 · UI components that appear on every screen

synced player

<audio> with currentTime used as master clock: flowchart transitions, lyric editing and rendering all use the same time.

drop-zones

One drop-zone for the audio and one for the visual reference, both using native DataTransfer — no server upload.

storyboard

Scene cards with start image + description, end image + description, per-scene video, model used and time spent.

SVG flowchart

Own SVG canvas with scene nodes and arrows (hard cut / fade / dissolve), drag-and-drop, reconnect and click-to-inspect.

guided tour

Step sequence called by runTour() that fires real actions in order (open panel, generate frames, open render, export).

global progress

Thin top bar that pulses green on each completed auto-pipeline step (pctProg / pctDone).

advanced mode (gating)

data-adv attribute on elements that exist in the DOM but only show when STATE.ui.adv === true. Two layouts are not needed.

exporter

.clara zip-like JSON package + PDF report rendered as HTML and converted via window.print() or html2canvas.

3 · Real pipeline (flowchart)

Sequence executed by the "Generate the full clip automatically" button or by the guided tour. Each block is a real JavaScript function from clipm3d-antituna-v0.12.html.

Intakeaudio · ref · description Pre-processingdecode → mono PCM → analysis Real audio analysisBPM · beats · sections · key Scene definitioncount · duration · cuts Lyrics (STT)Whisper · Gemini · Groq · WS Storyboarddescription per scene · ref locked Start image (AI)Gemini → Imagen → Pollinations → OpenAI End image (AI)img-to-img from start Per-scene videoSeedance · Wan · Kling · Hailuo · Veo · Grok Order / transitioneditable SVG flowchart Clip rendercanvas + MediaRecorder + captureStream Mix original audiovia <audio>.captureStream() Exact clip durationtruncated to song length Project export.clara · JSON · SRT · MD · CSV PDF reportimages · flowchart · costs Save / loadlocalStorage + file Error / visible fallbacktoast + chips + log

The runAuto() function in the code orchestrates exactly this sequence: analyzeAudioNow() → transcribeWhisper/Gemini/Groq/WebSpeech (via router) → buildSections() · buildClipes() · orderScenes() → genImageSmart() per scene (start/end) → genVideoForClip() per scene → renderFinal().

4 · STT / lyrics chain (flowchart)

Function transcribeRouter(): tries providers in the order below; the first one that returns valid lines wins, and the UI surfaces which one delivered.

Audio loadedAUD_BLOB Whisper (OpenAI)whisper-1 · en Gemini (Google)transcribeGemini() Groq Whisperwhisper-large-v3-turbo Web SpeechMediaRecorder (browser) Structure locallysections + timestamps Lines with timestamps · mapped onto synced player
Why this order? Whisper tends to be the most stable on PT-BR (and many languages) with timestamps. Gemini is a great alternative with cheaper multimodal quota. Groq is fast and cheap for clean vocals. Web Speech is the last resort: it depends on the browser.

5 · Per-scene image chain (flowchart)

Function genImageSmart(prompt, ratio, model): for each scene, it generates the start image first, then the end image from the start image (img-to-img). The second step uses heavy weights to keep the character.

Scene descriptionprompt + ref + style 1) Gemini Flash Imagegemini-2.5-flash-image 2) Imagen 4imagen-4.0-generate-001 3) Pollinationsflux · nano-banana · gpt-image 4) OpenAI GPT-image-1gpt-image-1 Chosenok / fallback End image (img-to-img)uses start image as reference Different model than startto vary transition texture Locked per characteruploaded ref preserved

Each attempt is recorded in c.viaImg and the global progress bar pulses; the toast indicates which provider delivered. Keys missing are skipped silently.

6 · Per-scene video chain (flowchart)

Function genVideoForClip(clip): calls the configured model via Pollinations, with fallback controlled by STATE.cfg.vid. The generated video becomes the scene's own animation.

Frame (start + end)i2v Seedance 2 fast720p · 4 s Seedance 2.51080p · with audio Wan 2.7720p Kling O3standard / pro Hailuominimax/h3 Veo / Grok720p+ Scene video ready · enters final canvas

7 · Final concatenation and clip

Function renderFinal(): draws a <canvas> the size of the project, positions each scene video at the right time, performs transitions according to the flowchart edge type (hard cut, fade-through-black, 0.6 s crossfade) and records the result via MediaRecorder. Audio is captured from the same <audio> element with captureStream() and mixed into the final track. Recording duration is locked to the song's length (cut if it overruns).

Exact sync

The master clock is audioContext.currentTime: if the canvas lags, it gains speed; if it leads, it holds until the audio catches up. There is never drift.

Audio preserved

The "audio" of the final clip is a MediaStreamAudioDestinationNode built on top of the same AudioBufferSourceNode playing in the UI. Nothing is re-encoded.

Same FPS as the project

MediaRecorder runs at the configured FPS (24 or 30). Resolution comes from the project (1280×720, 1920×1080, 1080×1920).

8 · Average per-API costs (all verified in this session via batch_web_search)

Table updated on 2026-09-18. When the provider publishes pricing in tokens, we show the equivalent conversion for 1 image at 1024×1024 or 1 second of video. Currency: USD unless explicitly stated.

StepProviderModelUnitAvg costSource
STTOpenAIwhisper-1audio minute$0.006≈ $0.36/h of transcribed audiobrasstranscripts · diyai.io
STTGroqwhisper-large-v3-turboaudio hour$0.04up to 12× cheaper than OpenAI Whisperspheron.network · console.groq.com
STTElevenLabsScribe v2audio hour$0.22Enterprise closes below $0.40 with volumeelevenlabs.io
ImageGoogleGemini 2.5 Flash Imageimage 1024×1024$0.0391120 tokens · $30 / 1M image-output tokensai.google.dev · aifreeapi.com
ImageGoogleImagen 4 Fastimage$0.02Standard $0.04 · Ultra $0.06cloud.google.com
ImageGoogleImagen 4 Ultraimage 2K$0.06Upscaling on Imagen 4 is separatecloud.google.com
ImageOpenAIGPT-image-1image$0.04 – $0.25depends on quality; deprecated 2026-10-23OpenAI API docs · costgoat.com
ImageOpenAIGPT-image-1 Miniimage$0.005 – $0.052budget optioncostgoat.com
ImagePollinationsflux · nano-banana · gpt-imageimagefree + Pollengenerous free tier; Pollen in paid betapollinations.ai · terms
VideoBytedanceSeedance 2.0 Fastsecond (480p–720p)$0.022 – $0.10Atlas Cloud Fast $0.022/s · piapi.ai $0.10/s 720patlascloud.ai · piapi.ai
VideoBytedanceSeedance 2.0 Standardsecond (1080p)$0.201080p standardpiapi.ai
VideoAlibabaWan 2.5 i2v / Wan 2.7second (720p)$0.065 – $0.15Alibaba ModelStudio SG $0.15/s (90 d trial)aimlapi · alibabacloud
VideoKuaishouKling O3 / 3.0 standardsecond$0.075 – $0.14turbo native-audio $0.112/skling.ai · evolink.ai
VideoGoogleVeo 3.1 Fast / Litesecond (720p)$0.03 – $0.15Standard $0.40/s with audiocostgoat.com · aifreeapi.com
On-demand GPUReplicateH100 / A100 / T4 / CPUGPU second$0.001525 / $0.0014 / $0.000225 / $0.000025FLUX ≈ $0.0005/image typicalreplicate.com

8.1 · Fixed monthly costs (infrastructure / processing)

ItemPlanCostSource
HostingVercel Pro$20 / month per seat + $20 usage credit includedvercel.com/pricing
StorageCloudflare R2 Standard$0.015 / GB-month · zero egresscloudflare.com/r2
Payments (BR)Stripe · domestic card3.99% + R$ 0.39 per transactionstripe.com/en-br
Payments (BR)Stripe · Pix / boleto (annual)5.99% + R$ 0.45 per transaction (promo: 2.9% + R$ 0.30 first month)stripe.com
PaymentsStripe · international card2.9% + $0.30 · +1.5% international · +1% if currency conversionstripe.com/pricing

9 · Per-clip cost calculator (client-side)

Change the fields below to estimate the direct AI API cost per clip. Assumes 1 start image + 1 end image per scene + 1 video per scene at target duration + 1 transcription.

This calculator is a local estimate and does not call any real APIs. Use it as a starting point for your monthly cost plan.

10 · Keys & licenses

antituna 0.12 stores API keys in localStorage under the m3d-pro:keys namespace. All are used straight from the browser — there is no proxy on our side. That means, when you publish the app, users need to know that every key they provide is called from their own client, and we neither store nor see it.

ProviderVariableWhere it is used
OpenAIkeyOpenAIWhisper · DALL·E/GPT-image
Google AI StudiokeyGoogleGemini · Imagen
PollinationskeyPollFlux · nano-banana · flux-2-pro · seedream · kontext · seedance · wan · kling · hailuo · veo · grok
GroqkeyGroqWhisper Large v3 Turbo (cheap alternative)
"Key per user" policy: in the pre-monetization phase, every user provides their own keys (BYOK). When subscription monetization launches, we keep that mode as the free tier and offer a hosted tier with a shared key and included quotas — equivalent to an optional proxy server.

11 · Technical challenges to overcome (current vs target)

Each line derives from real code: the number in parentheses references clipm3d-antituna-v0.12.html.

11.1 · Multimodal chain latency

Today a 6-scene chain on Seedance Fast can take 4–6 min. To scale, we want a parallel pipeline with per-model queues and prompt caching. Current function: genImageSmart() is serial.

parallelizeper-model queuededup cache

11.2 · Character consistency across scenes

We keep the reference uploaded, but some providers (Flux/DALL-E) still miss face lock. We need to train or apply a per-user LoRA, or an IP-Adapter on every scene. Current: genImageSmart(prompt, ratio, model) passes the ref to every scene.

IP-Adapterface-idpersonal LoRA

11.3 · 1080p video cost at scale

Seedance 1080p at $0.20/s shreds margins. Mitigate with auto-selection: 720p for most scenes, 1080p only for key shots (intro, climax, finale).

adaptive resolutiondynamic tier

11.4 · Narrative consistency of lyrics

Lines come from the audio but don't always align with section starts. Implement align-to-beat using the beat grid to anchor phrases at strong markers.

lyrics-to-beatsforced align

11.5 · Multilingual translation (pt-BR ↔ es/en)

whLang accepts pt|en|es|.... Synchronized machine translation with timestamps is still done outside the app; it needs to become part of the pipeline for neighboring markets.

11.6 · Final render of long videos

MediaRecorder struggles above ~10 min in some browsers. Migrate to Streaming MP4 via mp4-muxer, or to a dedicated render server.

MSEmp4-muxerrender server

11.7 · Quota recovery / rate-limit

The chain fails and loses work on HTTP 429. Add exponential back-off, persistent queue and resume from the interrupted scene.

retry+jitterresume

11.8 · Output distribution & CDN

The clip is generated locally; for delivery we want a stable public URL. The current pipeline produces a Blob; we need to upload to Cloudflare R2 with a short key and access via signed public link.

R2 + signed URL

11.9 · User key privacy

BYOK in localStorage is safe in the user's browser, but we also want Web Crypto + passphrase for local key encryption in advanced mode.

crypto.subtlepassphrase derive

11.10 · A11y & mobile

The main layout is heavy on desktop. Simple mode already works on tablets; we still need to polish the storyboard preview on real mobile (≤ 420 px) and add keyboard shortcuts.

12 · Release roadmap

Pattern clipm3d-antituna-v{MAJOR}.{MINOR}. Each minor ships a pipeline increment. Each major reconfigures the AI chain to a new standard.

antituna 0.12 · current · Foundation

A unified studio, simple mode, automatic orchestration. Already ships a final clip with antituna's new visual identity.
img Gemini → Imagen → Poll → OpenAI
vid 8 opt-in models
stt 4 providers
codename antituna · 0.12

antituna 0.13 · Visual lock

Personal LoRA or IP-Adapter + face-id per user. Face/scene consistency across 6–10 scenes even when switching models.

antituna 0.14 · Parallelism & queue

Worker pool in the client, per-provider queue, dedup by prompt, resume after 429.

antituna 0.15 · Optional render server

For clips above 6 min and shared teams, offer a server render (Cloudflare Containers or Replicate provisioned).

antituna 0.16 · Multilingual & subtitles

Automatic subtitles in pt/es/en/fr aligned with the original audio + Neural translation. Synchronous "lyrics → beat → subtitle" pipeline.

antituna 0.17 · Assisted creative direction

An LLM director: chooses styles per section, proposes cuts, pre-edits visual scripts from the user's description. AI storyboard-style UI.

antituna 0.18 · Preset marketplace

Ready styles (cinematic, lo-fi, hype, animated, anime, VHS) by subscription. Marketplace of community-contributed LoRAs and flows.

antituna 0.19 · Mobile first

Version optimized for in-phone capture: record voice, pick theme, generate clip. Magic-link auth.

antituna 2.0 · Public studio

Public per-user project pages; embeds on sites; public API so other SaaS can integrate antituna.

Criteria for breaking minor → major

  • Default chain swap (e.g. Imagen stops being default, Nano-Banana becomes it).
  • New render paradigm (render server adoption, for instance).
  • Compatibility break in the .clara file (migration required).

13 · Marketing playbook

Strategy focused on music creators and small agencies, with a secondary line on content professionals and teachers. Thesis: the clip is the final delivered product, but the "wow" is the speed — "I sent the song, and 5 minutes later I have the clip".

Acquisition · Short-form content

Reels/TikTok/Shorts showing a 30 s before/after: the song, the storyboard forming, the finished clip. CTA to clip.m3d.pro. Hashtags: #studioai #musicvideo #aicreator.

TikTokReelsTwitter

Acquisition · Vertical communities

Producers in Ableton, SoundCloud, Bandcamp communities. Offer 3 free clips for authentic case studies. The studio is single-file = it even runs on the phone.

Acquisition · SEO & blog

Articles "How to generate an AI music video in 2026", "Seedance vs Wan vs Kling vs Veo — a comparison". Link to the cost calculator (section 9) to draw qualified traffic.

Activation · Guided tour

The "Generate the full clip automatically" button + 1-minute tour is our funnel. Reduces churn because the user walks away with a video.

Retention · Preset packs

Each preset (cinematic, lo-fi, anime, VHS) ships as a public .clara file. Users can remix and publish their own.

Referral · Credits per guest

"Refer an artist" program: 1 free full clip per converted referral. Cap at 5/month to prevent abuse.

Partners · Labels & publishers

"Indie Label" package: 50 clips/month for a small label, with custom watermark. B2B via info@m3d.pro.

Partner · Music schools

Education plan: clip as a didactic tool so students finalize songs. Billing by active students.

Branding · cypher.m3d.pro

All technical operations and R&D live at cypher.m3d.pro. The end-user product lives at clip.m3d.pro. The institutional layer (policy, contact, manifesto) is m3d.pro.

13.1 · Marketing & funnel flowchart

Top · Short contentReels · TikTok · SEO blog Acquisitionunique visitors / month Activation (1st run)3 free clips + tour Retention (≥3 clips/mo)presets · explore Revenue (subscription)free · pro · studio Active indicator1 month · ≥3 clips NPS · word-of-mouthNPS ≥ 50 B2B partnershiplabels · schools

14 · Monetization strategies

Hybrid model BYOK + subscription + B2B services. Free keeps the discovery engine; Pro captures anyone producing more than 5 clips/month; Studio serves agencies and labels.

14.1 · Free (BYOK)

User supplies their own keys. Limit: 5 clips/month (rate-limit per IP). No watermark. Revenue: 0. Strategy: funnel & retention.

$05 clips/mo

14.2 · Pro · $9 / month

BYOK remains. Includes: 30 clips/month, premium presets, per-user IP-Adapter, shared-quota priority (hosted model). Stripe/card/Pix billing.

$9/mo30 clipspriority

14.3 · Studio · $59 / month

B2B: 300 clips/month + dedicated render server + 3 team seats + public API + custom brand seal.

$59/mo300 clipsAPI

14.4 · Marketplace · 30% take rate

Community-built presets pay the author 30% (minimum $1 per sale). Payout via Stripe Connect.

30% sliceStripe Connect

14.5 · B2B · $300–$1,000 / month

Labels & publishers. Packages from 50 clips/month with 24 h SLA and optional human curation. Annual contract.

annualSLAcuration

14.6 · Branded clips · sponsorship

Brands sponsor themed preset packs (e.g. "Summer Glow" cinematic preset with sunset). Fixed revenue per season.

seasonalco-marketing

14.7 · Public API — usage-based

Studio/Enterprise consume the API per generated clip. Additional billing above the included package (~$0.25 per extra clip).

overage $0.25

14.8 · White-label · on quote

For production houses: custom-branded app, embedded in their own site. One-time setup + monthly fee.

one-time + monthly

14.9 · Margin ledger assumptions

ScenarioModelAvg API cost / clipTypical monthly revenueGross margin
Free BYOKImagen Fast + Seedance 720p(user pays)$0—
Typical ProImagen Fast + Seedance 720p≈ $0.55$9~94%
Heavy ProGemini Image + Veo Fast≈ $2.20$9~75%
Studio (Pro preset)weighted average≈ $0.90$59~98% (quota efficiency)
Numbers are for a 3.5 min clip, 6 scenes, 4 s/scene, 720p. Convert at the spot rate when closing.

15 · KPIs & goals

MAUunique monthly users with ≥1 generator session
Clips / MAUclips generated per month per user
Free→Pro conv.% upgrading within 30 days
CACacquisition cost — target < $14
LTVaverage revenue over 12 months
Pro churnmonthly cancellation rate — target < 7%
NPSpromoters − detractors — target ≥ 50
Time to 1st cliptarget ≤ 6 min from load to download

15.1 · Engineering KPIs

Pipeline success rate

% of clips generated without manual fallback. Target ≥ 92%.

p95 clip latency

Time from submission to download. Target ≤ 240 s for an average clip.

Rate-limit recovery

% of 429 calls that recover without intervention. Target ≥ 80%.

Avg cost / clip

Target: ≤ $1 for typical Pro; ≤ $2.2 for Studio.

Domain uptime

Target: 99.5% / year. Planned downtime outside peak hours.

Time to first meaningful render

Target: first visible preview in ≤ 60 s.

16 · Milestones & user tiers

Each milestone ties together (a) a technical achievement, (b) expected user counts, (c) KPIs that validate the leap, (d) marketing/monetization actions that trigger.

M0 · Pre-launch ~ 0 users

v12 + documentation + key lockdown + page governance.

Exit KPI: EVERYTHING documented; 5 alpha users have generated real clips.

Marketing/monetization: none — we listen to feedback.

M1 · Open beta ~ 50–200 users

v13 visual lock + clear BYOK onboarding + free Indie preset.

Exit KPI: 30% of monthly actives return within 7 days; NPS ≥ 35.

Action: launch Pro $9/month for early adopters at 20% off.

M2 · Public beta ~ 500–2,000 users

v14 parallelism + queue + optional render server; integration with SoundCloud, Bandcamp and Dropbox.

Exit KPI: p95 latency ≤ 4 min; free→Pro conversion ≥ 4%.

Action: first paid TikTok Ads campaign at $180/day for 30 days.

M3 · Commercial GA ~ 5,000–10,000 users

v15 render server in production + 2 new video models (Sora when available, Veo Standard); official preset packs.

Exit KPI: ARR ≥ $6,000 / month; Pro churn ≤ 7%.

Action: open Stripe/Pix BR; partner with 1 indie label.

M4 · Marketplace ~ 15,000–30,000 users

v18 marketplace + 50 community presets + authors paid via Stripe Connect.

Exit KPI: 100 active authors; 5% of revenue from the marketplace.

Action: co-marketing with 1 musical-instrument or audio-gear brand.

M5 · Mobile-first ~ 50,000–80,000 users

v19 mobile app with on-phone capture + magic-link auth + push of finished clips.

Exit KPI: 35% of clips come from mobile; mobile CAC ≤ $10.

Action: partner with App Store BR; feature in "Popular apps".

M6 · Internationalization ~ 100,000–200,000 users

v16 multilingual + expansion to es/en/pt-PT + adaptive rendering per market.

Exit KPI: ARR ≥ $80,000 / month; 25% of revenue outside BR.

Action: office in Portugal, first European B2B clients.

M7 · Platform & public API ~ 300,000+ users

v20 public API + JS/Python SDK + developer portal.

Exit KPI: 50 active integrators; B2B revenue ≥ 25% of ARR.

Action: quarterly public roadmap, Community Council.

17 · Scaling needs (linked to marketing + monetization)

What we must solve technically and operationally before each jump in the user table.

5,000–10,000 users

Tech: persistent server queue, per-provider queue, quota observability. Marketing: first structured paid campaign. Monetization: Stripe + recurring Pix.

15,000–30,000 users

Tech: scalable render server, third-party OAuth, anti-abuse. Marketing: referral program + aggressive SEO on how to make an AI music video. Monetization: Stripe Connect for marketplace.

50,000–80,000 users

Tech: mobile PWA + push, regional cache by country. Marketing: 1:1 with 2 creators over 100k; ads in 4 markets. Monetization: mobile-only plans (e.g. pay-as-you-go).

100,000–200,000 users

Tech: multi-region, controlled "shared quota" model, 24/7 AI + human support. Marketing: presence at music festivals (Rock in Rio, Lollapalooza BR). Monetization: Enterprise package + white-label.

300,000+ users

Tech: SRE, business continuity, provider migration plan if any is discontinued. Marketing: brand campaigns on TV + OOH in large cities. Monetization: optional equity round; ongoing M&A angels.

17.1 · Growing infrastructure cost by stage

StageTeamCloud / monthMarketing / monthTotal estimated / month
M0–M11–2 founders$40 cloud + R$ 50 R2 ≈ $200$0 (organic)≈ $550 (incl. tools)
M2 (2 k users)+1 eng +1 marketing$80 Vercel + R$ 200 R2 + Cloudflare glue ≈ $700$6,000 (TikTok Ads + creators)≈ $12,000
M3 (10 k users)+2 eng +1 support$200 Vercel Enterprise + $500 R2 + render server ≈ $2,000$12,000 (ads + 1 label)≈ $26,000
M5 (50 k users)8–12 staff$5,000$30,000≈ $70,000
M7 (300 k users)30+ staff$18,000$80,000≈ $180,000
These numbers are estimates, not projections; the final breakdown depends on SOWs with vendors. The "Revenue" line in the monetization section determines whether the runway holds — M7 target: previous-year net revenue > this month's cost.

17.2 · Core trade-off: visual quality vs video cost

At every scale step, the biggest margin lever is video. Today 6 scenes × 4 s × Seedance Fast 720p ≈ $0.53 per clip. Moving everything to Veo 3 Standard ≈ $7.20 per clip — unviable for the $9 Pro. The system must keep the intelligence of "which model is worth what, by scene, at which resolution". That is the piece v14–v15 ship as the optimization engine.

18 · Contact

Product & business

E-mail: info@m3d.pro

Product site: clip.m3d.pro

Parent brand: m3d.pro

Engineering & development

Tech site: cypher.m3d.pro

Manifesto: privacy by architecture, open versioning, open-source orchestrator code.

About the "Open current version" button: the cover-section link points to antituna 0.12 at http://clip.m3d.pro/version/ (it does not download the HTML app — it opens the running app). When you ship v0.13, just update the href on the button at #capa .cta .btn-primary, keeping target="_blank" rel="noopener".
✨ antituna · 0.12 · clip.m3d.pro 100% client-side · un solo HTML ES multimodal · audio → clip final

de la canción al videoclip ✨

ANTITUNA · 0.12 · clip.m3d.pro · por cypher.m3d.pro

Esta página documenta clip.m3d.pro — estudio web que recibe una canción (y, opcionalmente, una foto de referencia y una descripción) y devuelve un videoclip con la duración exacta de la música. Toda la cadena — análisis real del audio (BPM, golpes, secciones, tonalidad), extracción de la letra del propio audio por múltiples proveedores de STT, storyboard con cuadro inicial y final por escena, generación de imágenes y vídeos con IA, y concatenación sincronizada — se describe abajo con flujogramas, costos medios por API, roadmap de versionado, playbook de marketing y estrategias de monetización, con cuentas y KPIs por tramo de usuarios.

1 clip≈ 3–5 min (canción ≈ 3–4 min)
~ 6 escenascorte automático por la estructura de la canción
4 STTsWhisper · Gemini · Groq · Web Speech como respaldo
8+ modelos vídeoSeedance · Wan · Kling · Hailuo · Veo · Grok

1 · Visión general del proyecto

clip.m3d.pro es un estudio web single-file escrito en HTML + CSS + JavaScript puro, sin build, sin dependencia obligatoria de backend: todo corre en el navegador del usuario y las llamadas a las APIs de IA salen directamente del cliente con claves guardadas en localStorage. Esta edición lleva el nombre código antituna 0.12 dentro del dominio operativo clip.m3d.pro, bajo la marca m3d.pro y el desarrollo cypher.m3d.pro.

1.1 · Qué entrega el producto (desde el código real)

Recepción única

Una pantalla de entrada que acepta a la vez canción (mp3/wav/m4a/ogg), foto de referencia del personaje y descripción textual del clip. El pipeline arranca automáticamente.

drag&dropmodo simple

Análisis real del audio

Detección de BPM, golpes, cortes estructurales por novedad espectral y tonalidad, antes de generar cuadro alguno. Define el número de escenas y la duración de cada una.

análisis localdeterminístico

Letra extraída del propio audio

Multi-proveedor STT con cadena de respaldo Whisper → Gemini → Groq → Web Speech. Cada línea se etiqueta por sección y se alinea con el reproductor.

4 proveedorestimestamps

Storyboard con cuadro inicial y final

Cada escena recibe descripción de cuadro inicial y final, con la referencia bloqueada en todas, garantizando coherencia visual del personaje.

consistenciaimg-i→img-f

Generación multimodal en cadena

Imagen con cadena Gemini → Imagen → Pollinations → OpenAI y vídeo vía Pollinations enrutando a Seedance, Wan, Kling, Hailuo, Veo o Grok — todos opt-in.

fallback elegante

Clip final con duración de la canción

Concatenación sincronizada con la duración exacta de la música usando canvas + MediaRecorder + captureStream, capturando el audio desde el propio elemento <audio>.

sincronía exacta

Flujograma editable

El usuario puede reconectar escenas, cambiar el orden de las transiciones, bloquear secciones y ajustar el tipo de corte (corte seco / fade / crossfade 0,6 s).

interactivo

Exportación del proyecto

Paquete propio .clara (JSON + miniaturas) e informe PDF completo — fotogramas, flujograma, transcripción, costos, parámetros.

.claraPDF

Tour guiado + modo avanzado

Un tour dispara acciones reales en cada panel; el modo avanzado muestra selectores de modelo, prompts, claves y cortes manuales.

UX progresiva

1.2 · Principios de producto

Simple por defecto

El usuario no ve marcas, modelos ni claves en el primer contacto. Hay un interruptor "Avanzado" en el pie que lo desbloquea todo. "Si funciona, debería ser invisible."

Cadena con fallback

Cada etapa intenta el mejor proveedor disponible y pasa al siguiente si falta la clave, se agotó la cuota o falla la llamada. La última escena siempre termina.

Sin almacenamiento forzado en servidor

Todo ocurre en el cliente. Las claves viven en localStorage; el proyecto puede guardarse/cargarse como archivo. Privacidad por arquitectura.

Versionado propio

El naming interno sigue el patrón semántico clipm3d-antituna-v{MAJOR}.{MINOR}; cada minor entrega un pipeline nuevo, cada major publica una nueva cadena de IA.

2 · Arquitectura

Todo vive en un único archivo HTML autocontenido, con secciones identificadas por id y conmutadas por goTop(). La barra lateral (.rail) y el encabezado (.top) quedan fijos; el contenido principal es una pila de bloques <section> que se ocultan entre sí.

2.1 · Shell (extraído de clipm3d-antituna-v0.12.html)

frame

Layout grid rail · main con <aside class="rail"> a la izquierda con 5 botones navegables (Canción, Letra, Escenas, Flujo, Render) + recortes (Avanzado, Tour) y el encabezado con marca + chips de estado + toggles.

telas

Siete secciones: landing · preproc · dash-cancao · dash-letra · dash-storyboard · dash-fluxo · dash-render · dash-export. goTop(to) conecta la navegación lateral y el botón "Tour" de cada sección.

state

Un STATE global guarda el audio, la letra, el proyecto, clipes[], el flujograma, las preferencias de UI (avanzado, tour, header auto-plegable) y las claves de API por proveedor.

2.2 · Componentes de UI que aparecen en cualquier pantalla

reproductor sincronizado

<audio> con currentTime usado como reloj maestro: las transiciones del flujograma, la edición de letra y el render usan el mismo tiempo.

drop-zones

Una drop-zone para el audio y otra para la referencia visual, las dos con DataTransfer nativo — sin subida al servidor.

storyboard

Tarjetas de escena con imagen inicial + descripción, imagen final + descripción, vídeo por escena, modelo usado y tiempo invertido.

flujograma SVG

Lienzo SVG propio con nodos de escena y flechas (corte seco / fade / disolver), drag-and-drop, reconexión y clic para inspeccionar.

tour guiado

Secuencia de pasos llamada por runTour() que dispara acciones reales en orden (abrir panel, generar cuadros, abrir render, exportar).

progreso global

Barra superior fina que pulsa en verde en cada etapa completada del pipeline automático (pctProg / pctDone).

modo avanzado (gating)

Atributo data-adv en elementos que existen en el DOM pero solo se muestran si STATE.ui.adv === true. No hay dos layouts distintos.

exportador

Paquete .clara JSON tipo zip + informe PDF renderizado en HTML y convertido con window.print() o html2canvas.

3 · Pipeline real (flujograma)

Secuencia ejecutada por el botón "Generar el clip completo automáticamente" o por el tour guiado. Cada bloque es una función JavaScript real de clipm3d-antituna-v0.12.html.

Recepciónaudio · ref · descripción Pre-procesadodecode → mono PCM → análisis Análisis real del audioBPM · golpes · secciones · tono Definición de escenasnº escenas · duración · cortes Letra (STT)Whisper · Gemini · Groq · WS Storyboarddescripción por escena · ref bloqueada Imagen inicial (IA)Gemini → Imagen → Pollinations → OpenAI Imagen final (IA)img-to-img desde la inicial Vídeo por escenaSeedance · Wan · Kling · Hailuo · Veo · Grok Orden / transiciónflujograma SVG editable Render del clipcanvas + MediaRecorder + captureStream Mix audio originalvía <audio>.captureStream() Duración exacta del cliptruncado a la duración de la canción Exportación del proyecto.clara · JSON · SRT · MD · CSV Informe PDFimágenes · flujograma · costos Guardar / cargarlocalStorage + archivo Error / fallback visibletoast + chips + log

La función runAuto() del código orquesta exactamente esta secuencia: analyzeAudioNow() → transcribeWhisper/Gemini/Groq/WebSpeech (vía router) → buildSections() · buildClipes() · orderScenes() → genImageSmart() por escena (inicio y fin) → genVideoForClip() por escena → renderFinal().

4 · Cadena de STT / extracción de letra (flujograma)

Función transcribeRouter(): prueba en el orden de abajo; el primero que devuelva líneas válidas gana, y la UI muestra cuál fue.

Audio cargadoAUD_BLOB Whisper (OpenAI)whisper-1 · es Gemini (Google)transcribeGemini() Groq Whisperwhisper-large-v3-turbo Web SpeechMediaRecorder (navegador) Estructurar localmentesecciones + timestamps Líneas con timestamps · aplicadas al reproductor sincronizado
¿Por qué este orden? Whisper suele ser el más estable en español/PT-BR con timestamps. Gemini es una gran alternativa con una cuota multimodal más barata. Groq es rápido y barato para voces limpias. Web Speech es el último recurso: depende del navegador.

5 · Cadena de imagen por escena (flujograma)

Función genImageSmart(prompt, ratio, model): para cada escena genera primero la imagen inicial, luego la imagen final desde la inicial (img-to-img). El segundo paso usa pesos altos para conservar al personaje.

Descripción de la escenaprompt + ref + estilo 1) Gemini Flash Imagegemini-2.5-flash-image 2) Imagen 4imagen-4.0-generate-001 3) Pollinationsflux · nano-banana · gpt-image 4) OpenAI GPT-image-1gpt-image-1 Elegidaok / fallback Imagen final (img-to-img)usa la imagen inicial como referencia Modelo distinto de la inicialpara variar la textura de la transición Bloqueada por personajeref subida conservada

Cada intento se registra en c.viaImg y la barra de progreso global parpadea; el toast indica qué proveedor entregó. Las claves ausentes se saltan silenciosamente.

6 · Cadena de vídeo por escena (flujograma)

Función genVideoForClip(clip): llama al modelo configurado vía Pollinations, con fallback controlado por STATE.cfg.vid. El vídeo generado entra como la animación propia de la escena.

Cuadro (inicial + final)i2v Seedance 2 fast720p · 4 s Seedance 2.51080p · con audio Wan 2.7720p Kling O3standard / pro Hailuominimax/h3 Veo / Grok720p+ Vídeo listo de la escena · entra en el canvas final

7 · Concatenación final y clip

Función renderFinal(): dibuja un <canvas> del tamaño del proyecto, ubica cada vídeo de escena en el instante correcto, ejecuta transiciones según el tipo de arista del flujograma (corte seco, fade-a-negro, crossfade 0,6 s) y graba el resultado con MediaRecorder. El audio se captura desde el propio <audio> con captureStream() y se mezcla en la pista final. La duración de la grabación se bloquea en la duración de la canción (corte si la supera).

Sincronía exacta

El reloj maestro es audioContext.currentTime: si el canvas va atrasado, gana velocidad; si va adelantado, se detiene hasta que el audio lo alcance. Nunca hay deriva.

Audio preservado

El "audio" del clip final es un MediaStreamAudioDestinationNode construido sobre el mismo AudioBufferSourceNode que suena en la UI. Nada se re-codifica.

Mismo FPS del proyecto

El MediaRecorder corre al FPS configurado (24 o 30). La resolución sale del proyecto (1280×720, 1920×1080, 1080×1920).

8 · Costos medios por API (verificados en esta sesión vía batch_web_search)

Tabla actualizada el 2026-09-18. Cuando el proveedor publica precios en tokens, mostramos la conversión equivalente para 1 imagen 1024×1024 o 1 segundo de vídeo. Moneda: USD salvo indicación explícita.

EtapaProveedorModeloUnidadCosto medioFuente
STTOpenAIwhisper-1minuto de audio$0,006≈ $0,36/h de audio transcritobrasstranscripts · diyai.io
STTGroqwhisper-large-v3-turbohora de audio$0,04hasta 12× más barato que OpenAI Whisperspheron.network · console.groq.com
STTElevenLabsScribe v2hora de audio$0,22Enterprise cierra por debajo de $0,40 con volumenelevenlabs.io
ImagenGoogleGemini 2.5 Flash Imageimagen 1024×1024$0,0391120 tokens · $30 / 1M tokens image-outputai.google.dev · aifreeapi.com
ImagenGoogleImagen 4 Fastimagen$0,02Standard $0,04 · Ultra $0,06cloud.google.com
ImagenGoogleImagen 4 Ultraimagen 2K$0,06Upscaling en Imagen 4 apartecloud.google.com
ImagenOpenAIGPT-image-1imagen$0,04 – $0,25según calidad; deprecación 2026-10-23OpenAI API docs · costgoat.com
ImagenOpenAIGPT-image-1 Miniimagen$0,005 – $0,052opción de bajo costocostgoat.com
ImagenPollinationsflux · nano-banana · gpt-imageimagengratis + Pollentier gratuito generoso; Pollen en beta de pagopollinations.ai · terms
VídeoBytedanceSeedance 2.0 Fastsegundo (480p–720p)$0,022 – $0,10Atlas Cloud Fast $0,022/s · piapi.ai $0,10/s 720patlascloud.ai · piapi.ai
VídeoBytedanceSeedance 2.0 Standardsegundo (1080p)$0,201080p estándarpiapi.ai
VídeoAlibabaWan 2.5 i2v / Wan 2.7segundo (720p)$0,065 – $0,15Alibaba ModelStudio SG $0,15/s (prueba 90 d)aimlapi · alibabacloud
VídeoKuaishouKling O3 / 3.0 standardsegundo$0,075 – $0,14turbo native-audio $0,112/skling.ai · evolink.ai
VídeoGoogleVeo 3.1 Fast / Litesegundo (720p)$0,03 – $0,15Standard $0,40/s con audiocostgoat.com · aifreeapi.com
GPU bajo demandaReplicateH100 / A100 / T4 / CPUsegundo de GPU$0,001525 / $0,0014 / $0,000225 / $0,000025FLUX ≈ $0,0005/imagen típicareplicate.com

8.1 · Costos fijos mensuales (infra / procesamiento)

ÍtemPlanCostoFuente
HostingVercel Pro$20 / mes por seat + $20 de crédito de uso incluidovercel.com/pricing
AlmacenamientoCloudflare R2 Standard$0,015 / GB-mes · egress cerocloudflare.com/r2
Pagos (BR)Stripe · tarjeta doméstica3,99 % + R$ 0,39 por transacciónstripe.com/en-br
Pagos (BR)Stripe · Pix / boleto anual5,99 % + R$ 0,45 por transacción (1 mes promo 2,9 % + R$ 0,30)stripe.com
PagosStripe · tarjeta internacional2,9 % + $0,30 · +1,5 % internacional · +1 % si hay conversión de monedastripe.com/pricing

9 · Calculadora de costo por clip (lado cliente)

Cambia los campos abajo para estimar el costo directo en APIs de IA por clip. Considera 1 imagen inicial + 1 imagen final por escena + 1 vídeo por escena a la duración objetivo + 1 transcripción.

Esta calculadora es una estimación local y no consulta APIs reales. Úsala como punto de partida para el plan de costo del mes.

10 · Claves y licencias

antituna 0.12 guarda las claves de API en localStorage (categoría m3d-pro:keys). Se usan directamente desde el navegador — no hay proxy de nuestro lado. Eso significa que, al publicar la app, el usuario debe saber que cada clave que aporte se llama desde su propio cliente, y nosotros ni la almacenamos ni la vemos.

ProveedorVariableDónde se usa
OpenAIkeyOpenAIWhisper · DALL·E/GPT-image
Google AI StudiokeyGoogleGemini · Imagen
PollinationskeyPollFlux · nano-banana · flux-2-pro · seedream · kontext · seedance · wan · kling · hailuo · veo · grok
GroqkeyGroqWhisper Large v3 Turbo (alternativa económica)
Política de "clave por usuario": en la fase previa a la monetización, cada usuario aporta sus propias claves (BYOK). Cuando lancemos la monetización por suscripción, mantenemos este modo como nivel gratuito y ofrecemos un nivel alojado con clave compartida y cuotas incluidas — equivalente a un servidor proxy opcional.

11 · Necesidades técnicas por superar (estado actual vs deseado)

Cada línea deriva del código real: el número entre paréntesis referencia clipm3d-antituna-v0.12.html.

11.1 · Latencia de la cadena multimodal

Hoy una cadena de 6 escenas con Seedance Fast puede tomar 4–6 min. Para escalar queremos pipeline paralelo con cola por modelo y caché de prompts. Función actual: genImageSmart() es serie.

paralelizarcola por modelocaché dedup

11.2 · Consistencia del personaje entre escenas

Mantenemos la referencia cargada, pero algunos proveedores (Flux/DALL-E) aún no garantizan face lock. Hay que entrenar o usar un LoRA por usuario o un IP-Adapter aplicado en cada escena. Función actual: genImageSmart(prompt, ratio, model) pasa la ref a todas las escenas.

IP-Adapterface-idLoRA personal

11.3 · Coste de vídeo 1080p a escala

Seedance 1080p a $0,20/s destruye el margen. Mitigar con selección automática: 720p para la mayoría, 1080p solo en las escenas clave (intro, clímax, final).

resolución adaptativatier dinámico

11.4 · Coherencia narrativa de la letra

Las líneas vienen del audio pero no siempre encajan con el inicio de la sección. Implementar align-to-beat usando la rejilla de golpes para anclar frases en marcadores fuertes.

letra-al-beatforced align

11.5 · Traducción multilingüe (pt-BR ↔ es/en)

whLang acepta pt|en|es|.... La traducción automática sincronizada con timestamps aún se hace fuera de la app; debe pasar a ser parte del pipeline para mercados vecinos.

11.6 · Render final con archivos largos

MediaRecorder se comporta mal por encima de ~10 min en algunos navegadores. Migrar a Streaming MP4 con mp4-muxer o a un servidor de render dedicado.

MSEmp4-muxerrender server

11.7 · Recuperación de cuota / rate-limit

La cadena cae y pierde el trabajo en HTTP 429. Implementar back-off exponencial, cola persistente y reanudación desde la escena interrumpida.

retry+jitterresume

11.8 · Distribución y CDN de salida

El clip se genera local; para la entrega queremos una URL pública estable. El pipeline actual produce un Blob; hay que subirlo a Cloudflare R2 con clave corta y acceder vía enlace público firmado.

R2 + URL firmada

11.9 · Privacidad de las claves del usuario

BYOK en localStorage es seguro en el navegador del usuario, pero también queremos Web Crypto + passphrase para cifrar localmente las claves en modo avanzado.

crypto.subtlepassphrase derive

11.10 · A11y y móvil

El layout principal es pesado en desktop. El modo simple ya funciona en tablets; falta pulir el preview del storyboard en móvil real (≤ 420 px) y añadir atajos de teclado.

12 · Roadmap de versionado

Patrón clipm3d-antituna-v{MAJOR}.{MINOR}. Cada minor entrega un incremento del pipeline. Cada major reconfigura la cadena de IA para un nuevo estándar.

antituna 0.12 · actual · Foundation

Enfoque en un estudio unificado, modo simple, orquestación automática. Ya entrega el clip final, con la nueva identidad visual de antituna.
img Gemini → Imagen → Poll → OpenAI
vid 8 modelos opt-in
stt 4 proveedores
codinome antituna · 0.12

antituna 0.13 · Lock visual

LoRA personal o IP-Adapter + face-id por usuario. Consistencia de rostro y escenario entre 6–10 escenas incluso con cambios de modelo.

antituna 0.14 · Paralelismo y cola

Worker pool en el cliente, cola por proveedor, dedup por prompt, reanudación tras 429.

antituna 0.15 · Render server opcional

Para clips de más de 6 min y equipos compartidos, ofrecer render servidor (Cloudflare Containers o Replicate aprovisionado).

antituna 0.16 · Multidioma y subtítulos

Subtítulos automáticos en pt/es/en/fr alineados con el audio original + traducción Neural. Pipeline "letra → beat → subtítulo" síncrono.

antituna 0.17 · Dirección creativa asistida

Un LLM director: elige estilos por sección, propone cortes y pre-edita guiones visuales según la descripción. UI estilo storyboard AI.

antituna 0.18 · Marketplace de presets

Estilos listos (cinematic, lo-fi, hype, animado, anime, VHS) por suscripción. Marketplace de LoRAs y flujos aportados por la comunidad.

antituna 0.19 · Mobile first

Versión optimizada para captura en el móvil: grabar voz, elegir tema, generar clip. Auth por magic link.

antituna 2.0 · Studio público

Página pública de proyectos por usuario; embeds en sitios; API pública para que otras SaaS integren antituna.

Criterios para romper minor → major

  • Cambio de cadena por defecto (ej.: Imagen deja de ser el estándar y entra Nano-Banana).
  • Nuevo paradigma de render (entrada de render server, por ejemplo).
  • Ruptura de compatibilidad del archivo .clara (obligamos a migrar).

13 · Playbook de marketing

Estrategia centrada en creadores musicales y agencias pequeñas, con línea secundaria en profesionales de contenido y profesores. Tesis: el clip es el producto final entregado, pero el "wow" es la velocidad — "envié la canción y 5 minutos después tengo el clip".

Captación · Contenido corto

Reels/TikTok/Shorts mostrando un before/after de 30 s: la canción, el storyboard formándose, el clip listo. CTA a clip.m3d.pro. Hashtags: #studioai #musicvideo #aicreator.

TikTokReelsTwitter

Captación · Comunidades verticales

Productores de Ableton, SoundCloud, Bandcamp. Ofrecer 3 clips gratuitos para casos de estudio auténticos. El estudio es single-file = corre hasta en el móvil.

Captación · SEO y blog

Artículos "Cómo generar un videoclip con IA en 2026", "Comparativa Seedance vs Wan vs Kling vs Veo". Enlazar a la calculadora de costo (sección 9) como anzuelo de tráfico cualificado.

Activación · Tour guiado

El botón "Generar el clip completo automáticamente" + tour de 1 minuto es nuestro embudo. Reduce el churn porque el usuario sale con un vídeo en la mano.

Retención · Preset packs

Cada preset (cinematic, lo-fi, anime, VHS) se entrega como archivo .clara público. El usuario puede remixar y publicar el suyo.

Referral · Créditos por invitado

Programa "Refiere a un artista": 1 clip completo gratis por cada referida que convierta. Tope de 5/mes para evitar abuso.

Partners · Sellos y editoriales

Paquete "Sello Indie": 50 clips/mes para un sello pequeño, con marca de agua personalizada. B2B vía info@m3d.pro.

Alianza · Escuelas de música

Plan educativo: el clip como herramienta didáctica para que los alumnos finalicen canciones. Cobro por alumno activo.

Branding · cypher.m3d.pro

Toda la operación técnica y R&D vive en cypher.m3d.pro. El producto final del usuario vive en clip.m3d.pro. La capa institucional (política, contacto, manifiesto) es m3d.pro.

13.1 · Flujograma de marketing y embudo

Top · Contenido cortoReels · TikTok · blog SEO Captaciónvisitantes únicos / mes Activación (1ª ejecución)3 clips grátis + tour Retención (≥3 clips/mes)presets · exploración Ingresos (suscripción)free · pro · studio Indicador activo1 mes · ≥3 clips NPS · boca a bocaNPS ≥ 50 Alianza B2Bsellos · escuelas

14 · Estrategias de monetización

Modelo híbrido BYOK + suscripción + servicios B2B. El free sostiene el motor de descubrimiento; el Pro captura a quienes hacen más de 5 clips al mes; el Studio atiende a agencias y sellos.

14.1 · Free (BYOK)

El usuario aporta sus claves. Límite: 5 clips/mes (rate-limit por IP). Sin marca de agua. Ingresos: 0. Estrategia: embudo y retención.

$05 clips/mes

14.2 · Pro · $9 / mes

BYOK se mantiene. Incluye: 30 clips/mes, presets premium, IP-Adapter por usuario, prioridad de cuota compartida (modelo alojado). Cobro Stripe/tarjeta/Pix.

$9/mes30 clipsprioridad

14.3 · Studio · $59 / mes

B2B: 300 clips/mes + render server dedicado + 3 miembros en el equipo + API pública + sello de marca personalizada.

$59/mes300 clipsAPI

14.4 · Marketplace · take rate 30 %

Los presets creados por la comunidad reportan 30 % al autor (mínimo $1 por venta). Pago vía Stripe Connect.

30 % al autorStripe Connect

14.5 · B2B · $300–$1.000 / mes

Sellos y editoriales. Paquetes desde 50 clips/mes con SLA de 24 h y curación humana opcional. Contrato anual.

anualSLAcuración

14.6 · Branded clips · patrocinio

Las marcas patrocinan paquetes de presets temáticos (ej.: "Verano Vibes" — preset cinematográfico con atardecer). Ingreso fijo por temporada.

temporadaco-marketing

14.7 · API pública — por uso

Studio/Enterprise consumen la API por clip generado. Cobro adicional sobre el paquete incluido (~$0,25 por clip extra).

sobrecupo $0,25

14.8 · White-label · bajo consulta

Para productoras: app a medida con la marca del cliente, embebido en su propio sitio. Ingreso único de setup + mensualidad.

único + mensual

14.9 · Supuestos para la cuenta de margen

EscenarioModeloCosto medio API por clipIngreso mensual típicoMargen bruto
Free BYOKImagen Fast + Seedance 720p(lo paga el usuario)$0—
Pro típicoImagen Fast + Seedance 720p≈ $0,55$9~94 %
Pro intensivoGemini Image + Veo Fast≈ $2,20$9~75 %
Studio (ajuste Pro)media ponderada≈ $0,90$59~98 % (eficiencia de cuota)
Cifras para un clip de 3,5 min, 6 escenas, 4 s/escena, 720p. Ajustar al tipo de cambio vigente al cierre.

15 · KPIs y metas

MAUusuarios únicos mensuales con ≥1 sesión generator
Clips / MAUclips generados al mes por usuario
Conv. free→Pro% que se suscribe en 30 días
CACcosto de adquisición — meta < $14
LTVingreso medio en 12 meses
Churn Pro% mensual que cancela — meta < 7 %
NPSpromotores − detractores — meta ≥ 50
Tiempo al 1er clipmeta ≤ 6 min desde la carga hasta la descarga

15.1 · KPIs operativos de ingeniería

Tasa de éxito del pipeline

% de clips generados sin fallback manual. Meta ≥ 92 %.

p95 de latencia del clip

Tiempo entre envío y descarga. Meta ≤ 240 s para clip medio.

Recuperación de rate-limit

% de llamadas 429 que se recuperan sin intervención. Meta ≥ 80 %.

Costo medio / clip

Meta: ≤ $1 en Pro típico; ≤ $2,2 en Studio.

Uptime del dominio

Meta: 99,5 % anual. Caídas planificadas fuera de horario pico.

Tiempo al 1er render significativo

Meta: primera vista previa visible en ≤ 60 s.

16 · Milestones y rangos de usuarios

Cada milestone ata (a) hito técnico, (b) número esperado de usuarios, (c) KPIs que validan el salto, (d) acciones de marketing/monetización que dispara.

M0 · Pre-lanzamiento ~ 0 usuarios

v12 + documentación + bloqueo de claves + governanza de páginas.

KPI de salida: TODO documentado; 5 usuarios alfa han generado clips reales.

Acción marketing/monetización: ninguna — escuchamos feedback.

M1 · Beta abierta ~ 50–200 usuarios

v13 lock visual + onboarding BYOK claro + preset Indie gratuito.

KPI de salida: 30 % de activos mensuales vuelven en 7 días; NPS ≥ 35.

Acción: lanzar Pro $9/mes para early adopters con 20 % de descuento.

M2 · Public beta ~ 500–2.000 usuarios

v14 paralelismo + cola + render server opcional; integración con SoundCloud, Bandcamp y Dropbox.

KPI de salida: p95 de latencia ≤ 4 min; conversión free→Pro ≥ 4 %.

Acción: primera campaña de pago de TikTok Ads a $180/día durante 30 días.

M3 · GA comercial ~ 5.000–10.000 usuarios

v15 render server en producción + 2 modelos nuevos de vídeo (Sora cuando esté disponible, Veo Standard); packs oficiales de presets.

KPI de salida: ARR ≥ $6.000 / mes; churn Pro ≤ 7 %.

Acción: abrir Stripe/Pix BR; alianza con 1 sello indie.

M4 · Marketplace ~ 15.000–30.000 usuarios

v18 marketplace + 50 presets comunitarios + autores pagados vía Stripe Connect.

KPI de salida: 100 autores activos; 5 % del ingreso viene del marketplace.

Acción: co-marketing con 1 marca de instrumentos musicales o equipo de audio.

M5 · Mobile first ~ 50.000–80.000 usuarios

v19 app móvil con captura en el teléfono + auth por magic link + push de clips listos.

KPI de salida: 35 % de los clips vienen del móvil; CAC móvil ≤ $10.

Acción: alianza con App Store BR; destacado en "Apps populares".

M6 · Internacionalización ~ 100.000–200.000 usuarios

v16 multilingüe + expansión a es/en/pt-PT + render adaptativo por mercado.

KPI de salida: ARR ≥ $80.000 / mes; 25 % del ingreso fuera de Brasil.

Acción: oficina en Portugal, primeros clientes B2B europeos.

M7 · Plataforma y API pública ~ 300.000+ usuarios

v20 API pública + SDK JS/Python + portal de desarrolladores.

KPI de salida: 50 integradores activos; ingreso B2B ≥ 25 % de la ARR.

Acción: roadmap público trimestral, Consejo Comunitario.

17 · Necesidades para escalar (vinculado a marketing + monetización)

Qué hay que resolver técnica y operativamente antes de cada salto en la tabla de usuarios.

5.000–10.000 usuarios

Técnico: cola persistente en el servidor, cola por proveedor, observabilidad de cuota. Marketing: primera campaña de pago estructurada. Monetización: Stripe + Pix recurrente.

15.000–30.000 usuarios

Técnico: render server escalable, OAuth por aplicación de terceros, anti-abuso. Marketing: programa de referral + SEO agresivo en cómo hacer un videoclip con IA. Monetización: Stripe Connect para el marketplace.

50.000–80.000 usuarios

Técnico: mobile PWA + push, caché regional por país. Marketing: 1:1 con 2 creators sobre 100 k; anuncios en 4 mercados. Monetización: planes solo móvil (ej. pay-as-you-go).

100.000–200.000 usuarios

Técnico: multi-región, modelo de "shared quota" controlado, soporte 24/7 IA + humano. Marketing: presencia en festivales de música (Rock in Rio, Lollapalooza BR). Monetización: paquete Enterprise + white-label.

300.000+ usuarios

Técnico: SRE, business continuity, plan de migración de proveedores si alguno se discontinúa. Marketing: brand campaigns en TV + OOH en grandes ciudades. Monetización: ronda de equity opcional; conversaciones de M&A en curso.

17.1 · Coste de infraestructura creciente por etapa

EtapaEquipoCloud / mesMarketing / mesTotal estimado / mes
M0–M11–2 fundadores$40 cloud + R$ 50 R2 ≈ $200$0 (orgánico)≈ $550 (incl. herramientas)
M2 (2 k usuarios)+1 eng +1 marketing$80 Vercel + R$ 200 R2 + pegamento Cloudflare ≈ $700$6.000 (TikTok Ads + creators)≈ $12.000
M3 (10 k usuarios)+2 eng +1 soporte$200 Vercel Enterprise + $500 R2 + render server ≈ $2.000$12.000 (Ads + 1 sello)≈ $26.000
M5 (50 k usuarios)8–12 personas$5.000$30.000≈ $70.000
M7 (300 k usuarios)30+ personas$18.000$80.000≈ $180.000
Estas cifras son estimaciones, no proyecciones; el detalle final depende de los SOW con proveedores. La línea "Ingresos" de la sección de monetización determina si el runway se sostiene — meta de M7: ingresos netos del año anterior > costo mensual del mes.

17.2 · Equilibrio central: calidad visual vs coste de vídeo

En cada salto de escala, la palanca de margen más grande es el vídeo. Hoy 6 escenas × 4 s × Seedance Fast 720p ≈ $0,53 por clip. Subir todo a Veo 3 Standard ≈ $7,20 por clip — inviable para el Pro a $9. El sistema debe mantener la inteligencia de "qué modelo vale cuánto, por escena, en qué resolución". Esa es la pieza que v14–v15 entregan como motor de optimización.

18 · Contacto

Producto y negocio

E-mail: info@m3d.pro

Sitio del producto: clip.m3d.pro

Marca matriz: m3d.pro

Ingeniería y desarrollo

Sitio técnico: cypher.m3d.pro

Manifiesto: privacidad por arquitectura, versionado abierto, código del orquestrador open-source.

Sobre el botón "Abrir versión actual": el enlace de portada apunta a antituna 0.12 en http://clip.m3d.pro/version/ (no descarga el HTML de la app — abre la app corriendo). Cuando publiques la 0.13, basta con actualizar el href del botón en #capa .cta .btn-primary, manteniendo target="_blank" rel="noopener".