Communitygithub.com

renoise-ai/renoise-skills

Crie vídeos promocionais para produtos, marcas ou serviços: analise o material do usuário, determine o setor e o público, recomende estilo e duração, refine o roteiro e storyboard, após confirmação, renderize MP4 com Remotion.

O que é renoise-skills?

Esta skill capacita um agente de IA a atuar como um estúdio de produção de vídeo totalmente automatizado, especializado na criação de vídeos promocionais de alto nível para produtos, marcas ou serviços. Ela é projetada para plataformas como Claude Code, Cursor ou Codex, utilizando o ecossistema Remotion (renoise-kit) para renderização. O processo começa com a análise do material fornecido pelo usuário, identificando o setor e o público-alvo para recomendar um estilo visual, duração e até mesmo uma trilha sonora adequada. O agente então elabora um roteiro e storyboard detalhados, submetendo à aprovação do usuário antes de prosseguir. A skill oferece dois modos principais de produção: 'Template' (storyboard dinâmico com tipografia, SVG e imagens) e 'Cinematográfico' (com animações 3D, demonstrações realistas de interface, galerias 3D e efeitos de câmera). Recursos avançados incluem a geração automática de música a partir de uma biblioteca de código aberto, sincronização de batidas, adição de uma 'camada de motion design' (com match cuts, morphing de formas, transições de máscara e partículas) e suporte para variações como 'showreel de motion graphics' e 'animação de loop de forma única'. A skill gerencia todo o pipeline, desde a configuração do projeto e seleção de fontes até a renderização final e verificação de qualidade (QA), garantindo que o resultado esteja livre de problemas comuns como cliques de áudio, quadros congelados ou bugs de renderização.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/renoise-ai/renoise-skills/tree/HEAD/skills/promo-video

Perguntar na sua IA favorita

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

Documentação

Vídeo Promocional

Convenção de caminho: <skill> refere-se ao diretório onde este SKILL.md está localizado. Os diretórios scripts/, references/, assets/, templates/ estão abaixo dele. Substitua <skill>/scripts/… pelo caminho absoluto deste diretório nos comandos.

Valores Padrão

  • Proporção 16:9 (1920×1080, 30 fps). Se o usuário especificar uma proporção diferente, use a solicitada. Suporta 16:9, 9:16, 1:1, 4:5. Use 9:16 para plataformas verticais como TikTok, Xiaohongshu, WeChat Channels, Reels.
  • O idioma segue o material do usuário. Nenhuma narração na primeira fase. Legendas desativadas por padrão quando as informações já estão na tela.
  • A fonte padrão não é DM Sans / SF Pro / PingFang: siga references/typography.md para fazer uma 'proposta de fonte' – fonte do site oficial ou manual da marca + 3 pares de fontes escolhidos de acordo com o tom. Use fonts.py specimen para gerar imagens com o texto real do vídeo para o usuário escolher. Após a seleção, escreva na quinta linha do cartão de seleção de estilo.
  • Sem cortes abruptos, sem silêncio digital, texto revisado conforme checklist: antes da entrega, passe pelo references/detail-pass.md (lista de pontos de transição → rn sheet --around → rn qa / rn cuts → typo_lint.py / font_check.py). A maioria dos problemas de 'abrupto', 'problema de áudio' ou 'não elegante' encontrados pelo usuário vêm daqui.
  • Logotipo fornecido pelo usuário. Se não houver logotipo, use o nome da marca como texto e inclua uma declaração em brand.disclaimer, por exemplo, 'Marca de exemplo, apenas para demonstração'. Estatísticas não fornecidas pelo usuário são consideradas exemplos e devem ser declaradas como tal; não invente dados reais.
  • Prioridade da trilha sonora: fornecida pelo usuário > biblioteca interna pick_music.py (padrão, evita automaticamente músicas usadas recentemente) > bibliotecas de código aberto online suplementares > synth_bgm.py síntese de fallback.

Dependência: rn (renoise-kit)

O visual e a mixagem são renderizados pelo Remotion; todas as etapas mecânicas e propensas a erros são delegadas ao rn: captura de quadros precisa e tabela de contatos, leitura de música (volume / batidas / BPM), codificação e masterização final, verificação de entrega, auditoria de cortes abruptos / silêncio / estouros. O render.py já está integrado; para uso manual, use rn <comando> --help para parâmetros.

