Vidéo Produit IA
Répartition des tâches :
- 3D ou photos du produit : décide où se trouve l'objet, sa taille, comment il bouge et quand il change.
- Modèle d'image : rend l'image réaliste.
- Modèle vidéo : anime l'image.
- Code : utilise les faits du produit et la 3D comme règle pour mesurer chaque image et chaque séquence générée par l'IA ; si la mesure échoue, on ne dépense pas d'argent.
Le montage, les sous-titres, les légendes et l'audio sont des couches superposées pilotées par les données. Changer un mot ne nécessite pas de régénérer les visuels.
Cette méthode est issue d'un projet réel : une vidéo de démonstration pour investisseurs d'un produit hardware intelligent. L'itinéraire a été changé quatre fois avant de fonctionner. Le retour d'expérience anonymisé se trouve dans examples/case-study.md. Ce qui suit est la version générique après validation, adaptée aux vidéos explicatives comme aux publicités.
Pourquoi ne pas copier une chaîne de montage IA générique
Le flux d'une chaîne de montage IA générique est : concept → storyboard → bibliothèque d'actifs → images fixes verrouillées → modèle vidéo pour animer → doublage et montage. Il n'y a pas de modèle 3D, et le public tolère les imprécisions de détail. L'image générée par l'IA est donc la réponse standard.
Une vidéo produit vend « ce produit ressemble à ça et peut être utilisé comme ça ». Si l'orientation de l'interface, les inscriptions, la position des lumières sont erronées, la vidéo ment. Donc :
- Conserver la structure : les actifs d'abord, le statique avant le dynamique, choisir le mode par plan, n'écrire que les changements dans les prompts, tester en basse résolution, vérifier plan par plan.
- Changer un seul point : la réponse standard n'est pas une image IA, mais les faits du produit + la 3D (ou une photo réelle du produit / un fichier CAD).
Autre leçon : les pixels d'un rendu 3D ne doivent pas être utilisés directement dans la vidéo finale, aussi précis soient-ils, ils auront un aspect CG. Laissez le modèle d'image redessiner sur la base de l'image 3D, puis utilisez cette image comme première et dernière image de la vidéo pour obtenir un réalisme convaincant.
Étape 1 : Lancement du projet, clarifier ces 8 points
Les détails et la manière de poser les questions à l'utilisateur se trouvent dans references/01-intake.md.
- Estimation du temps : dans la première réponse, indiquez clairement combien de minutes ou de jours, et à quelle heure la livraison est prévue, en listant les étapes, y compris celles que l'utilisateur doit faire lui-même. En cas de retard, mettez à jour immédiatement.
- Type de vidéo et plateforme de diffusion : vidéo explicative, publicité de marque, courte vidéo verticale, vidéo e-commerce ou court-métrage pour une conférence, où elle sera diffusée, durée et format. Choisissez la méthode selon
references/02-formats.md; une seule production peut donner lieu à plusieurs versions de livraison. - Public interne ou public : les versions internes et pour investisseurs peuvent montrer des vues éclatées, des coupes, des structures internes ; les versions destinées à une diffusion publique ne montrent aucune structure interne et n'indiquent pas les noms des composants. Cela détermine les plans possibles.
- Fiche de confirmation des faits produit (
templates/product_facts.md) : chaque fonction repose sur quel composant, d'où elle sort, à quoi elle ressemble dans le plan, à quoi elle ne doit pas ressembler, s'agit-il d'un objectif de conception ou d'une fonctionnalité réalisée, peut-elle être divulguée. Toute déduction de votre part doit être marquée « à confirmer », en attendant la validation du responsable. - Référence de qualité : demandez à l'utilisateur une vidéo de référence, analysez son rythme et sa méthode de production. N'apprenez que la qualité d'image, pas la structure.
- Outils dont dispose l'utilisateur :
- Modèle d'image : abonnement uniquement, nécessité de dessiner manuellement, ou API scriptable ?
- Modèle vidéo : compte API (scriptable), ou abonnement web/app (génération manuelle uniquement : utiliser le pack de vidéos manuelles, vérifier d'abord les conditions d'utilisation commerciale, ne pas supposer une mise à niveau du brouillon).
- Avez-vous un modèle 3D ou un fichier CAD du produit ? Sinon, avez-vous un échantillon physique ou des rendus ? Pas de 3D ? Suivez la « route sans 3D » (section 10 de
references/03-previs.md).
- Budget et facturation : formule de calcul, forfaits et utilisation réelle des bons d'achat, solde du compte, plafond total. Avant une génération en masse ou une mise à niveau HD, demandez à l'utilisateur de vérifier son solde.
- Petit test avant de décider de la méthode : pour un même plan, produisez deux brouillons basse résolution : l'un utilisant la 3D ou une photo du produit comme première image, l'autre utilisant une image clé photoréaliste générée par un modèle d'image. Quelques euros et quelques minutes suffisent pour voir la différence.
Conventions pour le dossier du projet
Tous les scripts utilisent le dossier spécifié par --project comme racine (par défaut, le répertoire courant). Pour un nouveau projet, suivez cette structure :
<projet>/
.env Clés (ARK_API_KEY, etc.), pas dans le dépôt, pas dans le chat
brief/ creative_brief.md, product_facts.md, benchmark.md, budget.md, decisions.md, feedback_brief.md, claims.md, licenses.md
shots/shot_list.json Tableau des plans, source unique de la timeline
shots/prompts/<id>.txt Prompts vidéo pour chaque plan (ajouter un numéro de version en cas de modification, conserver l'ancienne version)
plates/<id>/ Images de base 3D, masques, coordonnées de caméra (sans 3D, mettre les images de référence du produit)
packs/ look_bible.txt (paramètres uniformes, source unique), packs d'images manuelles, packs vidéo manuelles
keyframes/keyframes.json Liste des images clés (maître, première/dernière image, ordre de téléchargement)
keyframes/raw/ Images brutes du modèle d'image
keyframes/norm/ Images clés redimensionnées à la taille de sortie
footage/ Prises de vue réelles, captures d'écran, captures d'interface réelle, etc. (optionnel)
gen/ Sorties du modèle vidéo et video_log.jsonl (journal des appels et des coûts)
qc/ Planches d'images par image, rapports Gate K / Gate V
edit/ edl.json, captions.json, callouts.json, approved_drafts.json, approved_bridges.json
renders/ Sorties vidéo sans son du monteur et .timeline.json (emplacement par défaut de edit.py)
sound/ Pistes de musique et d'effets sonores, feuille de repères, fenêtre de mixage
deliver/ Vidéos finales (versions publique et interne séparées)
work/ Scripts et workflows propres au projet (génération EDL, packs d'images, vérifications). Chaque résultat est écrit sur le disque.
Copiez les modèles de templates/ dans les dossiers correspondants : creative_brief.md, product_facts.md, benchmark.md, budget.md, feedback_brief.md, claims.md, licenses.md dans brief/, decision_list.md en tant que brief/decisions.md ; shot_list.json dans shots/ ; keyframes.example.json en tant que keyframes/keyframes.json ; le bloc de code prompts/look_bible.md rempli en tant que packs/look_bible.txt ; sfx_cue_sheet.md dans sound/ ; les cinq *.example.json (edl, captions, callouts, approved_drafts, approved_bridges) en supprimant .example dans edit/.
Le format d'image est écrit dans les données, pas dans des commandes à mémoriser :
- Génération vidéo : le format des tâches première/dernière image suit l'image de départ (les images clés sont d'abord normalisées avec
scripts/qc/normalise_keyframes.py --size 1080x1920) ; pour le mode référence, ajoutez--aspect 9:16. - Montage :
edit/edl.jsoncontient"size": [1080, 1920], puisuv run scripts/edl_editor/edit.py --project <projet> --edl edit/edl.json --dryorganise en mode vertical ;--res 480produit une petite prévisualisation dans le même format,--size WxHproduit d'autres formats. - Fil d'actualité vertical : le
styledeedit/captions.jsondoit contenir"preset": "feed_safe". Les sous-titres et les petits textes de fin de vidéo entrent dans un cadre de sécurité conservateur.--dryvérifie chaque ligne.
Dès le premier jour, faites git init et ajoutez .env, gen/, renders/, .cache/ à .gitignore. Pour chaque type de données, un seul fichier est reconnu comme source :
- Apparence du produit : fichier de spécifications ou maître 3D ; paramètres uniformes :
packs/look_bible.txt; - Timeline :
shots/shot_list.json; - Sous-titres :
edit/captions.json; - Montage :
edit/edl.json; - Plans approuvés :
edit/approved_drafts.json,edit/approved_bridges.json; - Allégations et licences :
brief/claims.md,brief/licenses.md; - Commentaires utilisateur :
brief/feedback_brief.md.
Pipeline
Deux voies parallèles : la voie visuelle et la voie audio. N'attendez pas que les visuels soient en haute définition pour commencer l'audio. Dès que la structure du montage est définie, lancez-vous.
| # | Étape | Livrable | Validation utilisateur | Vérification automatique / Journalisation | Voir aussi |
|---|---|---|---|---|---|
| 1 | Lancement & Faits | Brief créatif, fiche de confirmation des faits produit, liste de livraison | Confirmation des faits, du type de vidéo, du budget | — | 01, 02 |
| 2 | Création & Plan de tournage | Structure, rythme, tableau des plans (par plan : position caméra, action, effet, état produit, mode, transition, sous-titre, effet sonore) | Validation de la structure et de l'orientation du wording | Vérification de la durée et du temps de lecture | 02, rulebook §1 |
| 3 | Prévisualisation & Image de base | Maître 3D, contrat pour chaque image de base d'image clé, vidéo en gris si nécessaire ; sans 3D, utiliser des images de référence du produit | Aperçu global des images de base | Vérification de l'orientation, des câbles, des interpénétrations depuis chaque position caméra réelle | 03 |
| 4 | Définition du maître | Maître produit, maître scène, personnages (actifs d'abord, avant toutes les images clés des plans) | Vérification point par point | — | 04 §2, §3 |
| 5 | Images clés | Un pack d'images par image, ou appel API par script ; redimensionnement uniforme | Dessin manuel ou inspection des images | Gate K (script projet) : contour, proportions, état de l'effet, cohérence de l'échelle, fichiers en double | 04 |
| 6 | Brouillon vidéo | Brouillon 480p | Activation, paiement par l'utilisateur ; vérification du solde avant le batch ; inspection du brouillon | Simulation et conditions de rejet (incluant vérification du prompt) ; planche d'images toutes les 0,25 s ; Gate V (script projet) | 05 |
| 7 | Revue & Comptabilité | edit/approved_drafts.json, edit/approved_bridges.json, pré-montage | Avis, numérotés et écrits dans le brief | Validation manuelle liée à l'empreinte du fichier | 05 §13 |
| 8 | Montage & Sous-titres | Aperçu EDL : transitions, plans de transition IA, sous-titres, légendes, génériques d'ouverture et de fin | Modification du wording et de l'ordre | Vérification --dry des intervalles et du temps de lecture ; inspection des images fixes de sous-titres | 06 |
| 9 | Mise à niveau HD | Plans approuvés mis à niveau en 1080p sans modification | Validation après la finalisation de l'ordre et des sous-titres ; vérification du solde d'abord | Cohérence de la durée et des images intermédiaires | 05 §6 |
| S1 | Conception sonore (parallèle à 8, 9) | Sélection musicale et licences, feuille de repères des effets sonores, sons du produit, narration si nécessaire | Sélection musicale (fichier lisible), écoute des transitions | Enregistrement des licences | 07 |
| S2 | Mixage audio | Piste audio finale équilibrée | Écoute du produit fini | Mesure réelle du dB « effets - musique » par fenêtre temporelle ; cible de loudness | 07 |
| 10 | Livraison | Version maître, version de partage < 30 Mo, formats par plateforme, versions courtes 15/6 s | Texte d'ouverture final, version finale | Durée, flux audio/vidéo, loudness, image clé | 08 |
| 11 | Multilingue | Un fichier de texte génère des sous-titres et un EDL parallèles | Validation du texte | Version originale inchangée pixel par pixel ; 0 caractère résiduel de la langue d'origine | 08 |
| 12 | Vérification finale de conformité | brief/claims.md, brief/licenses.md, marquage IA | Signature | Vérification par liste de mots + vérification phrase par phrase par rapport aux faits produit | 09 |
Les 12 règles les plus importantes
Les 139 règles complètes se trouvent dans references/rulebook.md.
- Rédigez d'abord la fiche de lancement : type de vidéo, public (interne ou public), plateforme, durée, format, puis discutez du concept créatif.
- Rédigez et confirmez les faits produit par écrit ; une correction doit être appliquée une fois en aval (3D, images de base, prompts d'image, prompts vidéo, sous-titres, légendes, brief), puis une recherche globale des mots résiduels.
- La 3D ne définit que la position, les pixels finaux sont laissés à l'IA ; demandez-vous pour chaque plan « d'où viennent les pixels finaux ? ».
- Les images clés IA doivent servir de première/dernière image pour piloter le plan, et non pas seulement comme une image parmi d'autres dans un dossier de référence.
- Chaque pixel donné au modèle vidéo sera recopié : le gris doit être uniforme et débruité, le dossier de référence ne doit pas contenir d'images avec des angles de caméra différents, l'image de référence elle-même doit être correcte.
- Les prompts vidéo sont rédigés comme un script seconde par seconde, les chiffres sont extraits de la 3D ou du tableau des plans, pas écrits à la main ; n'écrivez que les changements, ne répétez pas la description de l'apparence.
- Décrivez les effets tels que la caméra les verrait, et précisez « ce que ce n'est pas » ; une lumière allumée en permanence écrit « luminosité constante » ; utilisez des critères visuels vérifiables pour contrôler les quantités.
- Dépensez en deux niveaux : passez d'abord la vérification gratuite, produisez un brouillon 480p ; une fois approuvé, mettez à niveau en HD sans modification, après avoir vérifié le solde.
- Regardez la vidéo brute image par image : le mode première/dernière image peut effectuer des fondus enchaînés invisibles au milieu ; une inspection indépendante doit porter sur la vidéo brute générée.
- Les sous-titres, légendes et l'audio sont dans la couche de montage, générés à partir des données de la timeline ; modifier un mot, réorganiser, passer en HD ne nécessite pas de régénérer les visuels.
- Deux niveaux de conformité : d'abord la vérification par liste de mots (mots interdits, allégations d'efficacité, médicales, chiffres), puis la vérification phrase par phrase par rapport aux faits produit pour les « fonctions implicites ». Le marquage IA par défaut consiste à l'indiquer une fois sur l'image d'ouverture (au moins ~2 secondes) et à le mentionner en petits caractères à la fin, en plus de la déclaration IA de la plateforme. Pas de logo permanent en incrustation, sauf si la plateforme l'exige.
- Chaque commentaire de l'utilisateur est numéroté et écrit textuellement dans le brief, tous les agents et la vérification finale s'y réfèrent. Les longues conversations sont compressées, les fichiers ne le sont pas.
Collaboration avec l'utilisateur
- Temps : donnez d'abord une estimation ; pour les longues tâches sans sortie visible, signalez activement l'étape en cours, l'heure de la dernière activité et la nouvelle estimation.
- Quand c'est au tour de l'utilisateur, fournissez tout en une fois : un fichier d'instructions complet, des éléments directement ouvrables ou lisibles, envoyés sur le téléphone (fichier unique < 30 Mo). Dites à l'utilisateur dans quel dossier placer le maître.
- Écoutez bien la méthode de travail : « analyse seulement » signifie analyse seulement ; « ne t'arrête pas entre les deux » signifie allez jusqu'à la livraison ; « dernière version » sautez les auditions intermédiaires.
- Commencez par la conclusion : si l'utilisateur demande « est-ce qu'on doit tout recommencer ? », la première phrase donne la conclusion, puis les raisons, et enfin la liste des points sur lesquels l'utilisateur doit trancher.
- Sécurité :
- Ne lisez pas, n'affichez pas, ne demandez pas les clés (mettre seulement dans
.env) ; - Ne créez pas de compte, ne saisissez pas de mot de passe ou d'informations de paiement ;
- Pour accepter un accord, payer, activer, recharger, arrêtez-vous avant le bouton, expliquez le coût, et laissez l'utilisateur cliquer lui-même ;
- Demandez avant de télécharger un fichier.
- Ne lisez pas, n'affichez pas, ne demandez pas les clés (mettre seulement dans
- Longues tâches :
- Avant de commencer, demandez à l'utilisateur de brancher l'alimentation, de régler la mise en veille sur « jamais », et demandez la permission de maintenir le système éveillé ;
- Les workflows et les batchs doivent pouvoir reprendre depuis le disque ;
- La soumission et la consultation des résultats se font en deux étapes ;
- Un seul processus de rendu 3D à la fois.
Détails dans references/10-working-with-user.md.
Diffusion publique
Pour tout contenu public, y compris les publicités, les réseaux sociaux, les visuels de présentations publiques :
- Ne montrez pas de vues éclatées, de coupes, de plans montrant la structure interne, n'écrivez pas les noms des composants internes ni leur fonctionnement ;
- Sur les réseaux sociaux, ne nommez pas de produits d'IA spécifiques (écrivez « grand modèle d'image », « modèle vidéo », « logiciel 3D ») ;
- Ne divulguez pas les coûts ;
- Formulez les problèmes rencontrés comme des problèmes de processus génériques, sans expérience personnelle ;
- Ajoutez la déclaration de génération IA requise par la plateforme.
Voir references/09-compliance.md.
Outils
Tous les scripts s'exécutent avec uv run. Les dépendances sont dans le bloc PEP 723 au début de chaque script. ffmpeg provient d'imageio-ffmpeg.
| Script | Utilisation |
|---|---|
scripts/edl_editor/edit.py | Monte selon l'EDL : cartes, fondus, noirs, halos, whip pans, plans de transition IA, sous-titres, légendes, logos incrustés ; supporte 16:9, 9:16, 1:1 ; --dry pour simulation, sort timeline.json. make_demo.py peut générer un projet de démonstration en un clic. |
scripts/edl_editor/typeset.py | Moteur de composition pour sous-titres et cartes : hiérarchie chinois/anglais, ponctuation, zone de sécurité, polices de secours multi-plateformes ; --specimen pour vérifier les polices locales. |
scripts/video_api/seedance.py | Client Seedance (Volcengine Ark) : modes première/dernière image, image de référence, etc., brouillon et mise à niveau HD, requêtes interruptibles, estimation des coûts et journal, --dry sans réseau (vérification seulement, incluant vérification du prompt) ; peut servir de modèle pour adapter d'autres modèles vidéo. |
scripts/audio/mix.py | Équilibre les pistes de musique et d'effets sonores par fenêtre temporelle, mesure la différence dB réelle, limiteur et double normalisation du loudness, puis synthèse dans la vidéo. |
scripts/qc/strip.py | Extrait une image toutes les 0,25 s pour créer une planche, dessine les courbes de mouvement et de luminance, repère les coupes franches, les sauts et les arrêts sur image. |
scripts/qc/contact_sheet.py | Grille d'images avec étiquettes pour inspecter les images de base, les images clés et les brouillons. |
scripts/qc/normalise_keyframes.py | raw → norm pour les images clés : recadre les images des plans au format de sortie, réduit seulement les images maîtres et de référence sans recadrer, avertit en cas d'agrandissement ou de recadrage agressif. |
scripts/qc/lint_prompts.py | Analyse les prompts vidéo pour les familles de mots interdits (incluant les mots interdits de mécanisme du produit). Signale une erreur si aucun fichier n'est trouvé. |
Scripts non inclus, à écrire par le projet dans work/ : la logique Gate K et Gate V (seedance.py ne lit pas le rapport Gate K, « pas de rapport, pas de soumission » est garanti par l'étape de soumission du projet), la génération des packs d'images (keyframes.json → packs/), shot_list.json → EDL et brouillon de sous-titres. Les exigences sont décrites dans 04, 05, 06 et templates/prompts/keyframe_pack.md.
Voir les README de chaque répertoire pour les instructions d'utilisation. Les capacités, prix et limites des modèles changent rapidement. Vérifiez la documentation officielle avant utilisation. Chaque fichier de référence a une date de vérification dans les « notes sur le modèle » à la fin.
Quand lire quel fichier
| Fichier | Quand le lire |
|---|---|
references/01-intake.md | Premier jour d'un nouveau projet |
references/02-formats.md | Pour définir le type de vidéo, la durée, le format, la structure, ou pour réaliser une publicité ou une courte vidéo verticale |
references/03-previs.md | Avant de construire la prévisualisation 3D ou les images de base ; ou quand il n'y a pas de modèle 3D |
references/04-keyframes.md | Pour écrire les packs d'images, définir les paramètres uniformes, vérifier les images clés |
references/05-video-gen.md | Pour écrire les prompts vidéo, choisir le mode de génération, soumettre, inspecter les brouillons, mettre à niveau en HD |
references/06-edit-type.md | Montage, transitions, sous-titres, légendes, génériques d'ouverture et de fin |
references/07-sound.md | Sélection musicale, effets sonores, narration, mixage |
references/08-delivery.md | Livraison, versions par plateforme, versions courtes, multilingue |
references/09-compliance.md | Avant d'écrire tout texte à l'écran ou toute narration ; avant une diffusion publique |
references/10-working-with-user.md | Collaboration avec des utilisateurs non-codeurs, longues tâches, limites de sécurité, problèmes d'environnement |
references/rulebook.md | En cas de doute à une étape, consultez le groupe de règles correspondant |
references/pitfalls.md | En cas de problème, recherchez d'abord par symptôme |
templates/ | Copiez dans le projet au démarrage, remplissez puis utilisez |
examples/case-study.md | Pour voir comment un projet complet s'est déroulé |