Utilisez cette compétence pour réaliser une vidéo animée à partir du script de narration approuvé par l'utilisateur et de la source de synchronisation. L'entrée normale est vo.mp3 plus script.txt (narration avec balises émotionnelles), avec les références visuelles dans references/visual-style/overall/.
Exemple de déclencheur :
/2d-animation-hyperframes Crée une vidéo animée 2D en utilisant vo.mp3 et script.txt. Suis les références visuelles dans references/visual-style/overall/.
Le script et l'audio de l'utilisateur sont la source de vérité. Ne dépensez pas de jetons pour rédiger un nouveau script, réécrire la narration ou générer une voix off de remplacement, sauf si l'utilisateur le demande explicitement. Les balises émotionnelles sont des instructions de livraison, pas des mots prononcés : conservez-les textuellement et ne les lisez ni ne les sous-titrez jamais. Si les fichiers demandés sont manquants ou ambigus, demandez leur emplacement ; ne remplacez pas par un script nouvellement écrit.
Le public par défaut est constitué d'enfants indonésiens du TK au SD. Gardez la narration visuelle claire, chaleureuse et adaptée à l'âge. Conservez toute l'animation en 2D.
Entrées, format du script et synchronisation
Trouvez les fichiers joints à la requête ou dans le projet actif. Utilisez les chemins fournis lorsqu'ils sont spécifiés. Si les fichiers ne sont pas dans le projet, demandez où les trouver avant de commencer la production. Les sources se trouvent dans la disposition de l'espace de travail décrite dans references/multi-video.md : la narration et la voix off se trouvent dans inputs/<slug>/, le projet HyperFrames est généré sous videos/<slug>/, et les références visuelles partagées se trouvent à la racine de l'espace de travail (references/visual-style/overall/).
Format script.txt : une ligne ne contenant qu'une balise émotionnelle entre crochets (par exemple [excité], [ curieux ], [enjoué]) définit la livraison pour le bloc de narration qui suit, jusqu'à la balise suivante. Les lignes vides séparent les blocs pour la lisibilité uniquement ; elles n'impliquent pas de pauses. Exemple :
[excitet]
Adik-adik, pernah nggak sih kalian melihat jerapah?
[curieux]
Wah, lehernya panjang sekali, ya!
Règles pour les balises :
- Une balise s'applique à l'ensemble du bloc de narration qui la suit. Utilisez-la pour déterminer le rythme de la scène, l'expression du personnage, le tempo et l'emphase visuelle.
- Ne parlez, ne sous-titrez et n'affichez jamais les balises. Supprimez-les avant de produire du texte à l'écran.
- Conservez les balises exactement comme écrites. Si la voix off a été générée par ElevenLabs, les mêmes balises étaient les instructions de livraison ; ne les normalisez pas et n'en inventez pas de nouvelles.
- Les balises non reconnues sont toujours des indications de livraison ; transmettez-les plutôt que de les supprimer.
Source de synchronisation, par ordre de priorité :
- Si l'utilisateur fournit également un export d'horodatage de mot/segment (JSON ElevenLabs) pour le même audio, utilisez-le ; il est facultatif, pas obligatoire.
- Sinon, dérivez la synchronisation au niveau du mot à partir de
vo.mp3: transcrivez/alignez l'audio fourni avec le textescript.txt(par exemple les horodatages de mots ElevenLabs Scribe, ou la charge utile d'horodatage renvoyée lorsque le TTS a produit l'audio). - Si
vo.mp3est manquant, demandez-le. Ne synthétisez pas une voix off de remplacement sauf si l'utilisateur le demande.
Avant d'animer :
- Vérifiez que chaque bloc de script correspond à une plage dans l'audio et que la source de synchronisation couvre toute la durée de
vo.mp3, y compris tout décalage initial ou pause. - Confirmez que le texte du script correspond à l'audio fourni. Ne modifiez pas la narration. Si le texte, l'audio et les synchronisations sont en conflit, expliquez l'inadéquation et demandez des fichiers corrigés.
- Utilisez les blocs de balises émotionnelles (et les limites de segment si un export d'horodatage est fourni) pour les temps forts de l'histoire et les changements de scène. Utilisez les horodatages de mots pour les sous-titres, l'emphase et les petits indices visuels. Regroupez les mots en phrases significatives au lieu de faire de chaque mot une scène séparée.
Construire le style visuel 2D
Mot-clé de style par défaut pour chaque scène :
2D plat, fond blanc dominant avec des traits de croquis estompés. Seul le sujet principal et le texte sont en couleur.
Inspectez toutes les images utilisables dans references/visual-style/overall/ ensemble avant de concevoir les scènes. Traitez-les comme la source de vérité pour l'identité visuelle de ce projet. Extrayez un guide de style compact couvrant :
- palette, saturation, contraste, éclairage et lueur ;
- langage des formes, épaisseur de trait, texture et densité de détail ;
- proportions des personnages, expressions et éléments de conception récurrents ;
- composition et comment l'art 2D plat suggère la profondeur ;
- typographie, animation de texte, rythme, transitions et motifs visuels.
Appliquez un guide de style cohérent à chaque scène et à chaque nouvel actif. Si les références sont en conflit, suivez la direction la plus répétée ou la plus récemment approuvée ; ne demandez que si le conflit modifierait substantiellement le résultat. Gardez le résultat en 2D : utilisez des couches, du parallaxe, du chevauchement, de l'échelle, des ombres et des dégradés pour la profondeur. Ne le transformez pas en modèles 3D ou en rendu 3D sauf si l'utilisateur le demande.
Flux de production HyperFrames
- Utilisez HyperFrames comme framework d'animation et de rendu. Travaillez dans le dossier du projet vidéo actif de l'utilisateur et préservez ses actifs et références.
- Planifiez les scènes autour de la narration approuvée, des blocs de balises émotionnelles et des synchronisations de mots. Gardez la narration inchangée ; alignez les actions visuelles et les sous-titres sur la timeline audio. Placez la musique et les effets sonores dans les pauses ou à des niveaux qui ne masquent pas la parole.
- Construisez une courte scène de test 2D en utilisant le
vo.mp3,script.txtet les références visuelles réels. Prévisualisez-la et vérifiez la cohérence du style, la lisibilité et la synchronisation au début de la parole, aux pauses, aux transitions et à la fin. - Effectuez des révisions ciblées basées sur la prévisualisation, puis étendez le langage visuel approuvé à l'ensemble de la vidéo. Ne créez pas l'animation complète avant que la scène de test ne soit révisée.
- Lancez la prévisualisation HyperFrames depuis le dossier du projet (
npx hyperframes preview). Cela ouvre HyperFrames Studio basé sur navigateur et recharge à chaud les modifications de fichiers. L'application de bureau Studio séparée est facultative pour ce flux de travail CLI. - Rendez le projet approuvé en MP4 avec le flux de travail CLI actuel d'HyperFrames. Signalez le chemin de sortie et toute limitation de production. Ne prétendez pas qu'une prévisualisation est une vidéo finale rendue.
Utilisez les instructions de création HyperFrames installées si disponibles. Si la configuration ou les dépendances sont manquantes, expliquez l'étape manquante exacte. N'installez pas de logiciel et ne modifiez pas les paramètres globaux sans l'autorisation de l'utilisateur.
Démarrer une nouvelle vidéo
Générez le projet HyperFrames depuis la racine de l'espace de travail au lieu de l'échafauder manuellement ; un projet par vidéo.
python tools/new-video.py <slug> # échafaudage + transcription + carte de blocs
python tools/new-video.py <slug> --force # reconstruire un videos/<slug> existant
python tools/new-video.py <slug> --no-transcribe # échafaudage uniquement
Il lit inputs/<slug>/ (vo.mp3 + script.txt) et écrit videos/<slug>/, puis imprime une ligne par bloc balisé avec les durées absolues et locales de début/fin. La disposition complète, les sorties et les étapes post-génération se trouvent dans references/multi-video.md.
Effets sonores
Les effets sonores (SFX) se placent sous la narration, jamais au-dessus. Mettez un accent sur chaque hit visuel (apparition d'élément, coupe, chute, révélation) — pas sur chaque sous-titre. Laissez du silence entre les signaux.
- Route par défaut : récupérez des effets CC0/CC BY via la compétence
media-use(Openverse, ou sa bibliothèque groupée de 21 fichiers dans le dossieraudio/assets/sfx/de cette compétence). Ne générez jamais lorsque un effet stock correspond. - Route personnalisée : synthétisez une famille cohérente avec Python (
numpy+ stdlibwave, 44,1 kHz mono 16 bits, normalisé au pic 0,7, bruit ensemencé). Les recettes pour pop, boing, whoosh, chime, stamp et sparkle se trouvent dansreferences/sfx.md. - Câblez chaque signal en tant qu'
<audio>chronométré sur la composition racine :idunique,data-starten secondes absolues,data-durationégal à la longueur du fichier,data-volume0,22–0,38, et undata-track-indexqui ne chevauche pas un autre clip audible. npm run checkdoit signaler 0 erreurs et aucun avertissementclip_ends_past_root_durationouduplicate_audio_trackavant le rendu.
Périmètre
Cette compétence crée l'animation à partir des médias fournis ; elle ne crée ni ne révise normalement la narration. Si l'utilisateur demande uniquement un storyboard ou un plan visuel, fournissez-le sur la base du même audio et script.txt sans rédiger de script. Si l'utilisateur demande explicitement une rédaction de script, traitez cette demande séparément et obtenez une approbation avant de générer une nouvelle voix off ou de remplacer l'audio existant.