Communitygithub.com

sprite-stage

Constrói desenhos animados 2D originais a partir de folhas de referência de personagens e um vídeo de referência. Use quando alguém pedir um cartoon 2D, filme de sprites, animação de personagens, vozes infantis OpenVoice ou para configurar o Sprite Stage.

O que é sprite-stage?

Sprite Stage é uma habilidade de IA que permite criar curtas-metragens de animação 2D originais a partir de folhas de referência de personagens e um vídeo de referência. Ela automatiza a geração de sprites, sincronização labial, dublagem e composição da cena, mantendo o controle criativo total do usuário sobre roteiro, personagens e estilo visual. Suporta plataformas como Claude, Codex, Cursor e OpenCode, além de funcionar com modelos gratuitos para filmes de custo zero. A ferramenta usa OpenVoice V2 para tons de voz variados e MeloTTS para locução em inglês britânico, com requisitos de CPU de 8 GB de RAM e Python 3.11–3.13, sem necessidade de GPU. O fluxo inclui configurar o ambiente com um comando, gerar sprites (com opção gratuita via Prompt ou Gemini), escrever falas originais e renderizar o vídeo final.

Funciona com✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add https://github.com/rizwanaabbas/sprite-stage/tree/main/.cursor/skills/sprite-stage

Perguntar na sua IA favorita

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

Documentação

Sprite Stage

Um comando de configuração. Depois, faça um filme 2D original a partir de folhas de personagens e um vídeo de referência.

Primeira ação

Se .ready não existir, execute isto e aguarde Sprite Stage está pronto.

bash setup.sh

Faça isso você mesmo. Não entregue à pessoa uma lista de pacotes para instalar. O script é seguro para executar novamente.

O replay de imagens usa o Python do sistema. Novas vozes usam o virtualenv que o script cria.

python3 render.py
.venv/bin/python voices.py
python3 render.py

A amostra finalizada é renders/long-slide.mp4.

O que você mantém original

Um vídeo de referência fornece apenas a premissa: o local, a ordem das ações e a sensação. Escreva um novo roteiro com os nomes dos próprios personagens do usuário. Não copie o título original, nomes de personagens, logotipos, letras ou falas em prompts, texto na tela ou na trilha sonora.

Os bloqueios de figurino e voz para o elenco incluído estão em characters/CAST.md. Exemplos de prompts estão em examples/prompts.md.

Fazer um novo filme

  1. Coloque a imagem de referência de cada personagem em characters/. Uma pessoa por arquivo. Vista frontal, corpo inteiro, fundo simples.
  2. Gere folhas de sprites em sprites/{nome}-{ação}.png. Ações usadas pelo renderizador de amostra: walk, front, talking, back, sitting. Folhas são quatro células lado a lado em magenta (#FF00FF).

Sprites gratuitos

Padrão para uma ferramenta de imagem gratuita. Isso torna as imagens de sprite $0. A tabela de tokens de agente em COSTS.md ainda se aplica.

python3 scripts/free_sprites.py --provider prompt --name lina --action walk,front,back,talking,sitting

Cada arquivo em sprites/prompts/ nomeia as duas imagens a anexar e o prompt a colar. Exemplos de prompts estão em examples/prompts.md. Salve a imagem da ferramenta como sprites/{nome}-{ação}.png.

Use Gemini apenas quando GEMINI_API_KEY já estiver no ambiente. Nunca peça a chave, nunca a imprima e nunca a escreva no repositório.

python3 scripts/free_sprites.py --provider gemini --name lina --action walk

Se esse modelo estiver fora da franquia gratuita da chave, pare e use --provider prompt.

  1. Escreva falas originais em voices.py, depois .venv/bin/python voices.py. O tom usa a taxa de amostragem real do arquivo, então cada linha é desacelerada para cerca de duas palavras por segundo para que a boca possa ficar aberta durante toda a linha.
  2. Aponte render.py NAMES e HEIGHT para o elenco. Construa a linha do tempo de modo que apenas uma pessoa suba e apenas uma pessoa deslize. Execute python3 render.py. As bocas abrem por duration + 0.2s. O grito de descida começa quando a descida começa.

Regras de sprite que mantêm as roupas intactas

  • Chave apenas magenta forte: vermelho > 200, verde < 100, azul > 200. Uma chave cromática solta faz buracos em tecido rosa.
  • Não exclua uma região conectada só porque é um rosto. Mantenha componentes de cerca de 1800 pixels ou mais.
  • As células de caminhada compartilham um único tempo: passada longa, pés juntos, passada oposta, pés juntos.
  • Vista lateral olha para a direita. Espelhe no renderizador quando o personagem andar para a esquerda.
  • Sente o cavaleiro no caminho do chute e cubra as pernas com o lábio próximo do escorregador. Não flutue o corpo acima do chute.

Vozes

OpenVoice V2 muda o tom. MeloTTS fala as palavras com uma base de inglês britânico. Crianças são mais agudas e um pouco mais rápidas que o adulto. Dê a cada pessoa um tom alvo diferente. Não dê a todo o elenco um único tom.

Se uma linha ainda for mais curta que sua janela de boca, reduza a velocidade do MeloTTS ou estique com atempo abaixo de 1. Não acelere uma linha para preencher uma lacuna.

Custo e máquina

Um filme de 1 minuto tem cerca de 300k–500k tokens de entrada e 60k–100k tokens de saída quando os sprites já existem, ou cerca de 1,0M–1,5M de entrada e 200k–300k de saída quando você também faz sprites e revisa uma vez. Valores em dólares para OpenCode, Claude, Codex e Cursor, e os requisitos de CPU do OpenVoice (8 GB de RAM, Python 3.11–3.13, sem GPU necessária), estão em COSTS.md.

Quando a pessoa quiser que o filme não custe nada, execute esta habilidade dentro do OpenCode em um modelo marcado como Gratuito e faça as folhas com --provider prompt. Essa linha de agente é $0 enquanto o filme permanecer dentro da cota diária de modelo gratuito. Um modelo pago no mesmo aplicativo cobra desse provedor.

Créditos

OpenVoice e MeloTTS são software MIT da MyShell. ffmpeg desenha os quadros. PyTorch executa os modelos de voz. Checkpoints vêm do modelo público myshell-ai/OpenVoiceV2. Links completos estão no README.

Habilidades Relacionadas