Communitygithub.com

nnesu/animated-shorts

Crie um curta-metragem de história em quadrinhos vertical (cerca de 40-90 s) no estilo "personagens cartoon 2D em um mundo 3D pintado", com narração por voz, efeitos sonoros CC0 gratuitos e música por cena, renderizado com three.js dentro do Remotion em 1080x1920. Use quando o usuário pedir um vídeo "como o vídeo da ponte", "naquele estilo cartoon 3D", uma história curta de ciência/história com personagens cartoon em 3D, ou disser "use a habilidade de cartoon curto".

O que é animated-shorts?

Esta habilidade permite que um agente de IA crie curtas-metragens de história em quadrinhos verticais (1080x1920) no estilo distinto de "personagens cartoon 2D em um mundo 3D pintado", com duração de 40 a 90 segundos. Construída sobre three.js para renderização 3D e Remotion para composição de vídeo, a habilidade orquestra um pipeline completo: desde a pesquisa de fatos e roteiro baseado em histórias reais e surpreendentes, passando pela gravação e ajuste de narração, até a construção de mundos 3D detalhados com multidões, texturas e adereços. A saída final inclui mixagem de áudio profissional com narração, efeitos sonoros CC0 gratuitos (cerca de 6 dB abaixo da voz) e música por cena, tudo em -15 LUFS. A habilidade é projetada para uma operação autônoma, automatizando verificações de qualidade (QA) de quadros-chave, renderização incremental e mixagem, enquanto solicita aprovação humana apenas em dois pontos: no roteiro e nos quadros-chave finais antes da renderização final. Suporta execução em Windows (com Bash) e inclui verificações rigorosas de licenciamento para modelos 3D e efeitos sonoros, garantindo conformidade total com CC0.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nnesu/animated-shorts/tree/HEAD

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Curta-metragem cartoon 3D (three.js + Remotion)

Comandos executados a partir da raiz do projeto, no Bash (não PowerShell). references/ e templates/ são relativos a esta habilidade; SK = .claude/skills/cartoon-3d-short.

Curta-metragens finalizados em src/videos/ nunca são editados. Não os leia para aprender o código: references/API.md é o mapa.

references/STYLE_BIBLE.md e references/reports/ são material de estudo de outro canal. Nunca copie os scripts, personagens ou tomadas desse canal, nunca o nomeie em uma narração ou descrição.

Regras

  • Sem legendas ou rótulos. Apenas inglês. Um tom de voz estável. Piadas são fatos reais pesquisados.
  • Cada tomada esconde o horizonte atrás de prédios, árvores com arbustos de 2-3 m nas lacunas do tronco, ou uma colina distante. Preencha apenas o que a câmera vê. Cenários são ricos: multidões lotadas, ornamentos, texturas, bandeiras.
  • Exportação final é 1080x1920 a 30 fps, nunca --scale.
  • Mixagem: voz, SFX CC0 gratuito cerca de 6 dB abaixo dela, trechos de música por cena (nunca uma faixa contínua) com compressão abaixo da voz, mixagem inteira em -15 LUFS.
  • Aprovação permanente para SFX e modelos 3D gratuitos e sem copyright: verifique a licença na página do arquivo, pule atribuição / não comercial / compartilha igual, registre em _sfx/LICENSES.md, diga o que você buscou e o tamanho. Pergunte antes de logins, pagamentos, outros downloads ou de executar um pacote que não está instalado.
  • Lista de verificação de quadros-chave (references/QA.md): Agente Opus-medium no primeiro conjunto completo e mais uma vez antes da renderização, suas próprias verificações entre elas, então o usuário aprova os quadros-chave. Nenhuma pontuação absoluta é um bloqueio.
  • Correções renderizam apenas as partes alteradas (--redo), nunca o vídeo inteiro.
  • Salve a cada etapa. Duas paradas para o usuário: aprovação do roteiro e aprovação dos quadros-chave finais antes da renderização final. Caso contrário, trabalhe até a entrega sem perguntar.