brew install ffmpeg-full && export PATH="$(brew --prefix ffmpeg-full)/bin:$PATH"   # macOS: rn chama o ffmpeg do sistema
apt install ffmpeg                                                                 # Debian / Ubuntu
winget install Gyan.FFmpeg                                                         # Windows (reinicie o terminal após a instalação)
uv tool install "renoise-kit[all]"                                                 # Fornece o comando rn

Universal para macOS, Linux, Windows: os scripts desta skill são todos em Python, não dependem de bash. Substitua python3 por python (ou py -3) no Windows; use / ou \ para caminhos.

O que fazerComando
Ver material / visualizar / pasta de quadros estáticosrn sheet <video ou pasta> [--fps 4 | --around tempo_quadro,.. --span 4 --diff]
Ler trilha sonora: volume, batidas, BPM (incluindo candidatos de metade/dobro)rn listen bgm.wav --json out/music.json
Luminosidade / movimento / banda de frequência / batidas / estouros quadro a quadrorn signal <arquivo> -o out/signal.png --json out/signal.json
Codificação final, masterização, troca de áudio, saída 1080prn finish raw.mp4 -o out.mp4 [--audio mix.wav] [--height 1080]
Verificação de entrega (formato, volume, true peak, silêncio, salto de nível, estouro, quadros pretos, quadros congelados, taxa de quadros fixa)rn qa out.mp4 [--accept CHECK@segundo]
Lista de cortes abruptos + quadros antes e depois de cada cortern cuts out.mp4 --sheet out/audit/cuts.jpg
Comparar com versão anterior / vídeo de referênciarn compare novo.mp4 antigo.mp4 --cuts
Texto na tela (revisão de caracteres, ler legendas de vídeo de referência)rn text out.mp4

Seleção de Modo e Roteamento de Estilo

Cada vídeo segue references/style-router.md para uma seleção de quatro camadas: ① Modo ② Tom Visual ③ Estrutura Narrativa ④ Camada de Aprimoramento (≤2), mais ⑤ Fonte (typography.md), resultando em um 'Cartão de Seleção' de cinco linhas colocado acima do storyboard para aprovação do usuário; leia apenas os documentos selecionados. Em caso de conflito: solicitação explícita do usuário > registro de reputação na tabela de roteamento > padrão do setor. A tabela abaixo mostra o ① Modo e as entradas para cada pacote de extensão:

