Communitygithub.com

PhucDnag/video-3d-agent

Scénariser et réaliser des vidéos verticales 3D synchronisées avec le dialogue et les sous-titres, avec des visuels esthétiques, riches de sens et des mouvements synchrones ; adapté aux contenus financiers, de développement personnel, familiaux, émotionnels, et autres.

Qu'est-ce que video-3d-agent ?

Ce skill transforme un script et une narration en vidéos verticales 3D (format 9:16) où chaque plan illustre précisément le propos, même sans le son. Il impose une méthodologie rigoureuse : découpage du texte en « beats » sémantiques, storyboard avec `visualClaim`, conception d’une direction artistique variée (palette, matériaux, éclairage) et direction de la voix avec émotion, rythme et pauses. Le système vérifie la faisabilité technique en utilisant uniquement les scènes, caméras et assets existants du projet, et génère une structure de données JSON compatible avec le pipeline pour l’alignement temporel et le rendu final. Le skill s’applique à tout agent de développement (Claude Code, Cursor, Codex) et garantit une diversité visuelle intentionnelle tout en maintenant la continuité narrative et la cohérence avec les sous-titres.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/PhucDnag/skill_tao_video/tree/HEAD/.agent/skills/video-3d-agent

Demander à votre IA préférée

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

Documentation

Skill de réalisation de vidéos 3D synchronisées avec le dialogue

Objectif

Transformer un script et un enregistrement vocal en une vidéo verticale 9:16 avec des visuels 3D esthétiques, compréhensibles même sans le son. Chaque plan doit illustrer exactement l'idée prononcée, être synchronisé avec les sous-titres et comporter un changement ou une action visible. Diversifier les personnages, objets, décors, compositions, couleurs, matériaux, éclairages et mouvements ; ne pas faire que chaque vidéo soit en cristal doré, néon, graphique, horloge ou caméra orbit.

Rester compatible avec le renderer, la scène et la CLI réels du projet. Ne pas décrire ni promettre qu'un asset, un mouvement, un aligneur, un fournisseur d'IA ou une commande existe sans l'avoir vérifié dans le code. Lorsque le moteur ne prend pas encore en charge une nouvelle scène, exprimer la scène en combinant les formes/assets disponibles les plus appropriés et noter clairement les limites ; n'étendre le renderer que si l'utilisateur demande une modification du logiciel.

Processus de réalisation

  1. Lire le script complet et vérifier le pipeline de création de scène, TTS, timing des sous-titres, le renderer et les scènes/caméras réellement prises en charge. Conserver le contenu, le ton et le sens des phrases.
  2. Diviser le texte en pulsations de sens (beats), sans considérer par défaut qu'une phrase équivaut à un plan. Noter pour chaque beat : le dialogue/sous-titre textuel, l'idée principale, le sujet, l'action, l'objet, l'émotion, la cause-effet, ce qui doit absolument être vu et ce qui ne doit absolument pas être mal illustré.
  3. Privilégier d'abord l'illustration directe : si le discours mentionne une personne, un objet, une action ou un lieu spécifique, montrez-le au spectateur. Pour les concepts abstraits, utiliser une métaphore visuelle simple, facile à lire, et uniquement si elle clarifie le propos. S'accrocher aux mots de négation, de comparaison, de transition et de résultat ; ne pas simplement attraper les mots-clés du sujet.
  4. Élaborer un storyboard basé sur le rythme du discours : déterminer le plan, l'action principale, le cadre/l'angle de caméra, la conception de l'éclairage/couleur/matériau, la transition de scène et la continuité des personnages/accessoires entre les beats connexes. Chaque plan se concentre sur une idée ou action principale.
  5. Concevoir la courbe émotionnelle de la vidéo entière : commencer par une question, une image inhabituelle ou une action en suspens adaptée au contenu ; augmenter progressivement l'échelle/le rythme dans la partie développement ; réserver la révélation ou le moment le plus fort pour l'idée clé ; terminer par une image/émotion persistante ou un appel à l'action si le script le contient. Ne pas ajouter de dialogues, de faits ou de rebondissements qui déformeraient le message.
  6. Diriger la narration selon les nuances de chaque beat et de l'ensemble du script ; ne pas avoir une voix monotone du début à la fin. Noter clairement l'émotion, l'intensité (légère/moyenne/forte), le rythme (lent/moyen/rapide), l'accentuation (mot/expression à souligner) et les pauses avant/après pour chaque beat avant de générer le TTS ou d'enregistrer.
  7. Caler le timing sur l'audio/les sous-titres réels. Utiliser le timing des mots/l'alignement si le pipeline le fournit ; sinon, utiliser le timing des segments existants et marquer la précision limitée. Ne pas prétendre avoir une synchronisation mot à mot sans avoir les timestamps correspondants.
  8. Réécouter l'audio avec un aperçu visuel ; corriger les passages où la lecture semble peu naturelle, où l'accent est mal placé, monotone ou pas en phase avec l'expression/le mouvement. Rendre le fichier final en utilisant exactement le processus du projet.

