/minara-videoscript — Scripts vidéo Minara
Script uniquement, pas d'animation. Le résultat est un document de script Markdown plus un dossier d'images keyframes fixes. Après approbation par l'opérateur, il est transmis en aval :
| Type de vidéo | Compétence en aval |
|---|---|
| Film marketing / lancement / démo (image construite en code, UI peut être redessinée) | minara-video |
| Tutoriel d'utilisation / débutant (UI reconstruit fidèlement) | minara-usecase-video |
| Légendes + voix off sur l'enregistrement d'écran de l'opérateur | minara-guide-video |
| Couper la narration enregistrée et la placer sur la piste de voix off | minara-voiceover (lit les colonnes Voix off et Temps de la feuille de keyframes) |
| Musique / effets sonores | minara-music (lit la section musique et les indices sonores de ce document) |
Structure : un supplément de scène unique a 5 à 8 keyframes tirées d'un seul source.html ; un film complet fait généralement 6 à 10 scènes. Rédigez les nouveaux scripts en anglais uniquement.
L'unité centrale : la keyframe
Un script est une séquence de keyframes. Une keyframe est une image fixe d'un moment que le spectateur doit voir, avec tout ce qui se passe autour écrit à côté. Chaque keyframe comporte les sept mêmes champs :
| Champ | Ce qu'il contient |
|---|---|
| Image | . Source : UI code / Figma / AIGC. |
| Temps | Timecode que l'image représente (40.5s) et la plage qu'elle couvre (39.8–41.6s). |
| Durée | Longueur de cette plage en secondes (maintien + le mouvement qui y mène). |
| Image | Ce qui est à l'écran et ce qui bouge, dans l'ordre. Mouvement de caméra si présent (zoom avant sur la carte de workflow). |
| Voix off | La ligne prononcée sur cette plage, ou —. |
| Texte à l'écran (花字) | Texte exact, style, position, heure d'entrée/sortie. Ou —. Règles ci-dessous. |
| Musique | Énergie BGM pour cette plage + tout indice sonore avec son heure exacte. |
Comptage approximatif : une keyframe pour 2 à 4 secondes de film, au moins une par scène. Choisissez les images où quelque chose a abouti (l'invite est tapée, le graphique est dessiné, la notification est arrivée), pas en plein flou de mouvement.
Langue : anglais uniquement (l'opérateur, 2026-10-19)
- Tout dans le document de script est en anglais : titre, notes, tableau de flux, champs de keyframes, voix off, texte à l'écran, copie UI, notes musicales, questions ouvertes. Pas de lignes de traduction en chinois, pas de colonnes "中文对照", pas d'autres langues. Il en va de même pour tout texte dans les images keyframes.
- La copie UI est citée exactement telle qu'elle apparaît dans l'interface utilisateur anglaise du produit.
- L'opérateur peut donner des instructions en chinois ; traduisez le sens dans le script anglais. Parlez-lui en chinois dans le chat s'il écrit en chinois. Seul le document est en anglais.
Voix : calme, neutre, naturelle
Le script doit donner l'impression qu'une personne l'a écrit, pas un modèle. Calme et neutre : énoncez ce qui se passe, laissez le produit porter.
- Lisez chaque ligne de voix off à voix haute. Si elle ressemble à une publicité, un générateur de slogans ou un communiqué de presse, réécrivez-la. Si vous ne le diriez pas à un collègue, supprimez-la.
- Verbes simples, phrases courtes, présent. Les contractions sont acceptables (
it's,you'll). Exemple de registre :Just ask./Backtest it./Minara builds the workflow./Then it keeps watching. - Neutre, pas excité : pas d'adjectifs tape-à-l'œil, pas de points d'exclamation, pas de majuscules, pas d'emoji.
- Mots interdits : exciting, powerful, seamless(ly), effortless(ly), revolutionary, game-changing, unlock, unleash, elevate, supercharge, empower, cutting-edge, next-level, robust, leverage, harness, journey, landscape, delve, transform(ative), "at your fingertips".
- Modèles IA interdits :
- "Not just X, but Y" / "It's not X. It's Y."
- Listes de trois pour le rythme ("faster, smarter, safer")
- "Imagine…", "What if…", "In a world where…", "Say goodbye to…", "Meet your new…"
- Questions rhétoriques comme accroches
- Révélations par deux-points ou tiret ("One thing changed: everything.")
- Propositions en -ing qui ajoutent une profondeur factice ("…, giving you full control.")
- Remplissage de signification ("a pivotal moment", "redefines how…")
- Liste complète des modèles : consultez la liste des modèles d'écriture IA (par ex. Wikipédia : "Signs of AI writing"). Passez chaque ligne de voix off et chaque texte à l'écran au crible avant de les remettre.
- Pas de promesses de profit ("guaranteed", "risk-free"). Si des backtests ou des retours apparaissent, notez où va la mention de risque (par ex.
Past performance does not guarantee future results.). - Les faits qui ne sont pas dans le matériel source sont signalés par ⚠️ et vont dans les "Questions ouvertes". N'inventez pas.
Workflow
- Recueillir les entrées : brief, captures d'écran, chemin du code frontend, lien Figma, notes de fonctionnalité, coupe existante, référence musicale le cas échéant. Demandez une fois, en une seule question combinée, uniquement ce qui ne peut pas être déduit : durée, paysage/portrait, plateforme (X / Discord / site web), voix off ou non, où cela se situe dans le film, ambiance musicale si l'opérateur en a une en tête.
- Verrouiller les choix de présentation en haut du document pour qu'ils ne dérivent pas : le cas exemple, la surface (Desktop / App / Web), le fuseau horaire, ce qui n'est pas montré. Choisissez le cas selon les règles de sujet ci-dessous.
- Rédiger d'abord le texte : section 1 (ce qui doit être communiqué), le flux utilisateur et la copie UI, la liste des scènes avec les timings, et la liste des keyframes (ID, temps, image, voix off, texte à l'écran, musique). Pas d'images encore. Cela empêche le travail sur les images de guider l'histoire.
- Créer les images keyframes selon les routes ci-dessous, dans
docs/keyframes/<sujet>/K1.png …. Les frames UI d'abord (elles sont gratuites et exactes) ; demandez avant toute frame AIGC qui coûte des crédits. - Écrire le document dans le dossier
docs/du projet (NN-script-scene-N-<sujet>.mdpour une scène unique ;NN-script-<slug>.mdpour un film complet). Racine du projet s'il n'y a pas dedocs/. Ouvrez chaque PNG de keyframe et vérifiez-le par rapport à son champ Image avant de le lier. - Auto-vérification avec la liste de contrôle ci-dessous. Calculez les nombres de mots et les timings de la voix off ; ne les estimez pas.
- Envoyer à l'opérateur : chemin du fichier plus 3 à 5 lignes (durée, nombre de scènes, nombre de keyframes par source, mots de voix off / part du temps d'exécution, direction musicale en une ligne, nombre de questions ouvertes). L'opérateur édite le script et marque les keyframes, pas le code. Pas d'animation avant approbation. Les images fixes sont autorisées avant approbation ; le mouvement ne l'est pas.
- Après approbation : transmission. Le script en aval par seconde se développe à partir des temps de keyframes de ce document ; rien n'est réécrit.
minara-musicconstruitcues.jsonà partir de la section Musique. Pour un comité de révision, générezstoryboard.htmlà partir duassets/storyboard-template.htmldeminara-video; les keyframes AIGC correspondent à ses lignes AIGC.
Création des images keyframes
Trois routes. Utilisez la première qui convient ; un script peut les mélanger, et chaque keyframe indique laquelle a été utilisée.
Route A — Code UI (par défaut pour tout ce qui est UI du produit)
La frame est dessinée en HTML, donc la copie est exacte et la frame peut être réutilisée par l'animation plus tard.
- Copiez
assets/keyframes-source-template.htmlversdocs/keyframes/<sujet>/source.html. Une<section class="k" id="K1">par keyframe ;?k=K1montre cette frame. - Remplissez chaque frame à partir de l'UI réelle : prenez la copie, les données et la structure du code frontend (composants, chaînes i18n) ou de la composition HyperFrames existante. Redessinez en grand, selon les règles vidéo : corps ≥28px, titres ≥48px, nombres clés 80–140px, 3 à 5 éléments par écran, Geist uniquement, palette Minara (
#F2F2F2pour la scène,#15171A/#222222/#FFFFFFpour l'UI,#B0B0B0pour le secondaire, vert#07B56Apour up/succès uniquement, rouge#F75D5Fpour down uniquement), pas de dégradés, "Illustrative data" en bas à droite. - Dessinez le texte à l'écran (花字) dans la frame là où il se trouvera, afin que l'opérateur examine la disposition réelle.
- Capturez :
La sortie est en 2560×1440 (~/.claude/skills/minara-videoscript/scripts/shoot_keyframes.sh \ docs/keyframes/<sujet>/source.html docs/keyframes/<sujet> landscape K1 K2 K3portrait: 1440×2560), correspondant à la livraison 2K. Le script passe également#k1, donc les pages source V2 plus anciennes (sélectionnées par hash) fonctionnent aussi. - Si l'animation existe déjà et qu'une keyframe est un moment dedans : cherchez la composition au lieu de redessiner. Utilisez la page de test du projet avec
?t=<secondes>ounpm run snapshot -- <t1>,<t2>, puis copiez le PNG en tant queK<n>.png.
Route B — Figma
Quand le design a la frame dans Figma (nouveaux écrans pas encore en code, maquettes de campagne).
- Obtenez
fileKeyetnodeIdà partir du lien (node-id=1-2→1:2). Chargez les conseils de conception vers code de Figma avantget_design_context. get_screenshotavecmaxDimension: 2560, puis téléchargez l'URL avec curl dansdocs/keyframes/<sujet>/K<n>.png.- Utilisez
get_design_context/get_variable_defspour obtenir la copie exacte et les tokens pour le tableau de copie UI. - Si la frame Figma est un écran de bureau dense, elle est uniquement une référence : reconstruisez-la en grand via la Route A et notez
Figma → UI codecomme source.
Route C — AIGC à partir de captures d'écran
Pour les frames qui ne sont pas de l'UI du produit : une image d'ouverture, une métaphore, une personne utilisant le téléphone, un environnement, une image d'ambiance. Jamais pour l'UI du produit ou quoi que ce soit avec de la copie ou des nombres réels ; ceux-ci passent par A ou B.
- Demandez d'abord. La génération d'images dépense des crédits (Figma
generate_imageutilise des crédits Figma AI ; les modèles Weave nécessitent un coût estimé et une approbation explicite). Dites quelles frames, quel modèle et le coût, puis attendez. - Donnez au modèle la capture d'écran ou une frame de la Route A comme référence là où l'outil l'accepte ; sinon, décrivez la référence dans l'invite.
- Règles de l'invite : 16:9 (ou 9:16), la palette Minara en mots (scène gris clair, UI presque noire, blanc, vert uniquement pour le succès), propre et minimaliste, lumière douce du jour, pas de dégradés, pas de violet-rose-orange, pas de texte, lettres, chiffres ou logos dans l'image (les modèles les déforment ; le texte est ajouté dans le code), pas d'imagerie de mème, pas de ressemblance avec des personnes réelles ou d'autres marques.
- Enregistrez sous
K<n>.png, et écrivez l'invite exacte, le modèle, l'image de référence et la date dansdocs/keyframes/<sujet>/prompts.mdafin que la frame puisse être régénérée ou transmise au collègue qui réalise les prises de vue AIGC. - Ouvrez le résultat. Rejetez tout ce qui contient du texte aberrant, des mauvaises mains, de mauvaises couleurs, ou qui ressemble à de l'art IA de stock ; régénérez ou retombez sur une disposition de la Route A.
Texte à l'écran (花字)
Le texte à l'écran est tout texte placé sur l'image qui ne fait pas partie de l'UI elle-même : lignes de légende, un titre, un nombre clé, le CTA de fin.
-
Autorisé : (1) la ligne de voix off ou une partie de celle-ci, comme légende ou accentuation ; (2) la copie UI réelle extraite et agrandie ; (3) un titre, un nombre clé ou un CTA demandé par l'opérateur. Rien d'autre. Pas de mots d'annotation, de murs d'étiquettes, de mots-clés flottants ou de balises de fonctionnalité. Si un concept a besoin d'explication, montrez-le avec l'image et le mouvement.
-
Les règles de voix off s'appliquent : calme, simple, pas de mots interdits, pas de points d'exclamation, casse de phrase.
-
Écrivez chaque élément comme :
"Just ask."· 64px / 700 ·#15171A· en haut à gauche au-dessus de la fenêtre · entrée 12.4s, sortie 14.0s · monte de 24px avec minaraSnap. -
Styles à choisir (gardez un film cohérent) :
Style Utilisation Spécification Légende Ligne de voix off affichée comme texte 40–48px / 500, en bas au centre, blanc sur foncé ou #15171Asur clair, pas de boîteTitre Titre ou l'affirmation unique de la scène 64–96px / 700, tracking −0.02em, aligné à gauche Nombre clé Un nombre qui est le point de la prise de vue 120–200px / 700, chiffres tabulaires ; vert/rouge uniquement s'il s'agit d'un gain/perte CTA Carte de fin 56–72px / 700 + nom du produit ou URL -
Mouvement : entrée avec minaraSnap (0.6–0.9s, petit soulèvement ou échelle à partir de 0.96), sortie avec un fondu ≤0.3s. Chaque élément reste au moins aussi longtemps qu'il faut pour le lire à voix haute (0.4s/mot, minimum 1.2s).
-
Pas d'emoji, pas de remplissages dégradés, pas de lueur, pas de texte contouré ou 3D, pas de majuscules.
Musique (style BGM et indices sonores)
Le document donne à minara-music tout ce dont il a besoin, donc la musique est décidée avec le script, pas après.
- Brief au niveau du film (un bloc) : tempo (BPM, par défaut 120), tonalité (par défaut La mineur ; Do majeur pour les morceaux lumineux), ambiance en 1 à 2 lignes simples (
Soft electronic, warm pads, light plucked arpeggio, no vocals.), ce qu'il faut éviter (pas de drops EDM, pas de hits de bande-annonce, pas de crépitement lo-fi, pas de chops vocaux), et une piste de référence si l'opérateur en a donné une. Les pistes sous licence proviennent uniquement de l'opérateur. - Énergie par keyframe : une parmi
silent / intro / light / build / full / breakdown / climax / outro(le vocabulaire deminara-music), plus quelques mots d'ambiance. L'énergie suit l'histoire : le nom du produit ou l'affirmation de lancement obtientclimax; un battement de confidentialité ou de sécurité obtientbreakdown; la carte de fin obtientoutro. - Indices sonores : uniquement pour les actions visibles, chacun avec son heure exacte :
tap 35.0s,typing 32.1–34.6s (cps 18),success 45.0s,notify 45.2s,whoosh 47.3s,thud 43.2s,bell 0.4s. Les types sont la liste sfx deminara-music. - La voix off réduit la musique ; dites
duck under VOdans le brief quand il y a de la voix off.
Modèle de document de script
# Script | <Sujet> : <résumé en une ligne> ← film complet : "Script | <Nom du film>"
> Le script actuel unique pour <scène N / le film complet>.
> Objectif : <remplace la scène N, XX–XXs / nouveau film>. La coupe existante est inchangée jusqu'à approbation.
> Sources : <chemin du code frontend / lien Figma / chemins de captures d'écran / document produit>. Les éléments marqués ⚠️ ne sont pas dans la source et nécessitent une confirmation produit.
> **Présentation (verrouillée)** : <cas ; surface ; fuseau horaire ; ce qui n'est pas montré ; s'il y a une étape de question de suivi>.
> **Sortie** : <2560×1440 ou 1440×2560>, 60fps. Keyframes : `docs/keyframes/<sujet>/` (source : `source.html`, invites AIGC : `prompts.md`).
## 1. Ce que cela doit communiquer
1. <la première chose qu'un spectateur doit retenir>
2. … (max 4 ; chacune correspond à au moins une keyframe)
## 2. Flux utilisateur et copie UI
| Étape | Action utilisateur | Copie UI (exacte) | Source |
(Source = chemin du code / nœud Figma / capture d'écran ; les invites de démo sont marquées "(demo)")
## 3. Feuille de keyframes (<total>s<, remplace XX–XXs>)
| Key | Temps | Dur | Scène | Image (court) | Voix off | Texte à l'écran | Musique | Source image |
|---|---|---|---|---|---|---|---|---|
| K1 | 0.0–2.4s | 2.4s | S1 | L'avatar atterrit au centre | — | — | intro · bell 0.4s | UI code |
(Une ligne par keyframe ; les plages sont contiguës et totalisent le total. C'est le tableau que lisent les compétences en aval.)
## 4. Scènes et keyframes
### <Id de scène> | <s
…
