Motion Graphics Video · Vidéo de motion graphics de qualité portfolio
Traitez « une vidéo » comme une œuvre de design en mouvement, comme un portfolio sur un CV. Utilisez tous les outils ou techniques que vous jugez les meilleurs pour obtenir le résultat optimal. L'agent dispose d'une entière liberté créative, en privilégiant l'excellence du design visuel, une direction artistique audacieuse, des compositions accrocheuses et un mouvement dynamique puissant, pour que chaque seconde compte. Donnez le meilleur de vous-même. Cette compétence est le fruit d'un processus artisanal complet appliqué à un documentaire de 201 secondes (vérification des faits → capture de preuves → apprentissage des animations → système visuel → timeline pilotée par les données → retour de lecture de la narration → rendu par blocs → mixage 4 pistes → validation point par point).
0. Avant de commencer : les trois choses à demander impérativement à l'utilisateur (ne pas sauter)
Utilisez AskUserQuestion (ou une question équivalente) pour poser les trois questions en une seule fois. Ne commencez pas si l'une d'elles manque :
- Besoin / Thème — De quoi parle la vidéo ? Quel est le public cible et le contexte de diffusion ? Y a-t-il des faits, des produits, des personnes, des couleurs de marque qui doivent impérativement apparaître ?
Proposez également les options de durée :
15 / 30 / 60 / personnaliséesecondes (par défaut 60). La durée est un budget, pas une valeur fixe : elle sera déterminée en dernier lieu par la densité du contenu et la durée de la narration. - Modèle principal — Le modèle chargé de la planification, du contenu, du code et de l'ordonnancement. Recommandation : la série Qwen (ex : Qwen4-Max / Qwen3.8-Plus) : bon contexte long pour la timeline complète et les projets multi-fichiers, qualité stable pour le contenu chinois et la vérification des faits. L'utilisateur peut également spécifier un autre modèle, respectez son choix.
- Modèle TTS — Le modèle responsable de la narration vocale.
Recommandation forte : la série vocale Qwen TTS (ex :
qwen-audio-3.0-tts-plus) : prend en charge les instructions de timbre et de tonalité, le ton documentaire est naturel. Confirmez également : timbre, instruction de tonalité, langue.
À confirmer également (des valeurs par défaut peuvent être proposées) : préférences de style visuel, résolution / fréquence d'images (par défaut 1920×1080@30), besoin de musique de fond (par défaut oui), besoin d'effets sonores (par défaut non — les effets sonores synthétiques peuvent sembler bon marché, sauf demande explicite de l'utilisateur), et les fichiers de référence / images / adresses web fournis par l'utilisateur.
Règle stricte concernant les clés API : toute clé API est écrite uniquement dans le fichier .env du projet et ajoutée au .gitignore ; ne pas l'écrire dans la documentation, la mémoire, les logs, ni l'afficher dans la conversation.
1. Prompt principal (version optimisée · les emplacements varient selon les entrées utilisateur)
Donnez le prompt suivant comme cadre créatif à l'agent exécutant ; les {{…}} sont des emplacements à remplir selon les résultats collectés à l'étape 0 :
Créez une vidéo de motion graphics de {{DURATION}} secondes, comme un portfolio qui démontre votre niveau en tant que designer motion.
Thème : {{THEME}}.
Vous disposez d'une entière liberté créative, utilisez tous les outils et techniques qui vous permettent d'obtenir le meilleur résultat ; privilégiez un design visuel excellent, une direction artistique audacieuse, des compositions accrocheuses et des mouvements dynamiques puissants, pour que chaque seconde compte. Donnez le meilleur de vous-même.
La planification et le code sont assurés par {{MAIN_MODEL}} ; la narration est synthétisée par {{TTS_MODEL}} (timbre {{VOICE}}, tonalité {{TTS_INSTRUCTION}}).
Style visuel : {{STYLE}} ; format {{RESOLUTION}}@{{FPS}}fps ; musique {{MUSIC}} ; effets sonores {{SFX}}.
Si vous avez besoin d'UI, de symboles, de documents réels, de séquences vidéo ou de musique de fond, recherchez, téléchargez et utilisez-les par vous-même sur Internet ;
Vous devez consulter un par un et prendre en compte les fichiers, images et adresses web fournis par l'utilisateur : {{REFERENCES}}.
Consultez d'abord les exemples d'animations sur https://snapcn.dev/docs/components pour vous inspirer avant de commencer ; pour les composants réservés aux membres, n'apprenez que leur logique, ne contournez pas le paiement ni la vérification.
Exigences de processus (non négociables) :
1 Faits : chaque chiffre, date ou citation affiché à l'écran doit avoir une URL source et un point temporel de la statistique ; pour les événements de moins d'un an, au moins deux sources indépendantes ; les formulations ne doivent pas être plus fortes que les preuves.
2 Preuves : captures d'écran réelles / enregistrements d'écran / pages de documents en pleine page ou dans des fenêtres flottantes en verre ; lors de la capture, enregistrez les ancres DOM, les zooms avant et les surlignages doivent toujours correspondre au texte ; pour les séquences historiques, privilégiez les instantanés Wayback ; masquez les popups pendant la phase de capture ; ne contournez pas les protections anti-scraping ni les vérifications humaines.
3 Plans : trois niveaux de champ (WIDE / MID / MACRO), pour chaque plan : move → settle (≥ 18 images, avec seulement 0,5% de dérive respiratoire) → exit ; utilisez des courbes de Bézier lisses pour l'accélération et la décélération, interdisez les mouvements de caméra linéaires ; le zoom maximum est de 1,8×, assurez-vous que le contenu mis en évidence est entièrement dans la zone de sécurité.
4 Cohérence : respect de la loi de continuité de la Gestalt — aucun élément ne doit apparaître ou disparaître brutalement, l'entrée et la sortie doivent toujours être animées ; les transitions sont fixes et ont chacune une signification.
5 Typographie : zone de sécurité ≥ 96px ; maximum de 2 couches de texte à l'écran (sous-titres + un titre ou un chiffre) ; les sous-titres ont une position fixe, sont colorés mot par mot et ne participent à aucune autre animation ; le texte à l'écran ne répète pas la narration, il ne donne que les dates, modèles, valeurs, sources ; le texte à l'écran n'a pas de ponctuation de fin de phrase.
6 Matériaux : les cartes / fenêtres flottantes / panneaux utilisent uniformément le verre liquide (frost≈18px, rim≈0.22, bend≈0.45, dispersion≈0.35) ; la palette est extraite du thème (7–8 couleurs), les couleurs d'accentuation ne servent que de stylo surligneur ; conservez le grain et le vignettage ; n'activez le flou de mouvement et l'aberration chromatique que pour les mouvements rapides.
7 Rythme : les coupes franches doivent être calées sur les battements de la musique (± 3 images) ; après la fin de la frappe des cartes de questions / titres, une pause d'au moins 1,5 s est nécessaire ; pour les listes et les contenus de type mur, une pause d'au moins 3 s est requise ; la durée est déterminée par le contenu, ne coupez pas à blanc pour atteindre une durée donnée, et ne sacrifiez pas les pauses pour réduire la durée.
8 Son : narration à −16 LUFS ; la musique doit être atténuée (ducking) de 6–9 dB sous la narration (attack≈150ms / release≈400ms) ; les changements d'ambiance des chapitres peuvent utiliser un filtre passe-bas ou le silence pour créer une respiration ; par défaut, pas d'effets sonores ; le pic vrai du bus final doit être ≤ −1 dBTP.
9 Ingénierie : la timeline est générée par un script à partir de la durée de la narration, les scènes ne lisent que des images relatives ; les limites du rendu par blocs tombent sur les coupes de plans ; en cas d'échec de rendu, réduisez automatiquement la concurrence et réessayez.
10 Livraison : livrez un seul fichier vidéo + un script complet (storyboard / narration / texte à l'écran / assets / animations / sources) ; déplacez les produits intermédiaires dans la corbeille plutôt que de les supprimer.
Validation (testez le fichier livré, vérifiez chaque point) : nombre d'images = timeline ; résolution / fréquence d'images ; I≈−16 LUFS et TP≤−1 dBTP ; blackdetect ne montre aucun noir inattendu ; pas de pause statique > 1,5 s consécutive ; les jonctions des blocs n'ont pas de répétition ni de perte d'images ; ≥70% des coupes franches sont calées sur le rythme ; vérification visuelle du point médian de chaque plan par contact sheet ; vérification de la séquence toutes les 4 images pour les mouvements de caméra, en vérifiant l'interpolation et le flou ; comparaison mot à mot de la narration (timestamps au niveau du mot ou Whisper local) ; la liste des sources correspond effectivement à ce qui est affiché.
Tableau des emplacements (variables selon l'entrée / le choix de l'utilisateur)
| Emplacement | Source | Valeur par défaut |
|---|---|---|
{{DURATION}} | Choix de la durée à l'étape 0 | 60 |
{{THEME}} | Texte original du besoin utilisateur | Obligatoire |
{{MAIN_MODEL}} | Choix utilisateur | Qwen3-Max (recommandé) |
{{TTS_MODEL}} / {{VOICE}} / {{TTS_INSTRUCTION}} | Choix utilisateur | qwen-audio-3.0-tts-plus / Timbre documentaire sobre / Tonalité sobre, magnétique, solennelle, débit modéré |
{{STYLE}} | Choix utilisateur | Documentaire verre liquide |
{{RESOLUTION}} / {{FPS}} | Choix utilisateur | 1920×1080 / 30 |
{{MUSIC}} / {{SFX}} | Choix utilisateur | Oui (musique sous licence CC) / Non |
{{REFERENCES}} | Fichiers / images / URL fournis par l'utilisateur | Si rien, laisser vide et faire ses propres recherches en ligne |
2. Pipeline de production (ordre d'exécution)
- Demande des trois éléments → Créer
data/brief.json. - Vérification des faits →
data/facts.md: chaque URL + point temporel de la statistique + écart de périmètre ; tableau de correction des formulations (supprimez les formulations excessives comme « la première fois / égalité / premier dépassement », sauf si la preuve originale le dit). - Captures d'assets et d'ancres → Capture plein écran Playwright dpr2 +
anchors.json(boîte englobante DOM / Range au niveau du mot) +meta.json(capturedAt / sha256) ; pour les plans de défilement, capturescrollToimage par image pour garantir la fluidité 30fps ; le texte des terminaux / flux de pensée doit provenir d'exécutions réelles ou d'exemples publics officiels. - Apprentissage des animations → Parcourir la bibliothèque de composants snapcn, en extraire les primitives (entrée par ressort de groupe, balayage lumineux de spécifications, chute de chiffres, traçage de lignes brisées, dérive de mur de modèles, sous-titres karaoké…), les implémenter soi-même, sans copier le code des membres.
- Système visuel → Palette de couleurs / polices / matériau en verre / zone de sécurité / vocabulaire des transitions / zones de texture (chaque chapitre a une texture et un plan emblématique).
- Narration → TTS phrase par phrase + tableau de correction de prononciation (ex : QwQ → Q W Q) + suppression du silence + normalisation du volume ; comparaison par retour de lecture locale Whisper, regénérer les phrases avec un score bas.
- Rythme et timeline → Map de battements librosa ; durée du plan = max(budget, blanc + narration + blanc) ; les points de coupe sont calés sur les battements ; les limites des blocs = points de coupe ; sortie
timeline.gen.json, les scènes ne lisent que des images relatives. - Rendu → Rendu par blocs Remotion (CRF16, yuv420p, BT.709), en cas d'échec, réduire la concurrence et réessayer ; assembler après encapsulation.
- Mixage → Narration / musique bi-piste (pas d'effets sonores par défaut) ; ducking + filtre passe-bas par chapitre + silence avant les phrases ; deux passes loudnorm (I=−16, TP≤−2 pour la marge AAC).
- Validation et livraison → Tester chaque point de la liste de validation de la section 1 ; inspection visuelle par contact sheet + séquence de mouvement ; nettoyage des produits intermédiaires (déplacer vers la corbeille) ; livrer la vidéo unique + script.md.
3. Contraintes strictes
- Les clés API ne sont stockées que dans
.env(ajouté au.gitignore) ; pas d'affichage dans la documentation, les logs ou la conversation. - Toute suppression doit être déplacée dans
~/.Trash,rminterdit. - Ne contournez pas les protections anti-scraping, les vérifications humaines ni les paywalls ; si bloqué, changer de source et le noter dans la table des faits.
- Ne livrez qu'un seul fichier vidéo ; les images recréées doivent comporter un coin avec la mention « Animation illustrative ».
- Le texte à l'écran et la narration sont séparés ; le texte à l'écran n'a pas de ponctuation de fin de phrase ; les chiffres dans la narration sont en chiffres arabes, sans séparateur de milliers.
4. Échecs courants et solutions de secours
- Ancres manquantes dans les pages à chargement différé → Pré-défiler avant la capture + réessayer avec
scrollIntoViewIfNeededpour les ancres manquantes ; les points d'arrêt / images de la scène sont calculés dynamiquement en fonction des ancres réelles pour garantir la synchronisation audio-vidéo. - Capture plein écran incomplète pour les pages avec défilement interne →
fullPage:true+ clip ; pour les pages très longues, découper localement par ancre et recalculer les coordonnées de l'ancre. - Fenêtres modales / popups de redirection → Masquer par CSS pendant la phase de capture, ou cibler les ancêtres fixed / absolute par texte ; ne pas cliquer sur les boutons qui déclenchent une redirection.
- Écran du boîtier de l'appareil opaque → Placer la couche d'enregistrement au-dessus du PNG du boîtier, recadrer selon le pourcentage d'écran du template.
- Zoom rognant le texte clé → Limite de zoom 1,8× + le rectangle focal doit être entièrement dans la zone de sécurité ; pour les fenêtres de recadrage dans un panneau, utiliser cx/cy pour aligner sur le centre du panneau.
- Fausse détection de pause → Utiliser le double indicateur « moyenne + proportion de pixels changeants », 960×540@10fps ; conserver 0,5% de dérive respiratoire pour le settle.
- Pic vrai AAC excessif → Laisser une marge de 0,5–1 dB (ex : −2,2) pour la cible TP de loudnorm, revérifier après encapsulation.