Gerar-footage
O outro ponto de entrada do plugin. video-use edita footage que você JÁ TEM. Esta skill
constrói vídeos a partir de footage que você AINDA NÃO TEM: narração mais keyframes estáticos,
compostos e animados pelo HyperFrames, renderizados deterministicamente.
Pipeline (comprovado em produção; veja docs/rca/ para saber por que o passo de movimento é
determinístico):
script (com tags de áudio v3)
→ narração eleven_v3 (scripts/tts_v3.py)
→ transcrever (npx hyperframes transcribe narration.mp3)
→ travar janelas de cena nos limites das sentenças (timestamps por palavra)
→ IMAGENS DE QUALQUER LUGAR (um keyframe por cena — veja abaixo)
→ composição animate-stills (recipes/04-animate-stills.md, build_scenes.py)
→ lint → render → QA de movimento + áudio (scripts/motion_check.py, contact sheet)
A ordem importa: voz PRIMEIRO, visuais depois
Gere e transcreva a narração ANTES de construir qualquer composição ou coletar keyframes. Os limites das sentenças faladas são as janelas de cena. As leituras v3 são não-determinísticas no ritmo — uma estimativa de 120s pode resultar em 100s ou 166s — então visuais construídos primeiro sempre são reajustados.
Locução — ElevenLabs v3 com tags de áudio
scripts/tts_v3.py — apenas stdlib, sem dependências pip. Chave em $ELEVENLABS_API_KEY
ou no .env do plugin em skills/video-use/.
python3 scripts/tts_v3.py --probe # verificar eleven_v3 + listar vozes
python3 scripts/tts_v3.py --voice <id> --stability 0.0 --script SCRIPT.md --out narration.mp3
- Tags de áudio vão no texto do script:
[excited],[whispers],[softly],[dramatic tone],[warmly]. v3 as interpreta; v2 as ignora. - Estabilidade:
0.0= Criativo (máxima expressividade),0.5= Natural,1.0= Robusto. Uma leitura "plana" é corrigida diminuindo a estabilidade e retaggeando o script, não com palavras mais altas. - Alavancas de entrega: CAPS em palavras de impacto,
...para pausas dramáticas, contraste (mude para[whispers]bem antes de uma grande fala). - Audicione 2-3 vozes na primeira sentença antes de se comprometer. A primeira voz nunca é a escolhida.
- v3 pode parafrasear ligeiramente. Transcreva e LEIA o resultado; regenere se uma linha chave se desviou.
Imagens de qualquer lugar
Um keyframe é apenas um PNG. O pipeline não se importa de onde veio.
Uma imagem por cena, nomeada kf-NN.png, listada no manifesto de cena
(recipes/04-animate-stills.md documenta o schema). Fontes que funcionam:
- Ferramentas de imagem com IA — qualquer ferramenta texto-para-imagem que você já tem (Gemini, GPT image, Midjourney, SD local, ou um ator hospedado — veja a seção opcional no final). Gere a partir de prompts por cena com um sufixo de estilo fixo.
- Screenshots e fotos — capturas de UI de produto, material de arquivo, digitalizações, fotografia real. O tratamento Ken Burns foi inventado para isso.
- HTML renderizado pelo HyperFrames — construa um frame HTML estilizado e capture-o; o motor produz seus próprios stills.
Regras que valem independentemente da fonte:
- Trave UM estilo em DESIGN.md e aplique-o a cada frame. Derivação entre frames parece tomadas diferentes quando há movimento e gradação.
- Verifique o tipo de arquivo. Algumas ferramentas servem JPEGs com nomes .png;
verifique os bytes mágicos antes de compor (
file kf-01.png). - QA em cada frame (leia a imagem). Um frame fora do estilo é para regenerar, não para manter. Verifique: artefatos de texto, marcas d'água, anacronismos, rostos em close-up (risco de deriva), paleta errada.
- Sem IP nomeado, sem semelhança com pessoa real viva em frames gerados para qualquer coisa publicada publicamente.
Animação — determinística, no repositório
Still se tornam movimento com a receita animate-stills
(recipes/04-animate-stills.md): uma composição HyperFrames orientada por manifesto
aplicando linguagem de câmera (push-ins, drifts, holds) e atmosfera GSAP
(névoa, chuva, mudanças de luz, vinheta) sobre cada still, com janelas de cena travadas
na transcrição. scripts/build_scenes.py gera as camadas de cena a partir do
manifesto; scripts/motion_check.py prova movimento real via diff de pixels na
saída renderizada. Renderiza identicamente a cada execução, não custa nada, funciona
offline.
Requer Node >= 22 para a CLI do HyperFrames.
Legendas e montagem
- Legendas incorporadas (reprodução automática silenciada no Reddit/X), no nível da frase, temporizadas a partir das palavras da transcrição.
- Flash branco (0,28s) nas viradas da história; crossfades suaves em outros lugares; gradação com vinheta escura unifica stills de fontes mistas e faz as legendas serem legíveis.
- Verifique movimento no render: diff de pixels entre dois frames com 4s de diferença dentro de uma
cena (
scripts/motion_check.py— diff médio de cinza > 3 = movimento real). - QA de áudio:
ffmpeg -af volumedetect— fala documental fica perto de -26 dB médios.
Opcional: ferramentas generativas hospedadas
Estas NÃO são dependências. São uma maneira entre várias de obter stills ou clipes, e podem sumir sem aviso — planeje-se adequadamente.
- Atores de texto-para-imagem do Apify (ex.:
akash9078/ai-image-generator, ~$0,01/imagem) funcionaram bem para geração em lote de keyframes. Cuidado com falhas silenciosas (ok:truecom URL nulo) e tipos de arquivo incorretos. - Atores hospedados de imagem-para-vídeo são onde este pipeline mantinha anteriormente seu
passo de movimento. Em 2026-06-11 o ator
danitn11/wan22-lightning-image-to-video(2 usuários no total) morreu upstream no meio da produção e todas as execuções falharam instantaneamente; a análise completa está emdocs/rca/rca-generate-footage-animation-2026-06-11.md. O processo generativo imagem-para-vídeo agora reside em um repositório separado com um backend BYO-key plugável; o passo de movimento deste plugin é determinístico e local.