Pipeline

  1. Tópico e fatos. Uma história real surpreendente com uma causa e efeito visuais e físicos, mais uma analogia cotidiana. Fatos com fontes vão no topo de src/videos/<nome>/SCRIPT.md.
  2. Roteiro. A duração segue a história. Contagem de palavras = segundos x palavras/s, medida a partir de uma amostra de uma frase da voz escolhida (sem amostra: assuma 3 e verifique após a captura). Batidas: gancho (fato absurdo, uma linha), cenário (ano, lugar, orgulho), ação (3-4 batidas crescentes), estalo, morto de cara ("/ Felizmente... / Infelizmente..."), explicação (uma ideia, analogia cotidiana), consequência, reviravolta de retorno. Nunca descreva o que o espectador já vê. Layout apenas: templates/SCRIPT_example.md. Pare aqui até o usuário aprovar o roteiro.
  3. Voz. O usuário gera a captura em _voiceover/<nome>/voice_raw.wav. Depois python scripts/voice_trim.py _voiceover/<nome>/voice_raw.wav _voiceover/<nome>/voice.wav e python scripts/words_whisper.py _voiceover/<nome>/voice.wav _voiceover/<nome>/words.json. Tudo é cronometrado para words.json: nunca o leia, imprima como word@frame e corrija palavras erradas com um script curto. Aja na linha de pausas mantidas (references/GOTCHAS.md "Voz").
  4. Pasta do vídeo. Copie os quatro arquivos em templates/starter/ para src/videos/<nome>/, renomeie Short.tsx para <Nome>.tsx e StarterShort / STARTER_FRAMES dentro dele, registre a composição em src/Root.tsx. Eles contêm apenas dados da história mais uma demonstração de 2 tomadas marcada como EXAMPLE; o motor está em src/shared/. Leia references/API.md antes de editar. Se src/shared/ ou scripts/ estiver faltando ou sem um arquivo, copie de templates/shared/ ou templates/scripts/.
  5. Varredura de adereços. Para cada batida, busque public/kenney/INDEX.txt e tabela as escolhas em src/videos/<nome>/PROPS.md. Adereço faltando: busque um pacote CC0 gratuito (references/GOTCHAS.md) em public/kenney/<pacote>/, anexe ao INDEX.txt, adicione <pacote>/<modelo> a KENNEY em world.ts.
  6. Plano de tomadas em story.ts: TOTAL = teto(segundos de voz x 30), depois SHOTS, XFADE, FLASH_AT, CAMS, KICKS, DOF_V2. Reações visuais chegam 0-3 quadros antes de sua palavra. Cada pausa se insinua. Cada movimento em loop recebe um tempo de troca explícito.
  7. Construa as tomadas substituindo as partes EXAMPLE. A aparência da casa está embutida no motor (references/LOOK.md); nunca edite src/shared/ para um vídeo.
    • Mundo (world.ts): cenários, adereços, materiais, adereços em movimento em pose(). Céu, luzes, cidade, porto, sol e eliminação de linha de visão vêm do motor. Passe keep = true para prop() para adereços principais.
    • Personagens (cast.ts): roupas e um caso stage() por encenação. Cartões, contornos, piscadas e sombras vêm do motor.
    • Composição (<Nome>.tsx): nome e poolShots apenas. A cadeia de pós-processamento (tinta, desfoque de lente, bloom, mapa de tom, gradação) está no motor.
  8. Verificação de quadros-chave, antes de qualquer renderização longa (references/QA.md): quadro intermediário de cada tomada, verificações roteirizadas, verificação do agente, correção e autoverificação, segunda verificação do agente, correção e autoverificação. Pare aqui até o usuário aprovar os quadros-chave.
  9. Preparação de som (references/SOUND.md): eventos SFX em _sfx/<nome>_events.json, trechos musicais em _sfx/<nome>_music_cues.json.
  10. Renderização final (references/RENDER.md): REMOTION_TMP=C:/remotion-tmp node scripts/render_chunks.mjs <Comp> out/<nome>/video.mp4 <TOTAL>.
  11. Mixagem e QA. Monte a música (music_cues.py, veja references/SOUND.md), então python SK/templates/audio/build_mix.py _voiceover/<nome>/voice.wav out/<nome>/video.mp4 out/<nome> _sfx/<nome>_events.json [_sfx/<nome>_music.wav] escreve video_final.mp4. Depois python scripts/bridge_shots.py src/videos/<nome>/story.ts out/<nome>/shots.json e python scripts/short_qa.py out/<nome>/video_final.mp4 out/<nome>/qa out/<nome>/shots.json --voice _voiceover/<nome>/voice.wav, que deve sair com código 0. Corrija com render_chunks.mjs ... --redo A-B,C-D, depois mixagem e QA novamente. Observações do usuário no vídeo final: references/QA.md "Revisão do usuário".
  12. Entregue. Envie video_final.mp4 (acima de 30 MB: uma prévia menor mais o caminho), exclua as pastas do pacote deste curta em C:/remotion-tmp, atualize a memória.

Arquivos de referência

ArquivoLeia quando
references/QA.mdverificação de quadros-chave, prompt de lista de verificação, short_qa
references/SOUND.mdbibliotecas SFX, trechos musicais, mixagem
references/RENDER.mdconfigurações de renderização, loop de correção, retomada
references/API.mdantes de editar os arquivos iniciais: o que vai onde, assinaturas de função
references/GOTCHAS.mdvoz, adereços e cenários, armadilhas de enquadramento, este PC
references/LOOK.mdvalores de aparência da casa, regras de câmera e personagem
references/LOOK_MATCH.mdapenas para a aparência de referência original ou uma passagem de correspondência de aparência
references/house/GRADER_PROMPT.mdcomparação A/B em pares, apenas ao alterar a aparência

Alterando a própria habilidade (documentos, inicializador, motor, scripts): leia MAINTAINING.md primeiro.

Habilidades Relacionadas