Communitygithub.com

aguspranyoto/2d-animation-hyperframes

Transformez un script de narration avec émotions (script.txt avec des balises comme [excité], [curieux]) et sa voix off en une animation 2D éducative cohérente dans HyperFrames, en utilisant les références visuelles du projet. Style : 2D plat, fond blanc dominant avec des traits de croquis estompés, seul le sujet principal et le texte sont en couleur. Ne rédigez pas de narration sauf demande explicite. Couvre également les effets sonores : leur placement, leur récupération ou synthèse, et leur intégration dans la timeline.

Qu'est-ce que 2d-animation-hyperframes ?

Cette compétence automatise la création d'animations vidéo 2D éducatives à partir d'un script de narration avec balises émotionnelles et d'un fichier audio de voix off, en utilisant le framework HyperFrames. Elle est conçue pour un public d'enfants indonésiens (TK à SD) et garantit un style visuel cohérent, chaleureux et adapté à l'âge. La compétence s'appuie sur des références visuelles partagées dans le projet pour maintenir une identité visuelle unifiée, avec un style 2D plat, un fond blanc dominant et des traits de croquis estompés, seul le sujet principal et le texte étant en couleur. Elle gère le timing à partir du fichier audio et des horodatages optionnels, découpe les scènes en fonction des blocs de balises émotionnelles, et intègre des effets sonores (CC0 ou synthétisés) sans jamais couvrir la narration. Le flux de travail inclut la construction d'une scène de test, des révisions ciblées, puis le rendu final en MP4 via la CLI HyperFrames. La compétence ne crée ni ne révise la narration sauf demande explicite de l'utilisateur.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aguspranyoto/2d-animation-hyperframes/tree/HEAD

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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é :

  1. 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.
  2. Sinon, dérivez la synchronisation au niveau du mot à partir de vo.mp3 : transcrivez/alignez l'audio fourni avec le texte script.txt (par exemple les horodatages de mots ElevenLabs Scribe, ou la charge utile d'horodatage renvoyée lorsque le TTS a produit l'audio).
  3. Si vo.mp3 est manquant, demandez-le. Ne synthétisez pas une voix off de remplacement sauf si l'utilisateur le demande.

Avant d'animer :

  1. 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.
  2. 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.
  3. 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

  1. 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.
  2. 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.
  3. Construisez une courte scène de test 2D en utilisant le vo.mp3, script.txt et 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.
  4. 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.
  5. 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.
  6. 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 dossier audio/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 + stdlib wave, 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 dans references/sfx.md.
  • Câblez chaque signal en tant qu'<audio> chronométré sur la composition racine : id unique, data-start en secondes absolues, data-duration égal à la longueur du fichier, data-volume 0,22–0,38, et un data-track-index qui ne chevauche pas un autre clip audible.
  • npm run check doit signaler 0 erreurs et aucun avertissement clip_ends_past_root_duration ou duplicate_audio_track avant 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.

Skills associés