Sprite Stage
Une seule commande de configuration. Puis réalisez un film 2D original à partir de fiches de personnages et d'une vidéo de référence.
Première action
Si .ready est manquant, exécutez ceci et attendez Sprite Stage is ready.
bash setup.sh
Faites-le vous-même. Ne remettez pas à la personne une liste de paquets à installer. Le script peut être exécuté de nouveau sans danger.
Le rendu d'images utilise le Python système. Les nouvelles voix utilisent l'environnement virtuel créé par le script.
python3 render.py
.venv/bin/python voices.py
python3 render.py
L'échantillon terminé se trouve dans renders/long-slide.mp4.
Ce que vous gardez d'origine
Une vidéo de référence ne fournit que le principe : le lieu, l'ordre des actions et l'ambiance. Écrivez un nouveau scénario en utilisant les noms des personnages de l'utilisateur. Ne copiez pas le titre source, les noms de personnages, les logos, les paroles ou les lignes parlées dans les invites, le texte à l'écran ou la bande sonore.
Les verrous de garde-robe et de voix pour le casting inclus se trouvent dans characters/CAST.md. Des exemples d'invites sont dans examples/prompts.md.
Créer un nouveau film
- Placez l'image de référence de chaque personnage dans
characters/. Une personne par fichier. Vue de face, corps entier, fond uni. - Générez les feuilles de sprites dans
sprites/{nom}-{action}.png. Actions utilisées par le moteur de rendu d'exemple :walk,front,talking,back,sitting. Les feuilles sont composées de quatre cellules côte à côte sur fond magenta (#FF00FF).
Sprites gratuits
Par défaut, utilisez un outil d'image gratuit. Cela rend les images de sprites à 0 €. Le tableau des tokens d'agent dans COSTS.md s'applique toujours.
python3 scripts/free_sprites.py --provider prompt --name lina --action walk,front,back,talking,sitting
Chaque fichier dans sprites/prompts/ nomme les deux images à attacher et l'invite à coller. Des exemples d'invites sont dans examples/prompts.md. Enregistrez l'image de l'outil sous sprites/{nom}-{action}.png.
Utilisez Gemini uniquement lorsque GEMINI_API_KEY est déjà dans l'environnement. Ne demandez jamais la clé, ne l'imprimez jamais et ne l'écrivez jamais dans le dépôt.
python3 scripts/free_sprites.py --provider gemini --name lina --action walk
Si ce modèle dépasse l'allocation gratuite de la clé, arrêtez-vous et utilisez --provider prompt.
- Écrivez les lignes originales dans
voices.py, puis.venv/bin/python voices.py. La hauteur utilise le taux d'échantillonnage réel du fichier, puis chaque ligne est ralentie à environ deux mots par seconde pour que la bouche puisse rester ouverte pendant toute la ligne. - Pointez
NAMESetHEIGHTdansrender.pyvers le casting. Construisez la chronologie pour qu'une seule personne monte et qu'une seule personne glisse. Appelezpython3 render.py. Les bouches s'ouvrent pendantdurée + 0,2 s. L'acclamation du toboggan commence lorsque le toboggan commence.
Règles des sprites pour préserver les vêtements
- Incrustez uniquement le magenta fort : rouge > 200, vert < 100, bleu > 200. Un chroma key lâche perce des trous dans le tissu rose.
- Ne supprimez pas une région connectée simplement parce qu'il s'agit d'un visage. Conservez les composants d'environ 1800 pixels ou plus.
- Les cellules de marche partagent un seul timing : grande foulée, pieds joints, foulée opposée, pieds joints.
- La vue de côté regarde vers la droite. Miroir dans le moteur de rendu lorsque le personnage marche vers la gauche.
- Asseyez le cavalier sur le chemin de la glissade et couvrez les jambes avec le bord proche du toboggan. Ne faites pas flotter le corps au-dessus du toboggan.
Voix
OpenVoice V2 modifie le ton. MeloTTS prononce les mots avec une base d'anglais britannique. Les enfants sont plus aigus et un peu plus rapides que les adultes. Donnez à chaque personne un ton cible différent. Ne donnez pas une seule hauteur à tout le casting.
Si une ligne est encore plus courte que sa fenêtre de bouche, réduisez la vitesse de MeloTTS ou étirez avec atempo en dessous de 1. N'accélérez pas une ligne pour combler un écart.
Coût et machine
Un film d'une minute représente environ 300 000 à 500 000 tokens d'entrée et 60 000 à 100 000 tokens de sortie lorsque les sprites existent déjà, ou environ 1,0 à 1,5 million de tokens d'entrée et 200 000 à 300 000 tokens de sortie lorsque vous créez également des sprites et révisez une fois. Les chiffres en euros pour OpenCode, Claude, Codex et Cursor, ainsi que les exigences CPU d'OpenVoice (8 Go de RAM, Python 3.11–3.13, pas de GPU nécessaire), se trouvent dans COSTS.md.
Lorsque la personne souhaite que le film ne coûte rien, exécutez cette compétence dans OpenCode sur un modèle marqué Gratuit, et créez les feuilles avec --provider prompt. Cette ligne d'agent est à 0 € tant que le film reste dans le quota quotidien de modèles gratuits. Un modèle payant sur la même application facture ce fournisseur.
Crédits
OpenVoice et MeloTTS sont des logiciels MIT de MyShell. ffmpeg dessine les images. PyTorch exécute les modèles vocaux. Les points de contrôle proviennent du modèle public myshell-ai/OpenVoiceV2. Les liens complets se trouvent dans le README.