Règles pour la synchronisation des sous-titres et du rythme visuel

  • Chaque beat a un visualClaim : une phrase décrivant ce que le spectateur verra se produire, correspondant exactement au dialogue. Vérifier le storyboard avec chaque phrase de sous-titre avant le rendu.
  • Placer le sujet dans le cadre dès que l'idée est énoncée ; commencer l'action près du groupe verbal ; montrer le résultat au moment où le discours énonce le résultat. On peut préparer l'image un court instant avant le discours pour que le spectateur la reconnaisse, mais ne pas révéler le résultat trop tôt.
  • Changer de scène à la frontière des idées, des pauses de rythme ou des changements de sujet ; éviter de couper au milieu d'un groupe d'idées. Une image continue peut s'étendre sur plusieurs phrases si elle illustre toujours correctement le propos ; une phrase longue peut être divisée en plusieurs plans si le sens change.
  • Les sous-titres karaoké et la narration doivent utiliser la même source de timing. Ne pas diviser uniformément la durée des phrases pour simuler un alignement de mots. Que les sous-titres soient lisibles, corrects orthographiquement, avec un bon contraste et ne cachant pas d'action importante.
  • Pour la négation/l'opposition, montrer clairement les deux états ou actions à éviter ; ne pas utiliser une image qui contredit la phrase. Pour les conseils, illustrer une action concrète plutôt que de simplement afficher une icône générique.
  • Un plan ne doit pas se limiter à orbiter/zoomer : il doit comporter une action, une transformation, une interaction ou une révélation qui aide à transmettre le contenu. La caméra soutient la narration, mais ne remplace pas l'action.
  • Le début doit susciter la curiosité avec le contenu même du script : commencer immédiatement par un détail, une question, une conséquence ou un choix accrocheur ; éviter les longs logos d'intro, les survols génériques et les plans esthétiques mais hors sujet.
  • Régler le rythme du montage en fonction de la voix et du niveau d'importance : plans plus courts pour les énumérations/oppositions rapides, plans plus longs pour les émotions, les manipulations nécessitant observation ou les idées nécessitant réflexion. Utiliser les changements de taille de plan, la direction du mouvement, les silences éventuels de la voix ou les révélations pour créer du rythme ; ne pas faire des coupes rapides continues juste pour créer une sensation de dynamisme.
  • Utiliser des transitions ayant une motivation visuelle : match cut basé sur la forme/le mouvement, masquage de l'objectif par un objet de la scène, changement de mise au point/éclairage, ou coupe nette sur le rythme du discours. Limiter les effets de transition décoratifs répétitifs.