O que o usuário querModoLeia primeiroExemplo
Vídeo promocional de produto/serviço, vídeo de lançamentoCinematográfico (padrão)cinematic.md → motion-craft.mdexamples/youware/, examples/renoise/
Explicação rápida, lote para mídias sociaisTemplatestoryboard.md, styles.mdstoryboard.json
Introdução pessoal, promoção de contaMarca Pessoalcinematic.md 'Marca Pessoal e Avatar Pixel'—
Conceito de hardware como celular, dispositivoConceito de Hardwarecinematic.md 'Produto de Hardware Físico'—
Compilar vários vídeos finalizados em uma compilaçãoCompilação de Trabalhosrecap.md—
Mostrar habilidades de motion design, intro, channel IDShowreel de Motion Designmotion-craft.mdexamples/motion-reel/
Musical, fusão fluida, gráficos de dados, túnel infinito, revelação em perspectivaPacote de Estilo 01 (sobreposto ao modo Cinematográfico)style-pack-01.md (musical execute audio_features.py primeiro)—
Plano-sequência, sem cortes, sensação contínua como em vídeos de referência; produto tem fluxo 'entrada → saída → operação contínua'Pacote de Estilo 02: Plano-Sequência de Revezamento (estrutura narrativa, com narração)style-pack-02.md (narração execute narrate_mimo.py primeiro, pode clonar a voz do próprio cliente)Componentes em src/cinematic/relay/
Ícones animados, emoji dinâmico, nós de fluxo acendendo um por umÍcones Animados (sobreposto a qualquer modo)animated-icons.md (emoji execute fetch_noto_emoji.py primeiro)examples/animated-icons/
Vídeo de posicionamento de marca, atualização de marca, qualidade oficial 'tipo Claude', senso humanístico da Apple, sem demonstrar funcionalidades específicasPacote de Estilo 03: Escada Conceitual · Caderno de Espécimes (ponto → linha → superfície → volume → campo, cada capítulo uma frase de valor, logotipo no final; 60s, piano)style-pack-03.md (espécimes de glifo execute glyph_outline.py primeiro)examples/youware-ladder/
Vídeo de lançamento de modelo/produto, precisa de 'qualidade e prova de poder'; nome permite jogo de palavras; tem fatos oficiais de magnitude (maravilhas contáveis)Pacote de Estilo 04: Soneto · Profundidade 3D (o roteiro é um poema, uma linha por seção; HUD de especificações apenas com citações oficiais; 680 mil traços alinhados em estrela da marca)style-pack-04.md—
Compilação de 'N estilos', um produto em vários estilos visuais para o cliente escolher; legendas de variedades / adesivos / 2.5D isométricoPacote de Estilo 05: Biblioteca de Estilos Comerciais (modelo de catálogo de estilos + legendas + adesivos + isométrico; também pode ser sobreposto a qualquer modo)style-pack-05.md (amostras Three.js pré-renderizadas como vídeo antes de entrar no catálogo)examples/style-catalog/
Animação quadro a quadro / linha contínua / colagem / ilustração plana / pôster Bauhaus / líquido / vidro difuso / matriz de agulhas 3D suave / HUD cyberpunk / pixel / vaporwave, ou compilação completa de 15 estilosPacote de Estilo 06: Segundo Lote da Biblioteca de Estilos Comerciais (11 componentes de estilo + catálogo de 15 quadros + extensão de música por seção / trilha sonora synth retrô)style-pack-06.md (veja as duas armadilhas: área de filtro e bounding box three)examples/style-catalog/ (Reel15.tsx)
Vídeo de 'comparação lado a lado' para lançamento de novo modelo: animações SVG dos dois modelos lado a lado + campo de entrada YouWare e menu de modelo + gancho no finalVídeo de Comparação de Saída de Modelo (player SVG quadro a quadro, isolamento de nomes, zoom na mesma proporção, música por seção)svg-compare.md (confirme primeiro o nome oficial do modelo, intensidade de inferência, prompt original e fonte de geração)examples/svg-compare/
UI Motion design nível Dribbble, uma forma contínua em morphing contando o fluxo do produtoVídeo Promocional de Forma Única (padrão 16:9 versão promocional; versão 1:1 loop puro opcional)one-shape.md (primeiro precisa da lista de estados, paleta de cores, música, grade de batidas antes de codificar)examples/morph-promo/, examples/morph-loop/

Todos os modos compartilham os mesmos princípios de design, camada de motion, biblioteca de músicas e biblioteca de efeitos sonoros.

Princípios de Design (Execução Padrão)

Todos os vídeos seguem references/design-principles.md: uma ideia por tela estilo Apple, tipografia grande com espaço em branco, uso moderado de cores e materiais críveis; ícones lucide-react unificados (largura de linha 1.75, nós funcionais usam IconTile; para animação use lucide-animated, reproduza uma vez no quadro de contato), use apenas Noto animado para emoji e não use por padrão, não use gráficos placeholder; cada quadro define primeiro o foco e a emoção, movimento de câmera com motivação (dolly, shift de foco, passagem, whip pan, push-in); som no quadro de contato da ação. Antes da entrega, verifique item por item na lista 'Revisão do Mestre'.

Após construir a camada de conteúdo, adicione a 'camada de motion' (references/motion-craft.md): Use primeiro o material do site oficial, depois sobreponha partículas, morphing e máscaras nessas imagens (por exemplo, partículas formando o slogan sobre uma captura de tela do produto). Não crie uma seção separada de fundo preto mostrando apenas efeitos sem relação com o produto. Escreva transições claras entre as seções (priorize match cuts), e os elementos de abertura devem retornar no final.

Fluxo de Trabalho

Copie esta lista e acompanhe o progresso:

- [ ] 1. Análise do Material: produto, setor, público, pontos de venda
- [ ] 2. Confirmação Única: propósito, estilo, duração, proporção, idioma, música
- [ ] 2b. Proposta de Fonte: faça 3 pares de fontes de acordo com o tom + imagem de proposta com a fonte atual da marca (fonts.py specimen) → usuário escolhe
- [ ] 3. Roteiro e Storyboard (incluindo técnica principal e transição por seção) → aguardar confirmação do usuário
- [ ] 4. Configurar Projeto → Quadros de Amostra → aguardar confirmação visual do usuário
- [ ] 5. Música: pick_music.py seleciona e sincroniza, linha do tempo reorganizada pelo BPM da música
- [ ] 6. Preview em Baixa Resolução → Modificações
- [ ] 6b. Revisão de Detalhes: lista de pontos de transição + 4 quadros ao redor (rn sheet --around) + rn qa / rn cuts + typo_lint.py (revise você mesmo antes de mostrar o preview ao usuário)
- [ ] 7. Entrega e Verificação Final

1. Análise do Material

Leia todo o conteúdo fornecido pelo usuário (texto, PDF, URLs, capturas de tela, logotipo). Se o usuário forneceu apenas URLs, extraia logotipo, fontes, paleta de cores e imagens do produto em alta resolução do site oficial seguindo references/brand-from-website.md. Resuma:

  • O que é o produto, proposta de valor em uma frase (≤ 20 palavras)
  • 3–4 pontos de venda, cada um com uma imagem de ícone
  • Dados fornecidos explicitamente pelo usuário (apenas estes)
  • Ativos visuais existentes: capturas de tela, logotipo, cores da marca, fontes
  • Classificação do setor e público: determine seguindo references/industries.md, obtenha estilo recomendado, movimento de câmera e emoção da trilha sonora

2. Confirmação Única

Pergunte tudo de uma vez, apenas itens que não podem ser inferidos. Coloque a opção recomendada em primeiro lugar e marque com '(Recomendado)'. Se o anfitrião tiver uma ferramenta de perguntas do tipo múltipla escolha, use-a (essas ferramentas geralmente têm um limite de perguntas por vez; se houver muitas, divida em duas rodadas por importância). Caso contrário, liste as opções numeradas em uma única mensagem:

  • Propósito do vídeo: Lançamento de Produto, Demonstração de Funcionalidade, Imagem da Marca, Pitch de Investimento, Anúncio em Mídia Social
  • Modo de Produção: Cinematográfico (demonstração de interface real + 3D + efeitos sonoros, recomendado para lançamento de produto / vídeo de marca) ou Template (rápido, adequado para explicações e lote para mídias sociais)
  • Estilo Cinematográfico: Tech Escuro / Paper Cut / Editorial Claro, recomendado por setor (veja cinematic.md 'Estilos')
  • Estilo: Dê 3 predefinições de acordo com o setor, cada uma com uma descrição de cena (predefinições em references/styles.md)
  • Duração: Dê opções de acordo com o propósito (veja references/storyboard.md), avise 'Quanto mais curto, menos texto por tela'
  • Proporção: Pergunte apenas se o material sugerir formato vertical ou distribuição multiplataforma; caso contrário, use 16:9
  • Idioma
  • Fonte da Música: Biblioteca Interna (recomendado, dê 2–3 descrições de estilo candidatas) / Fornecido pelo usuário / Sintetizado

Não pergunte itens que o usuário já declarou explicitamente.

2b. Proposta de Fonte

Siga references/typography.md §1: Determine o tom → fonts.py pairs --tone <tom> (se a fonte do site for comercial, primeiro fonts.py similar "<nome da fonte>") → Use o título real, subtítulo, corpo do texto do vídeo e chinês/japonês para gerar imagens de proposta: 3 pares + 1 par com a fonte atual da marca:

python3 <skill>/scripts/fonts.py specimen --pair warm-soft --pair editorial-italic --pair bold-youth --combo <fonte_titulo_marca>+<fonte_corpo_marca> \
  --title "..." --sub "..." --body "..." [--zh "..."] [--ja "..."] --out <diretorio_projeto>/out/type-proposal.png

