Video comercial pipeline
Skill fercarvalho/video-comercial-pipeline/skills/video-comercial-pipeline
Pipeline completo para transformar um vídeo bruto (screen recording, gravação de produto) em um vídeo comercial finalizado com narração profissional (ElevenLabs) e motion graphics (Remotion), com portões de aprovação humana em cada etapa. Use esta skill SEMPRE que o usuário enviar um vídeo e mencionar criar comercial, vídeo de vendas, narração, locução, vídeo institucional, motion graphics, ou pedir para "rodar o pipeline de vídeo" — mesmo que ele não cite as ferramentas explicitamente.From its SKILL.md
npx -y skills add fercarvalho/video-comercial-pipeline --skill video-comercial-pipelineAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.3 KB, as published. Nobody here has run it
Pipeline de Vídeo Comercial (Vídeo → Roteiro → Narração → Remotion)
Fluxo human-in-the-loop em 7 etapas com aprovação explícita do usuário entre cada uma. NUNCA pule um portão de aprovação. NUNCA avance sem o "aprovado" do usuário. Após cada entrega, pergunte se ele aprova ou quer mudanças.
Pré-requisitos (verificar na Etapa 0)
- MCP da ElevenLabs disponível (se não estiver:
claude mcp addou configurar no cliente) - Skill do Remotion instalada (para as etapas 5-7)
- ffmpeg disponível no ambiente
- Conta ElevenLabs com plano pago (Starter+) se for usar vozes da biblioteca via API (conta free NÃO gera vozes da biblioteca via API — apenas pelo site)
Etapa 0 — Receber proposta + vídeo
Inputs: arquivo de vídeo + proposta/briefing do usuário (o que vende, tom, público). Se faltar a proposta, pergunte: produto/serviço, objetivo (vender/educar/lançar), tom desejado.
Analise o vídeo:
ffprobe -v error -show_entries format=duration -show_entries stream=codec_type,width,height -of default=noprint_wrappers=1 VIDEO.mp4
mkdir -p frames && ffmpeg -v error -i VIDEO.mp4 -vf "fps=1/5,scale=400:-1" frames/f_%02d.jpg
Monte montagens das frames (montage, tile 5x2) e VISUALIZE-as para entender o conteúdo cena a cena. Verifique se o vídeo tem áudio relevante (volumedetect; mean_volume < -60dB = mudo). Anote: timestamps das cenas, elementos de marca (cores hex das telas), números/dados exibidos.
Etapa 1 — Gerar roteiro de narração [PORTÃO 1]
Escreva o roteiro sincronizado com as cenas do vídeo, com timestamps por bloco. Ritmo: ~2,5 palavras/segundo em PT-BR para tom comercial. Aplique desde já as regras de escrita para TTS (leia references/regras-tts.md). Apresente o roteiro com a tabela de timestamps e AGUARDE APROVAÇÃO.
Etapa 2 — Sugerir vozes [PORTÃO 2]
REGRA DE OURO: a voz deve ser NATIVA do idioma do roteiro. Vozes premade da ElevenLabs são nativas de inglês e vazam sotaque americano em PT-BR. Use search_voice_library com termos como "brazilian portuguese narrador" e filtre pelo estilo da proposta (comercial/institucional/social media). Apresente 2-3 opções com descrição + link de preview (escutar preview é grátis). Avise: vozes da biblioteca precisam ser adicionadas à conta do usuário (site → Voice Library → Add to My Voices) antes da geração via API. AGUARDE A ESCOLHA.
Etapa 3 — Gerar narração [PORTÃO 3]
Gere com text_to_speech:
- model_id: eleven_multilingual_v2 (obrigatório para PT-BR natural)
- Parâmetros base comerciais: stability 0.5, similarity_boost 0.8, style 0.3, speed 1.0
- Salve em diretório acessível ao usuário e informe o caminho
Erros conhecidos e soluções:
- voice_not_found → usuário ainda não adicionou a voz à conta (instrua e tente de novo)
- paid_plan_required → conta free; ofereça caminho manual pelo site (cole o roteiro ajustado para o usuário copiar) ou upgrade de plano
Peça para o usuário escutar e AGUARDE APROVAÇÃO. Se pedir mudanças de pronúncia, entonação ou velocidade: ajuste a GRAFIA no roteiro (ver references/regras-tts.md), os parâmetros, ou pós-processe com ffmpeg atempo (mudança uniforme de velocidade preserva o pitch e mantém a sincronização escalável por um fator único). Repita até aprovar.
Etapa 4 — Mapear sincronização da narração
Com a narração aprovada, meça duração e pausas:
ffprobe -v error -show_entries format=duration -of csv=p=0 narracao.mp3
ffmpeg -i narracao.mp3 -af "silencedetect=noise=-35dB:d=0.45" -f null - 2>&1 | grep silence
As pausas delimitam os blocos do roteiro → tabela de tempos por cena.
Etapa 5 — Proposta Remotion [PORTÃO 4]
Gere o briefing completo usando references/template-briefing-remotion.md, preenchendo: specs (resolução do destino, 30fps, duração = narração + 2-4s de end card), identidade visual extraída das telas, timeline sincronizada (Etapa 4), estrutura de composições e detalhes de animação. Apresente o briefing e AGUARDE APROVAÇÃO.
Etapa 6 — Implementar e renderizar [PORTÃO 5]
Com a skill do Remotion: crie o projeto, implemente o briefing, abra o Remotion Studio para preview ANTES do render final (render de ~90s leva minutos). Dica de iteração: implemente primeiro hook + 1 cena + end card para validar a direção de arte, depois complete. Após o render, REVISE o resultado extraindo frames (como na Etapa 0) e cheque a lista de references/checklist-revisao.md (privacidade é item bloqueante). Apresente o vídeo + sua própria revisão e AGUARDE APROVAÇÃO.
Etapa 7 — Ciclo de refinamento [PORTÕES 6+]
Loop:
- Com base na proposta original, SUGIRA proativamente melhorias que você identificou
- Usuário aprova sugestões e/ou pede alterações próprias
- Implemente, re-renderize, revise frames novamente, apresente
- Pergunte: "Quer fazer mais alguma alteração?"
- Se sim → volta ao passo 2. Se não → ciclo FINALIZADO
Ao finalizar, entregue: caminho do MP4 final, e ofereça documentar aprendizados específicos do projeto (pronúncias corrigidas, cores, preferências) para os próximos.
Mudanças de duração após o render
Se o usuário pedir vídeo mais curto que a narração: acelere o áudio uniformemente (ffmpeg -af "atempo=FATOR", até ~1.07 fica natural) e re-sincronize a timeline inteira multiplicando todos os timings de cena por 1/FATOR. NÃO altere os startFrom/endAt dos trechos do vídeo-fonte. Acima de ~7%, prefira comprimir pausas entre blocos (não-uniforme: exige re-mapear a tabela de tempos).
Logos e imagens de marca
Antes de usar logo em composição: verifique canal alpha (identify -verbose logo.png | grep Alpha).
Logo com fundo sólido sobre cena escura/gradiente = quadrado visível.
Se circular, aplique máscara de elipse com ImageMagick para gerar versão transparente.