Direction de la voix avec émotion

  • Comprendre le sens et les relations entre les phrases avant de choisir les nuances. Pour chaque beat, noter emotion, intensity (légère/moyenne/forte), pace (lent/moyen/rapide), emphasis (mot/expression à accentuer) et pauseAfter/pauseBefore si nécessaire. Ces étiquettes sont des instructions de réalisation ; ne les transmettre au TTS que si l'API/le schéma les prend réellement en charge.
  • Créer une courbe émotionnelle naturelle : début clair et intrigant ; partie explicative calme et facile à écouter ; idée importante soulignée avec assurance ; passage émouvant chaleureux et sincère ; avertissement sérieux mais sans crier ; conclusion avec un point d'atterrissage. Adapter au script, ne pas appliquer un modèle de lecture unique à toutes les vidéos.
  • Utiliser des pauses intentionnelles aux frontières des idées, avant une révélation, après une question rhétorique ou après une phrase nécessitant réflexion. Ne pas insérer de longues pauses après chaque phrase et ne pas remplacer la ponctuation pour changer le sens ou corriger le contenu.
  • Accentuer par l'intonation et le rythme, pas seulement en augmentant le volume/la vitesse. Éviter un ton publicitaire trop enthousiaste pour un contenu triste, sensationnaliste pour des connaissances neutres, ou trop pathétique pour des conseils légers. Assurer une prononciation claire, un volume stable et ne pas nuire à la compréhension.
  • S'il y a plusieurs choix de voix, sélectionner un timbre adapté à l'âge/émotion/genre et rester cohérent dans toute la vidéo. Ne pas changer de voix entre les beats sans intention narrative.
  • Vérifier les capacités réelles du TTS avant de concevoir un contrôle d'expression. Dans le pipeline actuel, les champs voice, rate, pitch peuvent être configurés ; ne pas supposer par défaut l'existence de balises d'émotion/style ou de contrôle de prosodie par segment. Si le moteur ne supporte que rate/pitch, utiliser la segmentation du script, la ponctuation et les pauses prises en charge par le pipeline ; noter les limites expressives. Ne pas déclarer que le TTS est expressif comme un humain sans l'avoir vérifié à l'écoute. Lorsqu'une performance subtile est nécessaire et que le moteur ne peut pas la fournir, suggérer un enregistrement humain ou l'intégration d'un moteur avec contrôles expressifs comme une modification séparée.
  • Faire jouer la voix et l'image ensemble : phrase douce avec mouvements souples et peu de coupures ; phrase catégorique avec pose claire/coupe nette ; phrase surprise avec révélation au bon moment ; phrase calme avec plan suffisamment long. L'image soutient l'émotion sans l'exagérer au détriment du contenu.

Diversité visuelle intentionnelle

Choisir un style adapté au sujet et à l'émotion plutôt que d'appliquer un preset esthétique à toute la vidéo. On peut combiner : animation de personnage, miniature/maquette, argile, low-poly raffiné, matériaux en verre/céramique/bois/tissu/métal, diorama quotidien, architecture stylisée, nature ou icônes abstraites. Privilégier des formes claires, des surfaces avec profondeur, un éclairage qui crée du volume, des couleurs hiérarchisées, un fond épuré et un sujet qui se détache sur un écran de téléphone.

Chaque vidéo nécessite une direction artistique courte avant le storyboard : thème/émotion, type de formes et matériaux dominants, palette de 3 à 5 couleurs, type d'éclairage, design des personnages (le cas échéant), contraste et niveau de stylisation. Exemple : une histoire familiale peut utiliser du bois, du tissu, une lumière de fenêtre chaude ; un contenu scientifique peut utiliser des modèles en coupe, du plastique translucide et un éclairage de laboratoire ; un sujet tendu peut commencer par une composition serrée, un fort contraste, puis s'ouvrir spatialement lors de la résolution. Ce sont des orientations flexibles, pas des presets obligatoires.