Envie a imagem para o usuário escolher; após a seleção, fonts.py fetch <ids> --to <diretorio_projeto>, após escrever o texto, fonts.py subset <diretorio_projeto> --text-file copy.txt (chinês/japonês). Licenciamento conforme typography.md §8: Fontes Fontshare não devem ser subconjuntadas nem distribuídas com o projeto para terceiros.

3. Roteiro e Storyboard

Se o usuário forneceu um roteiro, divida-o em cenas. Caso contrário, escreva seguindo a estrutura de references/storyboard.md. Acima da tabela, escreva primeiro o Cartão de Seleção (style-router.md) e, em seguida, apresente a tabela para confirmação do usuário:

#DuraçãoTipo de CenaVisualTexto na TelaMovimento de CâmeraTécnica Principal / Transição

Não prossiga para a renderização sem a confirmação do usuário. Após as modificações do usuário, atualize a tabela e confirme novamente.

4. Configuração do Projeto e Quadros de Amostra

python3 <skill>/scripts/setup_project.py <diretorio_projeto>

Modo Cinematográfico: storyboard.json fornece apenas informações da marca. O visual é codificado em src/Film.tsx seguindo references/cinematic.md (consulte templates/remotion/examples/youware/). Use render.py <diretorio_projeto> film-stills <numeros_dos_quadros...> para amostragem de cenas, film-preview para preview, film para o vídeo final (saída out/film.mp4 com verificação de volume). As verificações de storyboard e render.py abaixo são para o modo Template.

  • Escreva o storyboard confirmado em <diretorio_projeto>/storyboard.json (campos em storyboard.md).
  • Coloque os materiais em public/: brand/ (logotipo), fonts/ (baixado com fonts.py fetch, contendo fonts.json e LICENSES.md), images/ (capturas de tela), music/. Caminhos em storyboard.json são relativos a public/.
  • Verifique e renderize os quadros de amostra (quadro do meio de cada cena):
python3 <skill>/scripts/check_storyboard.py <diretorio_projeto>/storyboard.json
python3 <skill>/scripts/render.py <diretorio_projeto> stills
  • ERROR deve ser corrigido. WARN tempo_de_leitura indica que o texto não pode ser lido: encurte o texto ou prolongue a cena.
  • Veja cada out/stills/scene-N.png (out/stills-sheet.jpg é uma visão geral em uma página). Verifique de acordo com a lista 'Revisão do Mestre' em design-principles.md (foco, espaço em branco, estouro, ícones, contraste). Após corrigir, mostre os quadros de amostra ao usuário (se o anfitrião puder enviar arquivos, envie a imagem diretamente; caso contrário, forneça o caminho do arquivo).
  • Se o usuário quiser comparar estilos, altere style e re-renderize os quadros de amostra. Salve os quadros antigos como out/stills-<estilo>/ para comparação lado a lado.

5. Música

Siga references/music.md. Independentemente da fonte, defina music.bpm (lido com rn listen). A linha do tempo alinhará cada ponto de edição à batida.

Se for necessária narração, siga 'Narração e Dublagem' em cinematic.md usando voiceover.py (MiMo TTS ou say do sistema). A linha do tempo será conduzida pela duração da narração. Se o volume final do vídeo precisar ser alterado, refaça apenas a trilha de áudio sem re-renderizar o visual: rn finish out/film.mp4 -o out/film-loud.mp4 --copy-video --lufs -12.

6. Preview

python3 <skill>/scripts/render.py <diretorio_projeto> preview

Renderização rápida em meia resolução. Forneça o caminho de out/preview.mp4 ao usuário. Modifique storyboard.json com base no feedback e re-renderize.

6b. Revisão de Detalhes

Antes de mostrar o preview ao usuário, revise você mesmo seguindo references/detail-pass.md:

