Génération Vidéo
Cette compétence (Skill) est chargée de convertir le contenu formel d'un projet en entrées exécutables pour la génération par IA. Les sources à long terme restent video/script/, video/materials/ et video/shots/ ; les packs de génération unique ne sont que des dérivés destinés à faciliter la génération externe par l'utilisateur.
Avant de décider formellement de la quantité de contenu à générer en une seule fois et de la méthode de génération à utiliser, lisez references/planning/GENERATION-STRATEGY.md. Si vous devez générer un grand nombre de matériaux/plans en lot, lisez ensuite references/planning/BATCHING.md : commencez par valider la référence avec un échantillon représentatif à haut risque, puis n'étendez les lots parallèles actuels qu'une fois la stabilité confirmée, sans imposer de taille de lot fixe. Lorsque les vidéos existantes sont globalement correctes mais nécessitent une prolongation continue ou une modification locale générative, lisez alors references/transform/EDIT-EXTEND.md, et déterminez d'abord si une post-production déterministe ou la création d'un nouveau plan ne serait pas plus appropriée.
1. Identifier les objets à générer
Les objets à générer peuvent être :
- Des matériaux d'images (personnages, scènes, accessoires, produits, etc.) réutilisables entre plusieurs plans ;
- La vidéo d'un plan spécifique ;
- La première image, la dernière image, le storyboard/cadre clé, les images ou le son complémentaires propres à un plan ;
- La référence vocale à long terme d'un personnage, ou une bande sonore/narration provisoire à l'échelle du film.
Chargez d'abord le contenu officiel appartenant à la source : les matériaux réutilisables utilisent la définition de video-materials, et les vidéos de plans utilisent SHOT.md de video-shot. Ne regénérez pas des faits à long terme à partir de packs uniques ou d'anciens historiques de conversation.
2. Rédiger les prompts à long terme
Avant de rédiger des prompts vidéo génériques pour un plan, lisez references/prompting/VIDEO-PROMPT.md ; si l'adaptateur de modèle correspondant est installé pour le projet actuel, cet adaptateur compile ensuite l'intention générique du plan en prompts d'exécution finaux pour ce modèle. Tous les adaptateurs de modèle respectent uniformément references/prompting/MODEL-ADAPTER-CONTRACT.md, en spécifiant clairement le point d'entrée/le modèle/le mode, la vérification des capacités officielles actuelles, le mappage des entrées, les paramètres d'exécution et les inconnues. Lorsque vous devez tester plusieurs modèles en parallèle pour le même plan, lisez ensuite references/prompting/MODEL-COMPARISON.md, en conservant le même SHOT.md et une numérotation continue des résultats de génération, sans dupliquer le répertoire du plan par modèle.
Les prompts pour les matériaux réutilisables sont sauvegardés dans le répertoire video/materials/ correspondant ; les prompts de plan sont sauvegardés dans le répertoire du plan correspondant, en utilisant un nombre limité de versions explicites telles que prompt_v01.md, prompt_v02.md, etc.
Les prompts ne doivent compiler que les informations réellement nécessaires au modèle de génération actuel. Les définitions internes de plans/matériaux peuvent être plus complètes que le prompt final du modèle ; les capacités du modèle, les champs, la durée et les limites d'entrée de référence sont déterminés par la compétence d'adaptateur de modèle actuellement chargée ou par la documentation officielle, et ne sont pas codés en dur dans cette compétence. Les paramètres d'exécution (modèle/point d'entrée, durée, rapport hauteur/largeur, activation/désactivation du son, etc.) et les limites avec les enregistrements à long terme du projet suivent references/prompting/EXECUTION-PARAMETERS.md.
S'il n'existe pas de règles fiables spécifiques au modèle, maintenez des descriptions de scène et d'action génériques, claires et vérifiables, et précisez à l'utilisateur que des prompts génériques sont actuellement utilisés, sans inventer de capacités spécifiques au modèle.
3. Sélectionner le matériel de référence
Utilisez l'ensemble de référence minimal suffisant. Chaque référence doit pouvoir répondre à la question « que stabilise-t-elle ? » : identité du personnage, tenue vestimentaire, scène, structure du produit, action, photographie ou tout autre rôle spécifique.
N'incorporez pas de références non pertinentes dans une même génération, afin d'éviter la compétition d'identité, la contamination stylistique ou la dérive de la structure du produit.
4. Organiser le pack de génération unique
Avant de packager formellement, lisez references/planning/GENERATION-PACK.md, et exécutez en fonction des dépendances des lots (image/son/vidéo), du nom de fichier de retour, de l'ensemble de référence minimal, de la réimportation et des limites de suppression ; lorsque le pack doit être remis directement à l'utilisateur, utilisez references/planning/PACK-TEMPLATES.md pour générer un fichier de tâche autonome. Pour l'initialisation du pack dans le projet, la copie des fichiers formels, le répertoire returns, la vérification d'état, le zip et le nettoyage sécurisé, privilégiez le script scripts/generation_pack.py fourni avec cette compétence, sans réécrire un script de packing temporaire pour chaque projet ; ce CLI ne gère que le cycle de vie des fichiers, et ne décide pas du Prompt, des responsabilités des références ou des conclusions de révision.
Créez un répertoire descriptif sous .tmp/ du projet. Le pack reste simple par défaut :
.tmp/<generation-pack>/
├── README.md
├── <prompt files>
└── materials/
Ne copiez que les prompts et le matériel de référence nécessaires pour ce lot de génération. Le README doit au minimum préciser :
- L'objectif de cette génération ;
- L'ordre de génération recommandé (s'il y a des dépendances) ;
- Les références utilisées pour chaque élément ;
- Le nom de fichier de retour ;
- Les contraintes strictes que l'utilisateur doit vérifier.
Pour le retour d'images, utilisez le nom de fichier à long terme correspondant ; pour le retour de vidéos de plans, avant de nommer, utilisez generation_pack.py next-take pour interroger le prochain takeNN non utilisé et monotone croissant pour le plan correspondant, ne devinez pas manuellement le numéro et ne recommencez pas à take01 en raison d'un changement de modèle.
5. Réimporter les résultats
Après que l'utilisateur a rapporté les résultats de génération, vérifiez d'abord la correspondance des fichiers, puis placez les résultats formels dans les répertoires d'appartenance correspondants :
- Matériaux réutilisables →
video/materials/<category>/; - Résultats de plan →
video/shots/<shot-id>/; - Son/images propres à un plan → le même répertoire que le plan.
Ce n'est qu'après que video-review a clairement accepté un fichier de retour que vous utilisez generation_pack.py archive --confirm-reviewed pour le copier à son emplacement d'appartenance formel ; cette action conserve le fichier original dans returns/ et renvoie le SHA-256, sans écraser les fichiers formels existants. Une fois l'archivage formel terminé et après avoir confirmé que le pack temporaire ne contient plus d'informations uniques, utilisez ensuite cleanup pour supprimer le pack de génération unique.
6. Discipline d'itération
En cas d'échec de génération, déterminez d'abord si le problème provient :
- De la définition du matériau/de l'identité à long terme ;
- Du
SHOT.mdlui-même ; - De l'expression du prompt ;
- De l'aléatoire d'exécution du modèle ;
- D'un défaut réparable en post-production déterministe.
Une seule nouvelle tentative doit de préférence ne modifier qu'une variable majeure. Ne cherchez pas à compenser les problèmes de localisation en allongeant sans cesse le prompt.
Critères d'achèvement
Le pack remis à l'utilisateur doit pouvoir exécuter directement la tâche de génération actuelle ; les noms de fichiers de retour sont clairs ; le projet formel reste la seule source à long terme ; après l'archivage des résultats, le pack temporaire peut être supprimé en toute sécurité.