Créer des points d'intérêt visuel par hiérarchisation : un point focal principal, un élément secondaire de soutien, et un fond moins détaillé. Utiliser le gros plan pour l'émotion/le détail, le plan moyen pour l'interaction, le plan large pour l'échelle ou le changement ; la perspective et la profondeur de champ uniquement si elles aident à clarifier le sujet. Concevoir des silhouettes facilement reconnaissables, des expressions/poses lisibles à petite taille, des matériaux avec des différences nettes. Éviter les faux textes dans l'image 3D, les logos/watermarks non demandés, les objets déformés difficilement reconnaissables, les highlights brûlés, les arrière-plans trop chargés et les palettes néon uniformes.

Avant de finaliser le storyboard, revoir les plans adjacents et changer activement au moins deux éléments lorsqu'ils se répètent : sujet/accessoire, lieu, taille de plan/composition, angle de caméra/mouvement, palette de couleurs, matériau ou type de transition. Ne pas répéter le même objet principal sur plus de deux beats consécutifs sauf si la continuité l'exige ; ne pas utiliser le même type de caméra sur trois plans consécutifs. La diversité doit provenir des changements de sens dans le discours, pas d'un changement de couleur arbitraire.

Maintenir la continuité des personnages, des vêtements, des accessoires, du temps et de la direction du mouvement dans un même fil narratif. Utiliser une palette de couleurs dominante pour chaque fil ; on peut changer l'éclairage ou la couleur d'accent pour exprimer une évolution émotionnelle. Limiter les particules/glow et les détails d'arrière-plan pour ne pas distraire du sujet, du texte ou de la zone de sous-titres.

Diversifier entre les vidéos en changeant la manière de raconter adaptée au script, pas seulement en changeant la couleur ou un accessoire : on peut choisir une histoire de personnage continue, une série de vignettes, un voyage à travers l'espace, une comparaison de deux options, un time-lapse de transformation ou l'exploration d'un modèle/structure interne. N'utiliser une structure narrative que si elle rend le message plus compréhensible. S'il existe un historique de vidéos précédentes, éviter de répéter la direction artistique et les séquences de plans caractéristiques récentes ; s'il n'y a pas de données, ne pas déclarer avoir vérifié l'historique.

Choix de la scène et faisabilité

  • Vérifier les scènes/caméras enregistrées dans le code et les presets avant de les utiliser. La bibliothèque de scènes anciennes est une option/fallback réalisable, pas une raison pour forcer tous les scripts dans des tubes d'argent, des engrenages ou du cristal.
  • Si le projet prend en charge sceneSpec/le graphe de scène, décrire de manière structurée l'environnement, les acteurs, les objets, les actions, la caméra et les transitions ; n'utiliser que la géométrie, le rig, les matériaux et l'animation que le résolveur d'assets/le renderer prend réellement en charge.
  • Si seul l'énum scene est pris en charge, choisir l'énum le plus approprié existant. Ne pas inventer d'énum/caméra puis déclarer que le renderer les comprendra ; mentionner la scène souhaitée comme storyboard pour que l'utilisateur décide d'étendre le moteur.
  • Privilégier les actions réalisables : marcher, poser/prendre, ouvrir/fermer, tomber, donner/recevoir, construire, fissurer, grandir, changer de direction, rencontrer puis partir. L'animation complexe de personnage nécessite un rig/clip valide ; sinon, utiliser une silhouette, un blocking simple ou un objet de substitution.
  • N'utiliser que des assets de bibliothèque dont la source et les droits d'utilisation sont clairs. Ne pas déclarer créer un modèle 3D arbitraire à partir de texte si le projet n'a pas de fournisseur correspondant. Noter clairement quels assets sont procéduraux, de bibliothèque, générés ou de repli lorsque le pipeline prend en charge ces métadonnées.

Timeline et structure de données

Conserver le schéma de projet existant et les champs obligatoires pour la compatibilité. Lorsque c'est pris en charge, chaque segment doit contenir :

