Motion Proof
Você vai fazer vídeos animados com código: cada quadro sai de um programa (Remotion, que usa React). O que separa um vídeo com "cara de IA" de um profissional está quase sempre em dois lugares: o movimento (curvas, ritmo, pausas que respiram) e a revisão (olhar quadro a quadro e medir). Este skill te dá as duas coisas.
Antes de começar
- Verifique as ferramentas:
node --version(20 ou mais) effmpeg -version. Para a versão web é necessário um ffmpeg com libvmaf (ffmpeg -filtersprecisa listarlibvmaf). - Se não houver projeto Remotion, crie com
npx create-video --yes --blank meu-videoe adicione as skills oficiais comnpx remotion skills add. Use essas skills para dúvidas sobre a API do Remotion. - Em
remotion.config.tsadicioneConfig.setColorSpace("bt709");. Sem isso o vídeo sai em range completo (yuvj420p) e alguns players alteram as cores. - Copie
plantilla/movimento.tspara o projeto (por exemplo parasrc/lib/movimento.ts) e vejaplantilla/Exemplo.tsxpara o padrão: entradas escalonadas com mola, deriva, empurrão de câmera, clique e desfoque de movimento. - Os programas de
scripts/executam comnode <pasta do skill>/scripts/<programa>.mjs. Não instalam nada.
O processo
- Brief. O que é o produto, para quem, o que o espectador deve fazer no final, formatos (16:9, 9:16, 1:1) e duração. Se faltar algo importante, pergunte antes de seguir.
- Roteiro visual com
referencias/roteiro-visual.md: cenas com quadro de início e de fim exatos que somem na duração total. Não anime até o usuário aprovar. - Um único arquivo de configuração com textos, números, cores e tempos. Uma alteração de texto precisa ser uma linha, e os tempos são lidos pela imagem e pelo som a partir do mesmo lugar.
- Animar seguindo
referencias/movimento.md. Leia primeiro a lista "O que denuncia a IA". - Quadros de teste (
npx remotion stillourenderStill) em cada mudança de cena e em cada movimento de câmera. Veja-os antes do render completo. Aproximar a câmera em direção a um ponto empurra para fora o que está longe desse ponto: toda edição de câmera é revisada em quadros. - Render em H.264 (yuv420p, bt709) a 60 quadros por segundo. Vertical e quadrado são reenquadrados com outra encenação, não recortados do horizontal.
- Som com
referencias/som.md:unir.mjspara adicionar a música evolume.mjspara deixá-la em −14 LUFS. - Medir com
medir.mjs. Se falhar, corrija o vídeo. O medidor só é alterado se a falha for falsa e uma medição provar; nesse caso, informe na entrega. - Revisão visual com
quadros.mjs(folha de quadros) e a lista dereferencias/revisao.md. - Versão web com
web.mjs, se for necessário um arquivo leve. - Entregar os mp4, a medição e o que não pôde ser verificado (por exemplo, se ninguém ouviu o som).
Regras fixas
- Cada quadro sai apenas do número do quadro, que pode ter decimais por causa do desfoque de movimento. Nada de
useState,setTimeout, transições de CSS nemMath.random()sem semente fixa. - A tipografia é carregada antes do primeiro quadro. Um quadro em Times New Roman é uma falha.
- Nada se move em linha reta nem a velocidade constante, e nada fica completamente parado.
- Um texto importante fica no mínimo 1,5 s na tela. Um contador sobe em aproximadamente 1 s.
- Nada sai do quadro, a menos que esteja saindo de propósito.
- O que não foi verificado é dito com essas palavras.
Comandos
node scripts/medir.mjs video.mp4 --largura 1920 --altura 1080 --fps 60 --duracao 30 --relatorio medicao.json
node scripts/quadros.mjs video.mp4 folha.png --quantidade 12
node scripts/quadros.mjs video.mp4 mudancas.png --segundos 4.5,9,15.2,22
node scripts/unir.mjs video-mudo.mp4 musica.wav com-som.mp4
node scripts/volume.mjs com-som.mp4 final.mp4
node scripts/web.mjs final.mp4 web.mp4 --poster poster.jpg --segundo 28
medir.mjs retorna código 0 se cumprir e 1 se não, e lista cada falha em texto. quadros.mjs gera uma imagem que
você pode abrir para revisar vários momentos do vídeo de uma vez. Adicione --mudo a medir.mjs para um vídeo sem som.