Sprite Stage
Un comando de configuración. Luego crea una película 2D original a partir de hojas de personajes y un video de referencia.
Primera acción
Si falta .ready, ejecuta esto y espera a que aparezca Sprite Stage is ready.
bash setup.sh
Hazlo tú mismo. No le entregues a la persona una lista de paquetes para instalar. El script es seguro de ejecutar de nuevo.
La reproducción de imágenes usa el Python del sistema. Las voces nuevas usan el entorno virtual que crea el script.
python3 render.py
.venv/bin/python voices.py
python3 render.py
El ejemplo terminado está en renders/long-slide.mp4.
Lo que mantienes original
Un video de referencia solo proporciona la premisa: el lugar, el orden de las acciones y la sensación. Escribe un nuevo guion con los nombres de los personajes del usuario. No copies el título original, los nombres de los personajes, logotipos, letras de canciones ni líneas habladas en los prompts, texto en pantalla o la banda sonora.
Las configuraciones de vestimenta y voz para el elenco incluido están en characters/CAST.md. Ejemplos de prompts están en examples/prompts.md.
Cómo hacer una nueva película
- Coloca la imagen de referencia de cada personaje en
characters/. Una persona por archivo. Vista frontal, cuerpo completo, fondo liso. - Genera hojas de sprites en
sprites/{nombre}-{acción}.png. Las acciones usadas por el renderizador de ejemplo:walk,front,talking,back,sitting. Las hojas son cuatro celdas una al lado de la otra sobre magenta (#FF00FF).
Sprites gratuitos
Por defecto, usa una herramienta de imágenes gratuita. Esto hace que las imágenes de sprite cuesten $0. La tabla de tokens de agente en COSTS.md sigue aplicándose.
python3 scripts/free_sprites.py --provider prompt --name lina --action walk,front,back,talking,sitting
Cada archivo en sprites/prompts/ nombra las dos imágenes a adjuntar y el prompt a pegar. Ejemplos de prompts están en examples/prompts.md. Guarda la imagen de la herramienta como sprites/{nombre}-{acción}.png.
Usa Gemini solo cuando GEMINI_API_KEY ya esté en el entorno. Nunca pidas la clave, nunca la imprimas y nunca la escribas en el repositorio.
python3 scripts/free_sprites.py --provider gemini --name lina --action walk
Si ese modelo está fuera del límite gratuito de la clave, detente y usa --provider prompt.
- Escribe líneas originales en
voices.py, luego.venv/bin/python voices.py. El tono usa la frecuencia de muestreo real del archivo, luego cada línea se ralentiza a aproximadamente dos palabras por segundo para que la boca pueda permanecer abierta durante toda la línea. - Apunta
render.pya losNAMESyHEIGHTdel elenco. Construye la línea de tiempo para que solo una persona suba y solo una persona se deslice. Ejecutapython3 render.py. Las bocas se abren duranteduration + 0.2s. El grito de alegría del tobogán comienza cuando comienza el deslizamiento.
Reglas de sprites que mantienen la ropa intacta
- Clave solo magenta fuerte: rojo > 200, verde < 100, azul > 200. Una clave de croma suelta perfora agujeros en la tela rosa.
- No elimines una región conectada solo porque sea una cara. Mantén componentes de aproximadamente 1800 píxeles o más.
- Las celdas de caminar comparten un solo ritmo: zancada larga, pies juntos, zancada opuesta, pies juntos.
- La vista lateral mira hacia la derecha. Refleja en el renderizador cuando el personaje camina hacia la izquierda.
- Sienta al jinete en la trayectoria del tobogán y cubre las piernas con el borde cercano del tobogán. No hagas flotar el cuerpo sobre la rampa.
Voces
OpenVoice V2 cambia el tono. MeloTTS pronuncia las palabras con una base de inglés británico. Los niños son más agudos y un poco más rápidos que los adultos. Dale a cada persona un tono objetivo diferente. No le des a todo el elenco un solo tono.
Si una línea sigue siendo más corta que su ventana de boca, baja la velocidad de MeloTTS o estírala con atempo por debajo de 1. No aceleres una línea para llenar un espacio.
Costo y máquina
Una película de 1 minuto usa aproximadamente 300k–500k tokens de entrada y 60k–100k tokens de salida cuando los sprites ya existen, o aproximadamente 1.0M–1.5M de entrada y 200k–300k de salida cuando también creas sprites y revisas una vez. Las cifras en dólares para OpenCode, Claude, Codex y Cursor, y los requisitos de CPU de OpenVoice (8 GB de RAM, Python 3.11–3.13, sin GPU requerida), están en COSTS.md.
Cuando la persona quiera que la película no cueste nada, ejecuta esta habilidad dentro de OpenCode en un modelo marcado como Gratuito, y genera las hojas con --provider prompt. Esa línea de agente cuesta $0 mientras la película se mantenga dentro de la cuota diaria de modelos gratuitos. Un modelo de pago en la misma aplicación factura a ese proveedor.
Créditos
OpenVoice y MeloTTS son software MIT de MyShell. ffmpeg dibuja los fotogramas. PyTorch ejecuta los modelos de voz. Los puntos de control provienen del modelo público myshell-ai/OpenVoiceV2. Los enlaces completos están en el README.