/stickman
Transformez un sujet en un film d'animation stickman terminé, entièrement généré par code : personnages 2D plats, palette de coucher de soleil, travail de caméra cinématographique et son réel. La compétence couvre quatre livrables : la vidéo, le script de voix off, les titres YouTube et les suggestions de vignettes.
Elle fonctionne partout où Claude peut exécuter du code, y compris le plan gratuit de Claude. Aucun outil payant n'est nécessaire et aucun outil d'IA d'image ou vidéo n'est utilisé. ElevenLabs est optionnel et uniquement pour la voix off. Sans MP3, la compétence énonce elle-même le script avec une voix open-source gratuite (scripts/tts.py, voir references/free-voice.md), donc un film narré n'a besoin d'aucun ElevenLabs.
Tout ce qui suit est relatif au dossier de cette compétence (le dossier contenant ce fichier). Trouvez son chemin absolu une fois et utilisez-le pour chaque script. Sur Claude Code, c'est ${CLAUDE_SKILL_DIR}. Appelez-le SKILL dans les commandes ci-dessous. Utilisez python3, ou python sur Windows.
Étape 1 : Déterminez ce qui a été demandé
L'utilisateur peut vouloir l'ensemble ou une partie. Ne faites que ce qui est demandé :
| Demande | Action |
|---|---|
| Idées d'histoire | Faire "Idées d'histoire" ci-dessous, puis arrêter |
| Faire une vidéo | Étapes 2 à 6 |
| Écrire un script de voix off | Lire references/script-playbook.md, fournir le script, arrêter |
| Transformer un script en voix off | Lire references/free-voice.md, exécuter tts.py, fournir vo.mp3, arrêter |
| Titres ou vignettes | Lire references/packaging-playbook.md, fournir les paires, arrêter |
| Ensemble complet | Script, puis vidéo, puis titres et suggestions de vignettes |
Idées d'histoire
Si la durée n'est pas précisée, demandez d'abord combien de temps les vidéos doivent durer. Donnez ensuite 5 idées, numérotées, afin que la personne puisse en choisir une par son numéro. Chaque idée a un nom court, une phrase simple décrivant ce qui se passe et la fin. Adaptez chaque idée à cette durée : moins de 20 secondes signifie un personnage et un seul retournement simple. Les idées doivent être faciles à animer avec ce qui se trouve dans references/engine.md, et chacune doit être originale. Plus tard, "faire l'idée 3" signifie cette idée.
Étape 2 : Demandez avant de construire
À moins que la demande ne le précise déjà, posez ces questions ensemble dans un seul message, et utilisez un outil de question s'il y en a un. Ignorez tout ce qui a déjà été répondu. Si personne n'est là pour répondre, utilisez la valeur par défaut et dites-le.
- Style : 2D ou 3D ? Par défaut 2D. Les deux utilisent le même aspect. La 3D ajoute des mouvements de caméra réels autour de la scène.
- Durée : combien de temps ? Par défaut 30 s. Avec un MP3, la voix off définit la durée.
- Voix off : oui ou non ? Ignorez cette question si un MP3 est joint. Si oui, ils fournissent un MP3 et son texte de script, ou vous demandent d'écrire un script pour ElevenLabs et de revenir avec le MP3. Aucun fichier SRT n'est nécessaire. Ou, la valeur par défaut lorsqu'il n'y a pas de MP3 : la voix intégrée gratuite énonce le script, le leur ou celui que vous écrivez, afin qu'ils ne quittent jamais le chat. Demandez quelle voix seulement si cela les intéresse ;
references/free-voice.mdcontient l'audition. - Effets sonores : oui ou non ? Par défaut oui.
- Musique de fond : oui ou non ? Par défaut non. Si oui, utilisez leur piste téléchargée s'il y en a une, sinon la musique de fond générée par code.
- Storyboard : voulez-vous voir un storyboard d'abord ? Demandez toujours cela sauf si la demande le précise déjà. Si personne n'est là pour répondre, ignorez-le.
Ne supposez pas la musique, les effets ou la voix. L'ambiance d'une pièce calme n'est pas de la musique.
Étape 3 : Configuration
python3 SKILL/scripts/doctor.py
python3 SKILL/scripts/new_film.py film # ajoutez --3d pour la 3D
doctor.py installe tout ce qui manque. Si Chromium ne peut pas du tout s'exécuter, allez à "Si le rendu n'est pas possible".
Voix gratuite : faites-la maintenant, avant la planification, car la voix définit le timing. Sauvegardez le script sous film/script.txt, puis exécutez python3 SKILL/scripts/tts.py film film/script.txt --voice am_michael et définissez VOICE = "vo.wav" dans film/audio_mix.py. Détails dans references/free-voice.md.
Ensuite, lisez, dans cet ordre :
references/style-bible.md: l'apparence et les règles qui ne plient jamais.references/production.md: le chemin rapide et les pièges connus.references/engine.md: la boîte à outils, pour la réutiliser au lieu de redessiner.references/film-craft.md: histoire et plans pour les films sans paroles ou courts.
Lisez aussi si pertinent : references/script-playbook.md pour écrire un script, references/free-voice.md pour la voix intégrée gratuite, references/voiceover.md pour un MP3, references/sound.md pour le mixage, references/symbolic-beats.md pour les films d'environ une minute ou plus, references/3d.md pour la 3D.
Étape 4 : Planifiez le film
Écrivez ceci avant tout code de dessin, car planifier à l'intérieur du code produit des diapositives, pas des films :
- Une phrase qu'un spectateur distrait comprendrait.
- Une feuille de beats où chaque beat a une action, un sentiment, une caméra et un son.
- Un seul monde : une liste de positions fixes pour chaque personnage et accessoire. Chaque plan n'est qu'une caméra sur ce monde.
- Une liste de plans avec des images de coupe, pas des secondes. Visez 8 à 11 plans pour 30 s, et incluez un plan large qui montre la géographie.
- Le moment de la vignette, si un ensemble a été demandé, afin qu'il existe en tant que scène réelle.
Si un storyboard a été demandé, suivez "Storyboard" à l'étape 5 avant le rendu.
Étape 5 : Construction
- Remplacez
film/film.js, en conservant les fichiers du moteur. Commencez par les modèles du film de démarrage. - Vérifiez les images fixes aux moments les plus chargés, et visualisez l'image :
python3 SKILL/scripts/stills.py film sheet.jpg 1 4.5 9 .... Deux cycles est normal. - Storyboard, si demandé. Exécutez
python3 SKILL/scripts/storyboard.py film. Il écritfilm/storyboard.jpg, un aperçu numéroté par plan, dessiné par le même code que le film final. Montrez à la personne un tableau avec une ligne par plan (plan, temps, ce qui se passe, caméra, son), et montrez ou envoyez l'image. Si les images ne peuvent pas être montrées ici, envoyez le fichier, ou donnez le tableau seul et dites-le. Puis arrêtez-vous et attendez. Modifiez le film selon leurs demandes, relancez le storyboard s'il a beaucoup changé, et effectuez le rendu seulement après leur approbation. - Modifiez le bloc marqué de
film/audio_mix.pypour correspondre au brief sonore. - Rendu, mixage, assemblage et vérification avec une commande :
python3 SKILL/scripts/build.py film --out mon-film.mp4
Exécutez cette commande en arrière-plan si l'environnement limite le temps de commande, et interrogez-la. Exécuter la même commande à nouveau reprend, car chaque plan est son propre fichier. Après une correction, utilisez --shots 3 7 pour refaire uniquement ces plans, ou --audio-only pour remixer le son.
Étape 6 : Vérifiez, puis livrez
build.py se termine par la vérification. Corrigez chaque PROBLÈME, ou indiquez pourquoi un moment signalé est intentionnel. Ensuite, visualisez film/contact_sheet.jpg, qui provient du fichier encodé. Vérifiez ces éléments à l'œil, car la vérification ne le peut pas :
- Les visages expriment l'émotion prévue, et les sourcils ne sont pas accidentellement en colère.
- Les mains touchent ce qu'elles tiennent, et rien ne traverse un visage.
- Les bras se plient dans le bon sens à chaque marche.
- Les portes s'ouvrent d'abord, puis le personnage entre.
- Les personnages restent à la même distance des objets d'un plan à l'autre.
- Aucun cercle décoratif nulle part.
Livrez le MP4 avec une courte note. Dites clairement que vous ne pouvez pas entendre le mixage : vous l'avez mesuré, donc l'utilisateur doit l'écouter. Ne prétendez pas avoir effectué des vérifications que vous n'avez pas exécutées. Si l'utilisateur a demandé des titres et des vignettes, ajoutez les paires du guide d'emballage.
Si le rendu n'est pas possible
Si aucune exécution de code ou aucun navigateur n'est disponible, exécutez python3 SKILL/scripts/bundle_player.py film quand vous le pouvez, ce qui écrit un fichier HTML qui lit le film et enregistre un WebM en temps réel. Si vous ne pouvez rien exécuter, dites ce qui manque et proposez le script, les titres et les suggestions de vignettes, qui n'ont besoin d'aucun rendu. Ne renommez jamais un WebM en MP4.
Règles d'originalité
Les vidéos, titres, vignettes ou transcriptions de référence qu'un utilisateur partage sont uniquement pour les motifs généraux : durée, formulation, structure, rythme. Ne copiez ou ne sauvegardez jamais rien de spécifique au travail d'autrui, et ne réutilisez jamais une prémisse, un personnage, une intrigue, une ligne ou un aspect. Chaque film a sa propre histoire.