Communitygithub.com

NiJingzhe/promo-video-skill

Crie um vídeo promocional / filme de lançamento com sincronia de batida, do início ao fim, com um humano no loop: escolha a música (Epidemic Sound "Create a cut"), projete o storyboard juntos, escreva o roteiro de cena e um roteiro de locução para ElevenLabs, corte a locução recebida e monte o vídeo no Remotion (renderizações three.js em metal, réplicas da interface do produto, câmera virtual push/pull/pan, cada corte na batida).

O que é promo-video-skill?

Este skill permite criar vídeos promocionais profissionais com sincronia perfeita entre música, locução e imagem, utilizando um processo em seis estágios com verificação humana em cada etapa. É útil para desenvolvedores e criadores que desejam produzir trailers, vídeos de lançamento, teasers de produtos ou anúncios com motion graphics sem depender de ferramentas de edição complexas. O skill suporta Epidemic Sound para seleção musical, ElevenLabs para geração de locução e Remotion (com three.js) para renderização final. Ele funciona analisando a música para determinar o BPM real e os marcos temporais, gerando um storyboard alinhado à batida, compondo roteiros de locução, cortando o áudio recebido e construindo o vídeo cena a cena com câmera virtual e cortes precisos. A automação de navegador é oferecida para Epidemic Sound e ElevenLabs, mas o humano sempre mantém controle sobre escolhas críticas como a faixa e a voz.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add NiJingzhe/promo-video-skill

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

promo-video

Um filme é feito em seis estágios. Cada estágio termina com algo que o humano verifica. Não avance antes do tempo: o estágio caro (a construção) só é barato se os anteriores estiverem resolvidos, porque cada evento visual é posicionado em relação à música e à voz.

Diga o plano ao humano uma vez no início (README.md tem a versão para humanos), depois execute os estágios em ordem. Fale com eles na lingua deles. Mantenha todos os arquivos do projeto em um diretório (<project>/: audio/, vo/, PLAN.md, elevenlabs.md, o projeto Remotion em video/).

#EstágioVocê fazHumano fazReferência
1Músicaanalisa a faixa, encontra o BPM real e os marcos determinantesescolhe a faixa no Epidemic Sound, usa Create a cut para definir a duração, te envia o arquivoreferences/01-music.md
2Storyboardfaz as perguntas orientadoras, escreve PLAN.md (tabela de cenas sincronizada com a música)responde, aprovareferences/02-storyboard.md
3Roteiro de locuçãoescreve as falas + a captação ElevenLabs marcadagera no ElevenLabs, envia o arquivoreferences/03-voiceover.md
4Corte da locuçãoabre cut_ui.py na captação, depois divide, nivela, posiciona cada falaclica entre as falas na página do navegador, pressiona Done; verifica a tabela de posicionamentoreferences/03-voiceover.md
5Construçãoprojeto Remotion a partir de template/, cena por cena, verifica cada stillrevisa stills / um render rascunhoreferences/04-build.md
6Revisão + polimentorender, verificação de volume, abre review_ui.py no render, lê as notas e quadros deles, corrige, re-renderassiste na página de revisão, deixa notas no quadro, escolhe Aprovado / Precisa de alteraçõesreferences/05-review.md

Automação de navegador: ofereça, nunca presuma

Os estágios 1 e 3 ocorrem em sites (Epidemic Sound, ElevenLabs). Se uma ferramenta ou skill de automação de navegador estiver disponível (ex.: ego-browser, um setup Playwright, um browser MCP), ofereça-se para fazer essas partes você mesmo, e diga claramente o que isso envolve antes de pedir um sim:

  • Contas: ambos os sites exigem uma conta (Epidemic Sound é uma assinatura paga com teste grátis; ElevenLabs tem um nível gratuito com limite mensal de caracteres). Se o humano não tiver nenhuma, eles se cadastram: você não cria contas.
  • Custo: ElevenLabs cobra por caracteres; um filme de 40-60 s são ~600-1000 caracteres, e cada regeneração é cobrada novamente. Downloads do Epidemic contam contra o plano. Informe o gasto esperado e pergunte primeiro.
  • Login e pagamento são do humano: entregue o navegador (task.handOff() no ego-browser) para login, 2FA, captchas e qualquer tela de pagamento; retome após eles dizerem que terminaram. Nunca digite a senha deles, nunca insira ou armazene detalhes de cartão, nunca cole a chave de API deles em uma página ou arquivo.
  • O que você pode fazer após um sim: pesquisar/filtrar faixas pelo mood e BPM acordados e abrir candidatas para eles ouvirem (eles escolhem), clicar em Create a cut com a duração alvo e baixar o resultado; colar a captação elevenlabs.md, aplicar a voz e configurações que eles escolheram, gerar uma vez, baixar o mp3.
  • Sem essa ferramenta, ou se eles recusarem: dê a eles os passos exatos (documentos dos estágios 1 e 3) e aguarde o arquivo.