rn sheet out/film-preview.mp4 --around <segundos_ponto_transição,...> --span 4 -o out/seam.jpg                       # 4 quadros antes e depois de cada ponto de montagem/desmontagem/mudança de parâmetro (segundos = número do quadro / 30)
rn qa out/film-preview.mp4                                                                             # Quadros pretos, congelados, silêncio digital, salto de nível, estouro (render.py já executa automaticamente)
rn cuts out/film-preview.mp4 --sheet out/audit/cuts.jpg                                                # Lista de cortes abruptos, um quadro antes e depois de cada corte
python3 <skill>/scripts/typo_lint.py storyboard.json                             # ou --ts src/film/*.ts*; --fix corrige JSON automaticamente
python3 <skill>/scripts/font_check.py public/fonts                               # Eixo de tamanho óptico, glifos de pontuação reais

Cada item deve ser corrigido ou registrado em qa-accept.txt na raiz do projeto (um item por linha: item_verificação ou item_verificação@segundo, com o motivo após #). Na nota de entrega, declare 'Feito intencionalmente'. Auditorias futuras não reportarão esses itens novamente.

7. Vídeo Final

python3 <skill>/scripts/render.py <diretorio_projeto> final

Gera out/final.mp4, out/cover.png. Se houver caption, também gera out/captions.srt. Os arquivos entregues ao usuário devem ser sempre a saída de rn finish (render.py faz isso automaticamente para film/final: renderiza o visual separadamente, renderiza a mixagem como WAV separado, depois combina com rn finish --audio). MP4s renderizados diretamente pelo Remotion podem mostrar apenas metade da duração em alguns players e plataformas de upload (usuários relatam 'Enviei 38 segundos, mas só abre 19 segundos'). A causa raiz está em references/detail-pass.md 'Codificação de Entrega'. Ao renderizar manualmente em 4K:

npx remotion render src/index.ts Film out/film-raw-4k.mp4 --muted                # Composição em 3840×2160; para 1080p adicione --scale=2
npx remotion render src/index.ts Film out/mix.wav --codec=wav --config=remotion.audio.config.ts
rn finish out/film-raw-4k.mp4 -o out/<nome>.mp4 --audio out/mix.wav
rn finish out/<nome>.mp4 -o out/<nome>-1080p.mp4 --height 1080 --lufs keep                          # Para WeChat / mídias sociais
rn qa out/<nome>.mp4                                                                               # Qualquer arquivo a ser enviado deve passar por isso primeiro

Verifique os resultados do rn qa (FAIL deve ser 0; WARN devem ser corrigidos ou registrados em qa-accept.txt) e a imagem out/audit/cuts.jpg dos cortes abruptos. Veja o quadro de capa. Entregue o caminho do arquivo e uma breve descrição (estilo, duração, fonte e licença da música, declarações, WARNs mantidos intencionalmente). Após o usuário avaliar (gostou / prefiro o anterior / refaça), registre a 'combinação → vídeo → reação' no registro de reputação do style-router.md.

Restrições de Renderização

  • Todas as animações devem ser derivadas de useCurrentFrame(). Proibido: CSS transition/animation, Framer Motion com reprodução automática, setTimeout, Math.random() sem semente. Caso contrário, a renderização quadro a quadro causará cintilação ou desalinhamento. GSAP pode ser usado apenas com seek por quadro.
  • O render.py precisa ser executado fora da sandbox de comandos (o Chrome headless precisa ler núcleos de CPU e GPU). Se o anfitrião adicionar sandbox aos comandos shell, libere este comando de acordo com o método do anfitrião.
  • A renderização completa (preview, final, film-preview, film) e o primeiro setup_project.py (npm install) levam alguns minutos e excederão o tempo limite da maioria dos comandos individuais do anfitrião: execute em segundo plano (use a capacidade de execução em segundo plano do anfitrião, se houver; caso contrário, use o método de segundo plano do sistema e escreva a saída em out/render.log: macOS / Linux nohup … > out/render.log 2>&1 &, Windows PowerShell Start-Process python -ArgumentList '…' -RedirectStandardOutput out/render.log -NoNewWindow, depois verifique o log); não faça polling com alta frequência; stills, film-stills para alguns quadros podem ser executados em primeiro plano com tempo limite estendido para 10 minutos.
  • Não é necessário Node global: setup_project.py encontrará um Node existente; se não encontrar, baixará uma versão portátil para ~/.cache/promo-video/node. ffmpeg e rn devem estar instalados no sistema (veja 'Dependência'); setup_project.py avisará se estiverem faltando.
  • A renderização hero3d é a mais lenta; mantenha 1–2 por vídeo.
  • Ferramentas comuns: rn finish (codificação de entrega: fixed_frame_rate_flag=1, intervalo BT.709 TV, moov na frente, −14 LUFS e true peak pós-codificação ≤ −1 dBTP, --audio substituído por mixagem WAV, --height 1080 para versão menor); rn qa (verificação de entrega + quadros pretos/congelados/silêncio digital/salto de nível/estouro, render.py executa automaticamente); rn cuts --sheet (lista de cortes abruptos); rn sheet (captura precisa de quadros e colagem, para seleção de cena e revisão, não use ffmpeg -r 1); rn listen (BPM, batidas, volume); typo_lint.py (aspas retas, três pontos, --, pontuação de largura total, separadores pendurados, palavras isoladas); font_check.py (eixos do arquivo de fonte, características, glifos de pontuação reais, avisa se faltar opsz); fonts.py (catálogo de fontes / pares / imagem de proposta / download / subconjunto / substituto de fonte comercial, veja typography.md); audio_features.py (características da trilha sonora quadro a quadro, AudioReactive.tsx lê seu formato); pick_music.py (seleção e sincronização de música); narrate_mimo.py (narração: timbre predefinido MiMo ou clonagem de alguns segundos de gravação do cliente, saída timings.json quadro a quadro para conduzir o visual, --qa para verificação de leitura).
  • O shell é zsh: for t in $LIST não divide por espaços; escreva a lista diretamente em for t in 1 2 3; em heredocs com backticks ou ${}, use <<'EOF', caso contrário o shell expandirá.

Extensão

  • Para adicionar novos tipos de cena: escreva o componente em src/scenes/, adicione ao tipo união Scene em src/types.ts e ao SceneBody em src/Promo.tsx, e sincronize SCENE_TYPES e scene_text em check_storyboard.py.
  • Use <Img> para imagens; pacote @remotion/gif para GIFs; @remotion/lottie para Lottie. As versões dos pacotes @remotion/* devem ser exatamente iguais à do remotion.
  • Suplemento de Material com IA: Para pessoas e cenas que o cliente não pode filmar, use o Renoise para gerar quadros-chave e vídeo a partir de imagem (requer instalação do plugin Renoise e login). O estilo visual é retirado das próprias diretrizes de design do cliente. Selecione o modelo de acordo com a skill de roteamento de modelo do Renoise. Para cada lote, primeiro estimate_cost para informar a quantidade e o custo estimado; prossiga somente após a aprovação do usuário. Fluxo, regras de prompt e limites em references/ai-footage.md.

Referências

  • references/brand-from-website.md: Extrair texto, paleta de cores, fontes, logotipo e imagens do produto do site oficial.
  • references/design-principles.md: Princípios de design, especificações de ícones, direção de câmera do diretor, som e lista 'Revisão do Mestre' (execução padrão).
  • references/detail-pass.md: Revisão de Detalhes: Três princípios: contínuo / não vazio / preciso, fluxo da lista de pontos de transição, receitas visuais e sonoras para transições claro→escuro, limites de julgamento e isenções do rn qa, codificação de entrega, armadilhas já encontradas (faça antes da entrega).
  • references/typography.md: Sistema de Fontes: Fluxo de trabalho de proposta de fontes, 11 tons → fonte preferida, 17 pares (chinês/japonês correspondentes), fontes usadas em anúncios de alto nível (verificadas) e substitutos de código aberto testados, arquivo de fonte deve ter eixo opsz, regras de layout de vídeo e parâmetros Display, licenciamento (OFL / ITF FFL / acordos de fabricantes), componentes de texto animado (src/cinematic/type/: VarType, OutlineFill, HandReveal, TrackIn, Decode), lista de revisão de detalhes.
  • assets/fonts/catalog.json: 99 fontes selecionadas (Google Fonts / Fontshare / GitHub releases, latim + chinês + japonês), 17 pares, tabela de substitutos de fontes comerciais, lista de fontes de fabricantes que precisam de download manual; scripts/fonts.py lê.
  • references/cinematic.md: Modo Film Cinematográfico: estilos, componentes de cena, restauração de interface e relatório de produto, 3D, design de motion e som.
  • assets/sfx/README.md: Catálogo de biblioteca de efeitos sonoros com uso comercial gratuito (digitação, mouse, UI, transição, papel, virar página), preview.wav para audição.
  • assets/music/catalog.json: Catálogo da biblioteca de músicas (emoção, BPM, ponto de energia, licenciamento, URL de download e sha256); as músicas não são distribuídas com o repositório; pick_music.py baixa do site oficial do Mixkit para ~/.cache/promo-video/music/ no primeiro uso e verifica.
  • references/industries.md: Classificação do setor → estilo recomendado, movimento de câmera, música, dicas de conformidade.
  • references/styles.md: 4 predefinições de estilo e regras de substituição de cores da marca.
  • references/camera.md: Vocabulário de movimento de câmera, mapeamento de técnicas clássicas e regras de ritmo.
  • references/storyboard.md: Campos de storyboard.json, opções de duração, estrutura narrativa e regras de texto.
  • references/music.md: Biblioteca interna e pick_music.py, bibliotecas de código aberto suplementares, sincronização BPM, síntese de fallback, volume e licenciamento.
  • references/motion-craft.md: Camada de motion: dois níveis (contido/exagerado), mapa de técnicas, design de transições, showreel de motion design.
  • references/recap.md: Compilar vários vídeos finalizados em uma compilação (Apple-style recap carrossel).
  • references/animated-icons.md: Ícones animados (lucide-animated 467, substitutos quadro a quadro verificados) e emoji dinâmico Noto (fetch_noto_emoji.py), regras de ritmo e licenciamento.
  • references/style-router.md: Cartão de Seleção de Estilo: ① Modo ② Tom Visual ③ Estrutura Narrativa ④ Camada de Aprimoramento (≤2) ⑤ Fonte; roteamento de estilo e registros de reputação (não pule).
  • references/style-pack-01.md: Pacote de Estilo 01: Musical, fusão fluida, gráficos de dados, túnel infinito, revelação em perspectiva; componentes e parâmetros.
  • references/style-pack-02.md: Pacote de Estilo 02: Plano-Sequência de Revezamento; componentes relay em src/cinematic/relay/.
  • references/style-pack-03.md: Pacote de Estilo 03: Escada Conceitual · Caderno de Espécimes; componentes em src/cinematic/ladder/; regras de espécimes de glifo e resultados de renderização.
  • references/style-pack-04.md: Pacote de Estilo 04: Soneto · Profundidade 3D; regras do poema e gerador de HUD de especificações.
  • references/style-pack-05.md: Pacote de Estilo 05: Biblioteca de Estilos Comerciais; componentes de catálogo, legendas de variedades, adesivos, isométrico e organização de cache de amostras.
  • references/style-pack-06.md: Pacote de Estilo 06: Segundo Lote da Biblioteca de Estilos Comerciais; 11 estilos, regras de filtro três e bounding boxes, catálogo Reel15.
  • references/svg-compare.md: Modo de Comparação de Saída de Modelo; restrições do player SVG e regras de prompt.
  • references/one-shape.md: Modo de Vídeo Promocional de Forma Única; lista de estados, grade de batidas, design de morphing e regras de componentes.
  • references/ai-footage.md: Fluxo de suplemento de material com IA, regras de prompt, barreiras de conteúdo e estimativa de custos.

Notas(Notas de Implementação)

  • Mecanismo de renderização: Remotion (pacote renoise-kit).
  • Decodificação de áudio: O comando rn listen usa ffmpeg (deve estar no PATH do sistema).
  • Geração de voz: A função voiceover.py usa edge-tts ou say do sistema.
  • Sincronização de batidas: Otimizada para BPMs entre 60–180bpm.
  • O formato da declaração de direitos autorais: Use texto no canto inferior direito; duração de pelo menos 3 segundos; conteúdo: 'Marca de exemplo, apenas para demonstração'.
  • Os materiais do projeto são salvos no diretório designado pelo usuário, não em um diretório temporário.
  • Este sistema de skill usa Python 3.10+. Execute uv tool install "renoise-kit[all]" para instalar dependências.

Habilidades Relacionadas