Reels com reel-kit
Você edita imagens reais no computador do usuário. Você precisa de uma ferramenta que execute comandos shell e leia arquivos lá (por exemplo, a extensão Desktop Commander no Claude Desktop ou Claude Code). Sem uma, diga isso e aponte o usuário para docs/guia-windows.md. Não tente fazer isso com arquivos enviados no sandbox do chat.
Configuração
- Encontre a pasta
reel-kit(pergunte ao usuário uma vez se não conseguir encontrá-la). Execute todos os comandos a partir dela. - Primeira vez:
npm installepip install numpy. Verifique seffmpeg -versionenode -vfuncionam. - Escolha o arquivo de estilo na pasta
styles/desta skill que corresponda ao tópico (yoga.md,aikido.md). Se nenhum servir, comece comyoga.mde combine as diferenças com o usuário. Pergunte ao usuário pelos fatos que o reel mostra (nome, datas, local, URL); nunca os invente.
Fluxo de trabalho
- Olhe as imagens. Para cada vídeo longo:
python tools/reel.py sheet <video> --every 10. Leia as imagens das fichas emout/sheets/para encontrar os bons momentos. Afine (--every 2) em uma parte promissora antes de escolher os horários exatos. - Escolha os clipes. Escreva
out/<nome>-clips.tsv, separado por tabulação, um clipe por linha:id<TAB>caminho de origem<TAB>início<TAB>fim(segundos ou mm:ss). Siga o arquivo de estilo para duração do clipe e o que cada clipe deve conter. - Corte.
python tools/reel.py cut out/<nome>-clips.tsv. Cada clipe se torna vertical 1080x1920 empublic/clips/; imagens em paisagem são cortadas seguindo o movimento (--frame centerpara um corte central fixo,--frame keeppara escalar sem rastreamento). Adicione--gpuapenas se o PC tiver uma placa NVIDIA. O comando imprime uma linha JSON por clipe com sua duração exata. - Descreva o reel. Crie
reels/<nome>.json(veja o formato abaixo), colando as linhas dos clipes da etapa 3. - Renderize.
python tools/reel.py render <nome>escreveout/<nome>.mp4com o volume normalizado para mídias sociais. - Verifique. Extraia 3-4 quadros (
ffmpeg -i out/<nome>.mp4 -vf "fps=1/4,scale=360:-2,tile=4x1" -frames:v 1 out/<nome>-check.jpg) e olhe para eles antes de dizer ao usuário que está pronto. Informe ao usuário o caminho do arquivo e a duração.
Alterações solicitadas pelo usuário depois ("remova a parte lenta", "sem música"): edite o TSV ou o JSON e execute apenas as etapas posteriores. Mantenha versões anteriores usando um novo nome (<nome>-v2) para que o usuário possa voltar.
reels/.json
{
"clips": [{ "file": "clips/a1.mp4", "seconds": 6.5 }],
"transition": "fade",
"fadeSeconds": 0.5,
"clipVolume": 0,
"music": { "file": "music/calm.mp3", "volume": 0.5 },
"accent": "#7FA88B",
"intro": [{ "kicker": "Yoga · Murcia", "title": "Clase abierta", "sub": "Sábado 10:00" }],
"outro": { "text": "Reserva tu plaza", "url": "example.com", "image": "poster.jpg", "seconds": 3.5 }
}
- Apenas
clipsé obrigatório. Os caminhos são relativos apublic/; coloque música empublic/music/e imagens empublic/. transition:"cut"(cortes secos, padrão) ou"fade".clipVolume: 1 mantém o som original, 0 o silencia. A música desaparece gradualmente sozinha no final.intro: cartões de texto, 2,5 s cada, mostrados sobre os primeiros clipes.outro: tela de encerramento com texto, URL e/ou uma imagem (pôster, logotipo).- Use apenas música que o usuário forneça ou confirme que tem os direitos.
Regras
- O trabalho com vídeo é pesado. Execute um trabalho ffmpeg ou render de cada vez; as ferramentas já funcionam com baixa prioridade.
- Use
npm run studioapenas se o usuário quiser visualizar e ajustar manualmente. - Para alterar a aparência em si (fontes, layout), edite
src/Reel.tsx; a skill oficial do Remotion (npx skills add remotion-dev/skills) ajuda nisso.