As escolhas continuam sendo deles: a faixa e a voz nunca são escolhidas para eles.

Regras básicas (aprendidas da maneira mais difícil)

  1. Tudo mostrado é real. Malhas de exemplo reais (tesselar o CAD/STEP real), código e API reais em painéis de código, a interface reconstruída a partir dos próprios componentes frontend do produto. Conteúdo de aparência falsa é a única coisa que os espectadores notam. Se você não conseguir o material real, diga e pergunte – não invente.
  2. A música é o relógio. Meça o BPM real (scripts/music_analyze.py ajusta; um BPM adivinhado que esteja 1,2% errado coloca uma emenda um terço de batida fora e o humano ouve um tropeço). Todos os tempos vivem em src/marks.ts; as cenas os importam, nunca codificam segundos diretamente.
  3. Confirme etapas externas ou caras: o arquivo de música e a voz são escolha do humano; você nunca os escolhe para eles. Nunca imprima chaves de API ou tokens de login que apareçam no produto que você está filmando.
  4. Verifique imagens com stills, não por fé: renderize os quadros nos marcos (batidas, cortes, o logotipo) e olhe para eles antes de um render completo. Um render completo leva minutos; um still leva segundos.
  5. Mantenha a versão antiga. Quando o humano pedir uma versão reduzida ou variante, copie o diretório do projeto e edite a cópia (cp -R video video_short, link simbólico node_modules).
  6. Relate como um editor: o que mudou, o caminho do arquivo, o que ouvir/observar e em qual segundo.

Ferramentas neste skill

Todos os scripts Python rodam com uv run (as dependências são declaradas em cada arquivo; nada para instalar).

ScriptPropósito
scripts/music_analyze.py track.wav --out beats.jsonBPM real (ajustado), grade de batidas/compassos, seções, drop, lacunas silenciosas
scripts/music_splice.py track.wav out.wav --beats beats.json --keep a:b --keep c:dencurtar uma faixa com um salto alinhado a compasso e crossfade; verifica a junção
scripts/cut_ui.py take.mp3 --mode cuts --script elevenlabs.md --out vo/cuts.jsonpágina de corte no navegador (forma de onda, roteiro mostrado linha por linha, fala vs pausas, zoom, desfazer/refazer): o humano reproduz e clica onde uma linha termina, pressiona Done, a aba fecha e cuts.json chega para você. --mode marks --beats beats.json marca o drop/stab/breakdown da música na grade de batidas
scripts/vo_cut.py take.mp3 --regions vo/cuts.json --out vo/dividir uma captação ElevenLabs em clipes nivelados + clips.json (ou --lines N --ends t1,... se o humano preferir digitar tempos)
scripts/review_ui.py out/promo.mp4 --out review/review.json [--overlay overlay.json]página de revisão no navegador: monitor no topo, faixa de timeline abaixo (filmstrip + forma de onda da mixagem final + batidas/marcas/linhas de voz opcionais). O humano deixa notas em um momento ou intervalo; cada nota carrega o quadro exato; eles finalizam com Aprovado / Precisa de alterações e review.json chega para você
scripts/new_project.sh <dir> [--link-modules path]projeto Remotion a partir de template/ (palco metal, relógio de batida, mixagem VO, câmera virtual)
template/tools/mesh.pyformas STEP/OCC -> malha compacta + arestas B-rep para three.js
template/tools/refold.pylimpar as strings enormes de metadados STEP que o OCC não consegue ler
template/tools/variants.py, stages.pyvariantes de parâmetros de malha / cada sólido intermediário de um caderno CAD (para cenas de "arraste um slider, o modelo segue" e "célula por célula")

Requer: ffmpeg, node 20+, uv. Para three.js no Chrome headless: playwright's chrome-headless-shell (new_project.sh instala).

Habilidades Relacionadas