Réplica 1:1 de Vídeo de Resenha de Livros
Transforme o formato de vídeo de um criador de referência em uma receita reutilizável e produza conteúdo original no mesmo formato usando um pipeline industrial (gate de storyboard → timeline TTS quadro a quadro → renderização de legendas sobrepostas → renderização headless quadro a quadro). A réplica é do formato (estrutura/embalagem/ritmo/estilo visual), não do conteúdo – roteiro, imagens e narração são 100% originais.
Esta skill foi validada completamente com o livro "Rápido e Devagar" (referência "Xiang Bu Huo", 109 quadros, 654,9s de vídeo final).
Antes de começar, confirme três coisas com o usuário
- Vídeo de referência: caminho de arquivo local ou link (Douyin/Bilibili, etc.). Se não tiver o arquivo, peça ao usuário para gravar a tela ou baixar e colocar no projeto
- Título do livro desta edição: qual livro será abordado (melhor se for de administração, cognição, psicologia, negócios ou crescimento pessoal)
- Nome da marca + Nome da persona: ex: "Lab do Conhecimento / Mark"
Fase A · Inicialização do Projeto
PROJ=Diretório do projeto (definido pelo usuário ou criado novo)
mkdir -p $PROJ/{00_benchmark,01_script,02_storyboard,03_audio,04_subtitles,05_assets/images,07_hyperframes_production,08_publish,scripts}
cp <diretório_da_skill>/templates/{pipeline.py,create_storyboard.py,gen_audio_minimax.py,build_hyperframes_html.py,render_html_video.py} $PROJ/scripts/
cp <diretório_da_skill>/templates/.env.example $PROJ/.env # Usuário preenche MINIMAX_API_KEY
Dependências: python3 + playwright (com chromium) + ffmpeg. Se faltar, instale: pip install playwright && playwright install chromium.
Fase B · Análise do Vídeo de Referência → Produzir Receita
Siga references/benchmark-analysis.md para analisar o vídeo de referência e produzir 00_benchmark/recipe.md (receita em cinco camadas: especificações/ritmo/estrutura/visual/áudio). Em seguida, injete a receita nos modelos:
| Item da Receita | Local de Injeção |
|---|---|
| Palavras-chave de estilo visual do corpo | STYLE_SUFFIX em create_storyboard.py |
| Descrição do fundo do cartão de capítulo/fundo final | CARD_BG_PROMPT / OUTRO_CARD_PROMPT no mesmo arquivo |
| CSS de cor de destaque/cor do título | #ffde59 (amarelo destaque) / #e8c66a (dourado título) em build_hyperframes_html.py |
O modelo padrão já vem com a receita "quadrinhos retrô americanos + fundo preto e dourado" (referência Xiang Bu Huo). Se a referência seguir esse estilo, pode pular a injeção.
Fase C · Criação de Roteiro (Estrutura de Seis Partes)
Escreva 01_script/final.md seguindo references/copywriting-template.md.
Regra de ferro: cada frase deve poder ser transformada em uma imagem específica – o gate de cobertura da próxima etapa depende palavra por palavra do roteiro. Atualize também a [configuração por edição] no topo de create_storyboard.py (SCRIPT_MD aponta para final.md, BOOK_TITLE).
Fase D · Storyboard (Gate ①)
Preencha cada frase do roteiro nas tuplas SHOTS em scripts/create_storyboard.py (narração = fatia exata do texto original, imagem = tradução literal, card_id, overlay_text). Em seguida:
python3 scripts/create_storyboard.py
Se o gate de cobertura não passar, pare e corrija – nunca prossiga com defeito. Saída: 02_storyboard/prompts.tsv + nano_banana_prompts.md.
Fase E · Geração de Imagens em Lote (Etapa Humana)
Entregue nano_banana_prompts.md inteiro para a ferramenta de geração de imagens do usuário (Gemini Antigravity / Nano Banana ou qualquer outra). Instruções: 16:9, nome do arquivo exatamente igual ao nome na lista, colocar em 05_assets/images/, pular arquivos já existentes. Deve gerar N imagens de corpo + chapter_card_bg.png + outro_card.png. Esta fase pode ser executada em paralelo com a Fase F.
Fase F · Narração + Timeline em Nível de Quadro
python3 scripts/gen_audio_minimax.py --limit 3 # Primeiro sintetiza 3 quadros para o usuário testar o timbre
python3 scripts/gen_audio_minimax.py # Completo (limite de 18 RPM, ~110 quadros ≈ 7 minutos)
Timeline = calculada a partir do número de bytes PCM, precisa por quadro, sem Whisper. Ao alterar texto, apenas o quadro correspondente é re-sintetizado (cache por hash).
Fase G · Renderização do Vídeo Final (Gate ② + Motor)
python3 scripts/build_hyperframes_html.py # Validação de completude: só permite renderizar se "tudo estiver pronto"
python3 scripts/render_html_video.py --start 0 --duration 6 --out /tmp/smoke_hook.mp4
python3 scripts/render_html_video.py --start <momento do cartão de capítulo> --duration 6 --out /tmp/smoke_card.mp4
python3 scripts/render_html_video.py --start <5 segundos antes do final> --duration 6 --out /tmp/smoke_outro.mp4
# Após inspeção visual dos três trechos de teste, renderizar completo (~110 quadros ≈ 11 min de vídeo, renderização ≈ 14 min)
python3 scripts/render_html_video.py
Se a renderização for interrompida, basta executar novamente (retomada automática). A prévia pode ser visualizada no navegador: open 07_hyperframes_production/index.html (espaço para play/pausa, ← → para 5 segundos).
Fase H · Validação + Publicação
Comandos de validação, pontos de inspeção visual, modelos de materiais de publicação (fórmula de título/etiquetas/capa/comentário fixado) estão em references/pipeline-guide.md. Os materiais de publicação devem ser salvos em 08_publish/.
Regras Rígidas (Nunca Violar)
- Não passar gate sem aprovação: gate de cobertura (roteiro = narração), validação de completude (imagens prontas para renderizar)
- API key apenas no
.env: nenhum script, documento ou artefato de conversa pode conter a chave - Imagens sem texto, todo texto na camada de renderização – cartões de capítulo, cartões de dados, legendas e marca são sobreposições HTML, permitindo trocar de livro sem refazer imagens
- Antes da renderização completa, inspecionar os três trechos de teste (gancho/cartão de capítulo/final)
- Todo prompt de imagem deve incluir sufixo de estilo fixo + formato 16:9 + proibição de texto e placas no fundo
Referência de Desempenho Real (Ajustar Expectativas do Usuário)
Roteiro 3601 caracteres → 109 quadros → 654,9s de vídeo final; TTS 7 minutos; renderização 24 fps (vídeo completo ≈ 14 minutos); tempo total de trabalho manual ≈ um dia útil (roteiro representa mais da metade).