O que yuv-video-director faz?
O maestro para vídeos YUV.AI. Você (o agente) decide o que cada batida precisa, roteia para o mecanismo certo, compõe tudo em uma composição HyperFrames, envolve na marca YUV.AI Neon Phoenix, auto-verifica e renderiza para MP4. Este skill é o roteador + as implementações de referência de trabalho; carregue um arquivo de referência apenas quando aquele mecanismo estiver em jogo.
Fonte de verdade do design: o skill
yuv-design-system(modo Neon — rosa#FF1464, ciano#00E5FF, preto-rico/branco, Anton+Inter+JetBrains Mono, motivo fênix de rede neural). A forma de vídeo dele éframe.md— veja references/frame-md.md. Modelo incluído: assets/FRAME.md. Coloque na raiz do projeto; o HyperFrames o lê.
A única lei (decide tudo)
HyperFrames renderiza buscando cada quadro no Chrome headless → FFmpeg (frameIndex = floor(t·fps),
mesma entrada → mesma saída). Portanto, cada visual é de um de dois tipos:
| Padrão | Executa… | Mecanismos | Regra |
|---|---|---|---|
| Adaptador buscável ao vivo | dentro da renderização, conduzido ao tempo t por quadro | GSAP, Lottie (window.__hfLottie), Three.js, um canvas conduzido por um proxy GSAP onUpdate | deve ser baseado em relógio — sem Date.now(), Math.random() (semeie um mulberry32), setTimeout ou .play() |
| Ativo pré-renderizado | offline, gera um arquivo, importado como um clipe | ManimCE (Python→MP4/alfa), áudio TTS, remoção de fundo | renderize primeiro, depois insira como um clipe <video>/ativo |
Se pode ser buscado, é um adaptador. Se não pode, pré-renderize-o. Manim é sempre um clipe pré-renderizado — tem seu próprio renderizador e roda em Python; nunca pode ser um adaptador ao vivo.
Roteie cada batida para um mecanismo
"explique X como um TEASER/promo (FOMO, cliffhanger, rápido)" → references/teaser-explainer.md (a fórmula)
"explique um conceito / matemática / rede neural / algoritmo / treinamento" → ManimCE (clipe pré-renderizado — corte em BURSTs para teasers)
"motion com marca: logotipo · revelação de estatística · pop de ícone · pulso" → Lottie (ao vivo, lottie-web)
"legendas cinéticas · títulos · revelações · transições · destaques de dados" → GSAP (ao vivo) ← padrão
"3D / espacial" → Three.js (ao vivo) (Babylon NÃO usado)
fala → legendas → transcreva + aprove webapp (veja skill video-edit)
nenhuma narração fornecida → TTS (Kokoro: npx hyperframes tts)
cores / fontes / motivos da marca → frame.md (captado no início)
GSAP é o padrão confiável para texto/movimento. Recorra ao Lottie para gráficos de marca projetados, Manim para explicar uma ideia.
Fluxo de trabalho
- Planeje as batidas. Arco narrativo + qual mecanismo cada batida precisa. Escolha 16:9 e/ou 9:16.
- Configure a marca. Garanta que
FRAME.mdesteja na raiz do projeto (copie assets/FRAME.md). Todas as cores/fontes/motivos vêm dele — nunca invente. Três obrigações de marca em cada vídeo (veja references/brand-kit.md + references/cinematic.md): o logotipo da fênix real (assets/logo-phoenix.png) na revelação + cartão final, um Lottie em destaque real (gere um — assets/lottie-burst-generator.py), e o cartão final de link (logotipo + "LET'S FLY HIGH" + o conjunto completo de links + CTA). Para ritmo de teaser/rede social veja references/editing.md; para cortes psicológicos/cliffhanger/FOMO veja references/cinematic.md. - Pré-renderize as batidas de ativos primeiro (para que existam como clipes):
- Manim → references/manim.md + assets/manim-scene-template.py. Renderize
py -m manim render -qh --fps 30 scene.py SceneName, copie o MP4 paraassets/. - Legendas/TTS → reutilize o skill
video-edit(transcreva → aprove webapp → sincronize) enpx hyperframes tts.
- Manim → references/manim.md + assets/manim-scene-template.py. Renderize
- Estruture + componha.
npx hyperframes init <slug> --non-interactive. Escrevaindex.html(o skillhyperframesé o contrato). Use:- o fundo buscável de campo de rede neural → assets/neural-net-field.js
- Lottie do jeito da marca → references/lottie.md + assets/neural-pulse.json
- a renderização Manim como um clipe
<video class="clip" muted playsinline>no corpo - entradas GSAP por cena, uma transição de flash neon em cada limite, fade-out apenas na cena final
- para ritmo de teaser / rede social (cortes duros rápidos, pancadas cinéticas de palavras, montagem de gancho, cortes glitch/cromáticos) → references/editing.md — corte como um produtor, não como uma apresentação de slides
- Auto-verifique (portões). references/gates.md:
npx hyperframes lint(0 erros) →validate(0 erros no console, WCAG AA) → renderize → verificação pontual de 5 quadros ao longo da linha do tempo. Corrija → reexecute. Lottie DEVE ser verificado por captura de tela (a armadilha Skottie-vs-lottie-web). - Renderize.
npx hyperframes render --fps 30 --output renders/<nome>_FINAL.mp4. Para vertical, clone com um layout 1080×1920 (vejavideo-edit).
Pré-requisitos (verifique primeiro; degrade graciosamente)
Veja references/prereqs.md. Precisa de Node 22+, FFmpeg, Python 3.11+ com pip (Manim/legendas). Nesta máquina: Python real é py → C:\Python313 (o python puro é o venv do Hermes SEM pip — não use). ManimCE instala via py -m pip install manim (nenhum LaTeX necessário se você usar Text()/MarkupText, não Tex/MathTex). Se Manim não estiver disponível → pule batidas de matemática ou ofereça para instalar; nunca falhe todo o vídeo.
O que este skill inclui (implementações de referência que lintam + renderizam)
| Arquivo | O que é |
|---|---|
| assets/FRAME.md | Especificação de quadro de vídeo YUV.AI Neon Phoenix (renomeado do pacote Coral da HeyGen) |
| assets/neural-net-field.js | Fundo de canvas de rede neural fênix determinístico e buscável |
| assets/neural-pulse.json | Lottie Bodymovin criado à mão (renderiza em lottie-web, não apenas Skottie) |
| assets/gen_content_lotties.py | Gerador para 6 Lotties de CONTEÚDO de nível profissional (colapso WhatsApp, feixe de decodificação, leitura ocular, herói de linha fantasma, extração de orbe, fogo cerebral) — transparentes, persistentes+contínuos, verificados no lottie-web |
| assets/{wa-collapse,decode-beam,eye-read,ghost-line,orb-extract,brain-fire}.json | Os 6 lotties de conteúdo gerados, prontos para usar |
| assets/manim-scene-template.py | Modelo de cena ManimCE, estilo de marca neon, somente Text (sem LaTeX) |
| assets/what_is_nn.py | Cena ManimCE "O que é uma rede neural" (neurônio → rede → treinamento, 34,5s) |
| assets/Anton-Regular.woff2 | Anton local (o renderizador não o resolve automaticamente; declare @font-face) |
| references/composition-pattern.md | O padrão completo index.html multi-mecanismo (campo + Lottie + clipe Manim + GSAP + flash) |
| references/teaser-explainer.md | A fórmula cinematográfica de teaser-explicador: pancadas de abertura fria → BURSTs manim → confronto → montagem FOMO → cliffhanger; batidas de lottie transparente sincronizadas com conteúdo; a correção seek-modulo; sintetizador de música de teaser |
Skills companheiros
hyperframes (contrato de composição — sempre invoque ao criar), hyperframes-cli, lottie,
video-edit (transcreva + aprove webapp), yuv-design-system (marca). Este skill os orquestra.