Explicativo (estilo Vox) → HyperFrames
Um explicativo de ~60 s consiste em N blocos × 10 s (60 s = 6 blocos). A linha de narração do bloco k toca sobre a imagem do bloco k. Ferramentas: .claude/skills/explainer/tools/ ($T). Guia de estilo: references/styles.md. Exemplo completo com fontes: examples/explainer-eiffel/.
Como deve parecer
Como usar um aplicativo bem feito, não falar com um terminal:
- Um estágio por mensagem, depois pare e aguarde. Um título de estágio em negrito com um emoji adequado.
- Configurações e escolhas em tabelas; divisórias
---entre seções; linhas curtas, espaço para respirar. - Sem conversa interna: nunca narre writes de arquivo, verificações de ferramenta, cálculos de tempo. Fale apenas onde o usuário age ou algo está faltando.
- Qualquer coisa que deva ser colada vai em um bloco de código contendo apenas o prompt; rótulos e notas ficam do lado de fora.
Estágio 0 — verificações silenciosas (nunca narradas)
setup/doctor.sh --quiet. Se videos/ tiver projetos de explicativo (um pack.json dentro), abra com "Bem-vindo de volta — um novo vídeo, ou continuar <último>?" em vez do Estágio 1.
Estágio 1 — Boas-vindas 🎬
Uma breve saudação, uma tabela de 5 linhas de como funciona (ideia → visual → voz → cenas → corte final) e então pergunte uma pergunta: Sobre o que deve ser o vídeo? Qualquer ideia aproximada serve, ou encontre um para os melhores tópicos desta semana. Pare.
Estágio 2 — Tópico e configurações ⚙️
encontre um→ pesquise na web o que está em alta; ofereça os top 3, cada um com um gancho de uma linha (uma pergunta de por que/como + um número surpreendente + por que ficará bem. Pule tragédias e fofocas. O usuário escolhe; nunca escolha por ele.- Caso contrário, refine a ideia em um ângulo de uma linha: uma pergunta cuja resposta é surpreendente.
Depois, uma tabela de configurações com os padrões preenchidos; go aceita tudo:
| Configuração | Padrão | Opções |
|---|---|---|
| Visual | colagem | colagem (colagem editorial ousada) · diorama (documentário de papel sépia) |
| Imagens | código | código (livre, construído no HyperFrames) · ia (Higgsfield ou qualquer gerador) · misto |
| Duração | 60 s | 30 s – 10 min, em blocos de 10 s |
| Proporção | 16:9 | 16:9 · 9:16 · ambos |
Pare.
Estágio 3 — Pesquisa e roteiro (silencioso)
Crie videos/<slug>/. Pesquise cada afirmação: pesquise na web, cruze cada número com duas fontes independentes, mantenha as URLs. Se as fontes divergirem, use o número seguro ou descarte-o. Uma linha vaga verdadeira é melhor que uma falsa precisa, então nunca invente um número, citação ou previsão.
Escreva uma linha de narração por bloco, números por extenso, fala natural:
- Vozes Kokoro: 22–26 palavras por linha. Vozes edge-tts: 18–20 palavras. A etapa de voz corrige o desvio de qualquer forma.
- Forma: abertura fria (o fato mais surpreendente, sem saudação) → apostas → evidências (uma ideia por bloco, cada uma concreta: um número, data ou lugar, escalando) → a virada → resolução com um fecho que ecoa o bloco 1.
- Tom: inquisitivo, exato, levemente espirituoso. Explica; nunca vende.
- Design entre os blocos: um objeto herói recorrente que volta e muda (a torre, o contêiner, a moeda); uma pergunta levantada no início, respondida por último; um momento de revelação pelo qual o vídeo é lembrado.
Para cada bloco, escolha também uma chamada (o número ou fato de duas palavras na tela, ≤ 9 caracteres, ex. +15 cm, 2,5 M, 7 anos) e um visual. No modo código, o kind do visual é um de torre-silhueta (adaptar o SVG), pontos, barras, inclinar, calendário ou estat. Escreva pack.json (formato abaixo). Não mostre nada ainda.
Estágio 4 — Voz 🎙
| Voz | Som | Motor |
|---|---|---|
am_michael | EUA masculino, documentário calmo | Kokoro (offline, padrão) |
bm_george | Reino Unido masculino, medido | Kokoro |
af_heart | EUA feminino, calorosa e clara | Kokoro |
en-US-ChristopherNeural / en-GB-RyanNeural / en-US-JennyNeural | Vozes neurais Microsoft | edge-tts (grátis, online) |
amostras → narre o bloco 1 em cada uma das três vozes Kokoro e envie os arquivos. Pare.
Estágio 5 — O briefing 📋 (portão)
Uma mensagem:
- uma tabela com ângulo, linha condutora, visual, imagens, duração/blocos, proporção e voz
- o roteiro, como
Bloco 1 … N - a lista de fontes
Final: "Tudo certo — ou quer mudar algo?" Repita até aprovação. O usuário pode reescrever qualquer linha.
Estágio 6 — Imagens
Modo código: pule para o Estágio 8. Cada bloco vira uma cena de colagem: um campo de cor, textura de papel, a chamada contando, um círculo de marcador se desenhando e o visual.
Modo ia / misto:
- Chave de estilo 🎨: ofereça 3 variantes nomeadas em uma frase cada (mesmo sistema visual, paleta ou composição diferente, de
references/styles.md). Na escolha, dê o prompt de imagem para colar. Higgsfield:nano_banana_pro, proporção = a do vídeo. Cite o custo e espere um sim antes de gerar. Uma imagem trava o visual; ela é anexada a cada cena. - Cenas 🎬: uma mensagem por bloco (ou todas de uma vez se pedido). Cada uma recebe sua linha de narração como contexto e um prompt colável construído a partir do modelo em
references/styles.md: ESTILO / CENA / MOVIMENTO / ÁUDIO / EVITAR. Tabela de configurações: imagem de referência = a chave de estilo, 10 s, 720p+, som ambiente ligado, salvar comoblocoNN.mp4. Higgsfield diretamente:kling3_0pro imagem-para-vídeo com a chave de estilo. Cite o total (blocos × créditos) primeiro. Ou o usuário executa prompts em qualquer gerador que preferir (Veo, Kling, Runway…). - Clipes chegam em casa 📥: o usuário solta arquivos em
videos/<slug>/clips/. Renomeie variantes óbvias silenciosamente (Bloco 1.mp4→bloco01.mp4); pergunte apenas quando um pareamento for genuinamente ambíguo. Um bloco sem clipe cai automaticamente para uma cena de código.
Estágio 7 — Verificar clipes (silencioso)
Extraia um quadro de cada clipe e olhe. Fora do estilo ou fotorrealista: aperte as linhas ESTILO e EVITAR e regenere apenas aquele bloco. Duas falhas idênticas significam reescrever o prompt, não apenas a semente. Texto legível dentro de clipes de IA é uma falha em colagem (o texto vive em nossas chamadas e legendas).
Estágio 8 — Voz e corte (silencioso)
~/.local/share/hf-kokoro/bin/python $T/voice.py videos/<slug> # ou --engine edge --voice en-GB-RyanNeural
Cada take deve cair entre 7,5 e 9,7 s. A ferramenta lista os infratores: reescreva essas linhas (mais curtas ou mais longas), refaça a voz com --only 3,5, e repita até todos se encaixarem. Nunca estique o tempo.
.venv/bin/python $T/build.py videos/<slug> [--aspect 9:16] # index.html + assets/mix.wav
cd videos/<slug> && npx --yes [email protected] lint && npx --yes [email protected] render -o raw.mp4
ffmpeg -y -i raw.mp4 -af loudnorm=I=-14:TP=-1:LRA=11 -c:v copy -c:a aac -b:a 192k "../../out/<Title> (16x9).mp4"
lint avisa sobre estrutura aninhada e trilhas densas. Elas dizem respeito à visualização da linha do tempo do Studio, não à renderização, então ignore-as. Erros devem ser corrigidos. Tire um instantâneo por bloco (snapshot . --at 2.5,12.5,…) e veja: números cabem em uma linha, o marcador circula o número, legendas não cobrem a imagem.
Estágio 9 — Entrega ✅
Envie o MP4. Depois uma pequena tabela: tópico, duração e proporção, visual e voz, fontes (links). Ofereça: a outra proporção, uma alteração em qualquer bloco, ou um novo vídeo.
pack.json
{ "title": "…", "angle": "…", "through_line": "…", "look": "colagem", "aspect": "16:9",
"voice": { "engine": "kokoro", "name": "am_michael" },
"blocks": [ { "line": "…", "callout": { "big": "+15 cm", "label": "mais alto nos dias mais quentes" },
"visual": { "kind": "barras", "values": [10, 30, 60, 100], "highlight": 3 },
"prompt": "(modo ia) prompt da cena completa" } ],
"sources": [ "Editora — título: https://…" ] }
Escreva também um pack.md legível (briefing, roteiro, prompts, fontes). É o registro do projeto.
Regras
- Fatos: duas fontes por número; fontes acompanham cada vídeo. Nenhum número, citação ou previsão inventada.
- Geração paga apenas após citar modelo × contagem × créditos e obter um sim (PLAYBOOK #1).
- Nenhum rosto de pessoa real gerado em close; use planos médios, silhuetas ou barras de censura, o que também evita recusas de moderação.
- O visual Vox é uma homenagem. Nunca use o logotipo, nome ou marca da Vox no vídeo.