{
  "id": "beat_01",
  "vi": "Dialogue textuel original",
  "meaning": "Signification du beat",
  "visualClaim": "Action/image spécifique à voir",
  "mustShow": ["sujet", "action", "résultat le cas échéant"],
  "mustNotShow": ["évolution contradictoire avec le discours"],
  "continuityIds": ["personnage ou accessoire traversant la scène"],
  "scene": "scène valide du projet",
  "camera": "caméra valide du projet",
  "actions": [{"verb": "action visible", "cue": "phrase de déclenchement si timing available"}],
  "timing": {"source": "tts_alignment ou segment_timing", "startSec": null, "endSec": null}
}

Ceci est une suggestion de storyboard ; ne pas ajouter de champ non compatible au projet en cours de rendu. Le timing final doit être extrait du pipeline audio/TTS juste avant le rendu ; ne pas laisser null dans la timeline de rendu si le renderer exige des timestamps. Si seul un timing par phrase est disponible, conserver le beat par segment et ne pas inventer de repères temporels de mots.

Contrôle qualité

Avant l'export, vérifier chaque beat selon la liste de contrôle :

  • Fidélité au texte : même sans le son, l'idée principale est devinable ; l'image ne contredit pas la négation, le sujet, l'émotion ou la relation cause-effet.
  • Bon timing : l'action importante apparaît lorsque la phrase correspondante est prononcée ; le sous-titre et la lecture ne sont pas décalés selon la capacité de vérification du pipeline.
  • Esthétique et clarté : le sujet se détache, la palette de couleurs est intentionnelle, l'éclairage/les matériaux créent de la profondeur, la composition est lisible sur un petit écran, ne cache pas les sous-titres.
  • Avec mouvement : le plan comporte une action/transformation/révélation ; ne pas abuser de l'orbite ou du zoom.
  • Diversité et continuité : les plans adjacents diffèrent intentionnellement, mais les personnages/accessoires pertinents restent cohérents.
  • Attractif et rythmé : les 1 à 3 premières secondes sont directement liées à l'accroche ; il y a une évolution visuelle selon la progression du contenu ; le climax/la révélation sert l'idée principale ; la fin n'est pas brutale au milieu d'une action.
  • Avec direction artistique : le style, la palette, l'éclairage et les matériaux sont cohérents dans chaque fil ; chaque plan a une hiérarchie de points d'intérêt ; pas d'effet uniquement décoratif.
  • Voix évolutive : les nuances, les accents et les pauses sont adaptés à chaque idée ; le rythme visuel accompagne la voix ; toutes les limites du TTS sont clairement énoncées.
  • Rendu réalisable : l'asset peut être résolu, pas de scène vide/noire, les objets ne sont pas coupés par le cadre ; la durée et l'audio/vidéo correspondent dans les limites des outils.

Si un critère ne peut être vérifié avec les outils disponibles, noter qu'il s'agit d'une vérification non effectuée plutôt que de le déclarer atteint. N'exporter le storyboard/manifest/rapport QA que si le pipeline le prend en charge ou si l'utilisateur le demande.

Exemples de choix d'image selon le texte

  • "Chaque jour, vous progressez un peu" : même personnage s'entraînant à une table au fil des jours, les gestes devenant progressivement plus habiles ; changer l'éclairage/la météo pour indiquer le temps. Le graphique n'est utilisé que si la phrase parle réellement de données.
  • "Vous ne pouvez pas retenir quelqu'un qui veut partir" : deux personnes lâchant prise dans un couloir, l'une marchant vers la porte ; ne pas terminer par une réunion.
  • "L'argent disparaît à cause des petites dépenses" : personnage touchant son téléphone, plusieurs petites factures/transactions déduites successivement du solde ; ne pas utiliser par défaut un tuyau qui fuit.
  • "Le temps avec les parents n'est plus infini" : repas familial, calendrier tournant les pages et personnage retournant s'asseoir à côté de ses parents ; ne pas transformer le rappel en scène pathétique si le ton du narrateur est doux.
  • "La discipline, c'est agir même sans motivation" : personnage assis devant un poste de travail vide, puis commençant un petit geste, éteignant son téléphone ; ne pas montrer une séance d'entraînement spectaculaire.

Skills associés