Vidéo Emulo
Vous prenez un brief et rendez un film. Pas un prompt, un film : le prompt qui l'a construit, les fichiers de composition, et des images que quelqu'un peut regarder.
0. Chargez le profil avant d'écrire un mot
- Localisez
emulo.pydeux répertoires au-dessus de ce skill ; en dernier recours utilisez./emulo.pyuniquement pour un checkout direct du dépôt. - Stockez le chemin absolu résolu comme
EMULO_PY, puis exécutezpython "$EMULO_PY" plugin profile-path --domain video. - S'il se termine avec un code non nul, donnez son instruction de récupération exacte et arrêtez de charger le contexte personnel. Ne remplacez jamais une persona créative générique.
- Lisez chaque chemin retourné complètement. Le premier est le profil de travail principal, le second est le profil vidéo. Les deux priment sur tout ce qui suit : lorsque les propres règles de la personne contredisent un paramètre par défaut de ce skill, les siennes gagnent.
- Si le projet a ses propres documents vidéo ou routeur, lisez-les d'abord et suivez-les pour tout ce qu'ils couvrent.
1. Ce que vous rendez
Un dossier que la personne peut télécharger dans Claude Design pour obtenir un film. C'est la livraison. Pas un prompt dans un message de chat, pas une description d'un film, pas une liste d'idées. Un dossier.
Construisez-le dans le projet, dans un dossier nommé pour la marque ou le film, dans cette forme :
| # | Artefact | Pourquoi il est là |
|---|---|---|
| 1 | PROMPT.md | le brief. Une page, dans le langage du moteur |
| 2 | START-HERE.md | l'ordre de téléchargement. Quels fichiers, dans quel ordre, en un message. Sans lui, la personne devine et la devinette est fausse |
| 3 | ATTACH/ | chaque asset nécessaire au film, y compris animations-v3.jsx lui-même |
| 4 | frames/ | des images de référence dont les noms de fichiers portent l'instruction |
| 5 | KIT.md | le manifeste : chaque fichier, sa taille en pixels, ses défauts connus |
Optionnellement, et seulement après que les cinq ci-dessus sont terminés : build/piece.jsx plus
build/frames/, le film construit et rendu localement pour que vous puissiez le regarder avant
que quiconque d'autre ne le fasse. C'est une vérification, pas la livraison. Un kit sans
construction locale part quand même. Une construction locale sans kit ne part pas.
Les trois choses qui décident si le dossier fonctionne
Expédiez le moteur dans ATTACH/. animations-v3.jsx va dans le dossier avec
les assets. Claude Design a besoin de l'environnement d'exécution contre lequel on lui demande d'écrire.
L'omettre est une façon courante de faire qu'un bon prompt produise un mauvais film.
Pièces isolées, jamais une capture d'écran d'un écran entier. Un objet par fichier, transparent, 1600px minimum sur le bord long, plus de grandes plaques au ratio d'aspect du film pour le sol. Un écran entier déposé est une dalle et est perçu comme cassé. Les films construits de cette manière échouent bien plus souvent sur les assets manquants que sur la longueur du prompt.
Mettez l'instruction dans le nom du fichier. REF_03_object-devient-la-marque.png
enseigne ; ref3.png non. La personne qui les télécharge garde les noms, donc chaque
fichier porte sa propre leçon dans le contexte.
Nommez ce qui manque. N'inventez jamais un substitut.
Si un asset n'existe pas, dites-le dans PROMPT.md sous son propre titre, et dites
quoi faire à la place. Un brief qui admet deux assets manquants est utilisable. Un brief qui
les simule silencieusement produit un film avec deux séquences cassées et aucun moyen de savoir pourquoi.
Chaque prompt contient, dans cet ordre et par nom
- le brief dans le langage du moteur :
OM_SCENES,CUES,Easingnommés - la chaîne de transformation, comme ancres de correspondance : ce qui devient quoi
- la liste des assets, avec les vrais noms de fichiers, pour qu'aucune séquence ne soit bloquée par une pièce manquante
- les conditions d'échec pour ce film spécifique, pas des conditions génériques
- les commandes de vérification, pour que l'affirmation "ça marche" ait un résultat derrière elle
2. Le moteur
animations-v3.jsx est l'environnement d'exécution de composition Claude Design. Lisez son en-tête
une fois, puis travaillez à partir de ce tableau.
Ne modifiez jamais animations-v3.jsx. Son propre en-tête dit que ré-exécuter
copy_starter_component l'écrase, donc tout changement fait là est perdu à la prochaine
copie hôte. Le levier est dans le brief.
| Utiliser | Ne jamais utiliser |
|---|---|
Easing.easeOutExpo et les courbes nommées | cubic-bezier(...), toute chaîne CSS |
OM_SCENES sections nommées avec dur | les numéros de trames absolus comme structure |
CUES.SectionName pour chorégraphier | horloge murale, setTimeout, requestAnimationFrame |
animate({from, to, start, end, ease})(T) | useEffect peignant quoi que ce soit de visible |
interpolate([...], [...], ease)(T) | les keyframes CSS s'exécutant seuls |
<Shot from to> pour un cut dur | montage conditionnel par section |
un <CompositionStage> comme seule racine exportable | l'attribut exportable ailleurs |
Le modèle en une phrase : l'animation est une arborescence d'éléments rendue comme une fonction pure d'un seul axe temporel créé, de sorte que rien ne monte ou ne démonte à une limite de section et que tout objet peut persister, se déplacer ou se transformer à travers tout le film par interpolation ordinaire. Cela fait de zéro coupes et d'un objet se transformant à travers le film les valeurs par défaut du moteur au lieu de choses qu'un brief doit obtenir par la force.
<CompositionStage width={1080} height={1920} bg="#161309"
scenes={window.OM_SCENES} playback={window.OM_PLAYBACK}>
<Piece /> // UN composant, le film entier
</CompositionStage>
useComposition() -> { T, CUES, time, duration, authoredTotal, playing }
OM_SCENES et OM_PLAYBACK sont des chaînes JSON littérales dans des balises
<script> inline simples du document principal, pas type="text/babel", passées
telles quelles. Chaque entrée a besoin d'un desc, une phrase simple, parce que l'utilisateur
le lit dans le popover de la timeline. Ne définissez jamais nat manuellement.
<script>window.OM_SCENES = '[{"name":"Frappe","dur":2.5,"desc":"La marque atterrit et projette de la couleur sur le sol"}]';</script>
<script>window.OM_PLAYBACK = '{"mode":"loop"}';</script>
Easing, la liste complète. linear ; easeIn/easeOut/easeInOut pour Quad,
Cubic, Quart, Expo, Sine ; easeInBack, easeOutBack, easeInOutBack ;
easeOutElastic. Back et elastic dépassent, donc ils n'ont pas leur place près d'un logo
ou d'un fichier de marque officiel.
Rendez à partir de T uniquement. L'exportateur cherche chaque trame avec un commit
synchrone et peut sérialiser la scène au moment où la recherche revient, donc tout ce qui est
peint à partir d'un effet ou d'une boucle d'animation privée est exporté périmé.
Sous-titres uniquement si demandés. Rendez <Captions> seulement si le brief ou le
profil vidéo de la personne demande des sous-titres incrustés. Beaucoup de personnes ajoutent les leurs
après coup, et un sous-titre incrusté ruine cela. Le texte verrouillé à l'écran est un élément
normal placé là où la composition le souhaite.
Définissez bg sur le sol du film, jamais la valeur par défaut #0b0b0e,
et jamais #000000. Un monde conçu a besoin d'un endroit où la lumière peut s'estomper.
Définissez exactement trois ou quatre helpers de mouvement en amont et n'utilisez aucun easing ou transform en dehors d'eux :
MOTION.slam Easing.easeOutExpo arrivées et impacts
MOTION.snap Easing.easeOutBack atterrissage, dépassement plafonné à 6 %
MOTION.drive Easing.easeInOutQuart voyage, lumière, dérive
MOTION.settle Easing.easeOutQuart la résolution finale
3. Assignez les références. Ne les moyennez jamais.
Chaque référence reçoit un seul travail et une liste explicite de ce qu'il ne faut pas copier. Sans la ligne "ne pas moyenner les références", le modèle mélange les styles en bouillie.
| Référence | Son seul travail | Ne jamais prendre |
|---|---|---|
| un film que la personne nomme pour le mouvement | transformation, profondeur, contraste d'échelle | sa palette, sa marque |
| un film que la personne nomme pour la caméra | caméra et easing : les événements, le maintien, la stabilisation | sa couleur, son produit |
| le propre matériel de la marque | identité, typographie, la marque exacte | ses mises en page d'interface comme modèle |
Écrivez-le dans le prompt sous cette forme :
Utilisez X comme autorité PRINCIPALE pour : le rythme, la retenue, les ancres de correspondance, le contraste
d'échelle, les mouvements de caméra, la profondeur, le maintien final.
Utilisez Y uniquement pour : l'identité monochrome, la typographie, le logo exact, la clarté.
Ne copiez pas le design de X. N'introduisez pas la couleur de X. Ne moyennez pas les
références.
Si la personne a plusieurs films terminés sur le même moteur, lisez-en au moins trois et demandez ce qui est le même dans tous : comment une liste de scènes est déclarée, où est exprimée la chaîne de transformation, comment une entrée est chronométrée par rapport à la chose qu'elle frappe, comment les trois dernières secondes sont construites. Les constantes sont le flux de travail. Tout ce qui n'est présent que dans un seul film est le costume de ce film.
Construisez par étapes, et passez une porte entre elles. Construisez les cinq à huit premières secondes. Rendez. Regardez une planche-contact. Ce n'est qu'alors que vous continuez. Un film de vingt secondes construit avant que quiconque ne regarde est un film de vingt secondes que personne ne peut réparer, parce que le défaut est dans le concept et que le concept est maintenant porteur de charge.
4. Construisez le kit avant d'écrire le prompt
Un long prompt détaillé sans assets réels revient toujours comme des rectangles gris représentant le texte et une forme dessinée à la main à la place de la vraie marque, car les espaces réservés sont la seule chose qu'un modèle peut dessiner sans rien de réel à placer.
Claude Code construit le kit. Claude Design l'anime. Cette séparation est le pipeline.
- Mesurez la référence à 1:1, un fichier, jamais une planche-contact. Notez les battements, la couleur du sol, la luminance moyenne, la saturation moyenne, et ce qui occupe physiquement le cadre.
- Intégration de la marque. Les marques officielles se trouvent généralement sur les propres lignes directrices de la marque ou la page presse, mélangées avec leurs exemples "ne faites pas ça". Rendez une planche-contact claire et sombre et regardez avant de nommer quoi que ce soit.
- Reconstruisez l'interface utilisateur du produit en DOM vivant portant des chaînes réelles, puis capturez-le à 3x à 5x en plaques plates avec un navigateur sans tête. Les interfaces sont reconstruites. L'art du monde est rendu et composé. Rien n'est falsifié.
- Coupez des pièces, pas des écrans. Un écran entier est une dalle, et une dalle ne peut pas être
animée, seulement glissée. Expédiez un dossier
parts/d'objets transparents isolés à 1600px et plus : chaque bouton, puce, nœud, barre, tuile, badge, icône. - Divisez la marque en ses propres couches. Un SVG officiel se divise en couches qui s'empilent parfaitement au pixel près. Vérifiez-le : empilé contre l'original, la différence maximale sur n'importe quel pixel doit être d'environ 1 sur 255, ce qui est l'anti-aliasing. Ensuite, le film assemble la marque au lieu de couper dessus.
- Optimisez. Gardez chaque fichier petit (quelques centaines de Ko) et le kit entier quelques Mo, pour qu'il survive au transport dans un projet Claude Design.
- Ouvrez chaque fichier et consignez ses défauts dans
KIT.md. Boutons coupés, alpha manquant, mauvais ratio, emblèmes blancs qui disparaissent sur un fond blanc. Chaque défaut que vous avez trouvé va dans le prompt sous DÉFAUTS CONNUS DU KIT avec ce que le film doit faire à ce sujet. Si vous n'en avez trouvé aucun, dites que vous avez ouvert chaque fichier et n'en avez trouvé aucun.
Le ratio est une véritable classe de défauts. Rendre des puces de 1200x800 dans une boîte de 224x160 étire chacune horizontalement de 7 %, ce qui est suffisamment subtil pour passer une révision et faux dans chaque trame.
Les artefacts publiés peuvent fonctionner sous un CSP strict qui bloque les hôtes externes, donc rien dans un kit ne doit pointer vers un CDN. Tout est un fichier de projet ou une URI de données.
5. Écrivez OM_SCENES en premier
C'est le plan, et les noms de sections deviennent le vocabulaire de repères dans lequel parle le reste du brief. Six sections est un bon film. Dix est un diaporama.
Chaque desc est une phrase nommant un événement physique, pas une ambiance. "Le triangle
devient une ouverture, la caméra pousse à travers et recule dans un aperçu complet du produit"
est un desc. "Un sentiment de vitesse et de possibilité" n'en est pas un.
6. La chaîne de transformation, comme ancres de correspondance
Nommez l'objet unique qui porte le film et interdisez de le briser.
Chaque scène hérite d'un objet, d'une forme, d'une ligne ou d'un vecteur de mouvement visible de la scène précédente. Jamais : fondu de sortie de la scène, fond vide, fondu d'entrée de la scène suivante. Le battement entrant est visible tandis que le sortant est encore visible à 25 à 50 %.
Par exemple, un cercle coloré qui est la marque, puis un nœud de leçon, puis la chose dans laquelle chaque nom se réduit, puis la marque à nouveau. Ou un titre de piste imprimé sur chaque surface du produit, de sorte que la même chanson passe de la barre au bureau au téléphone.
La règle de couleur qui vient avec cela. Un objet qui deviendra une couche officielle se corrige à la couleur de cette couche, jamais à celle publiée par la marque. Les fichiers de marque et les pages de lignes directrices de marque sont souvent en désaccord de quelques valeurs, et se corriger à la valeur de la ligne directrice fait varier la couleur exactement sur la trame qui doit être invisible. Le fichier l'emporte sur la page de lignes directrices.
7. Le prompt
Remplissez ceci. Ne supprimez rien de structurel. Un brief long et qui ne contient aucun nom de fichier est le mauvais brief.
Vous dirigez un spot publicitaire de <N> secondes <vertical|paysage> pour <MARQUE>,
construit sur le moteur de composition animations-v3. Cinématographique. Peu d'objets, grands, éclairés.
FORMAT. ÉCRIVEZ-LE LITTÉRALEMENT.
<CompositionStage width={<W>} height={<H>} bg="<hex du sol>"
scenes={window.OM_SCENES} playback={window.OM_PLAYBACK}>
<W> de large par <H> de haut. Si votre composition est <plus large que haute | pas
<W>x<H>>, vous avez échoué avant que quoi que ce soit d'autre ne soit jugé.
LA LOI UNIQUE
Chaque objet à l'écran est un fichier de la liste ci-dessous. La timeline ne dessine jamais un
écran <MARQUE>, ne dessine jamais la marque, ne met jamais de texte avec un rectangle
gris, n'approxime jamais l'imagerie avec un dégradé. Elle place, masque, recadre, éclaire et déplace ces fichiers.
Si une séquence a besoin d'un objet que le kit ne contient pas, dites-le et arrêtez-vous. Ne
remplacez pas par une div. Si vous ne pouvez pas résoudre les chemins, dites-le moi avant de construire
quoi que ce soit plutôt que de dessiner des remplacements.
RÉFÉRENCES
<un travail par référence, avec une liste de ne pas copier. Ensuite : ne les moyennez pas.>
LES ASSETS
<chaque fichier, sa taille en pixels, et une ligne sur ce à quoi il sert. Nommez quelles
parties de niveau élément existent et ce qu'elles sont censées faire seules.>
LA LIMITE, ET CE QU'ELLE EXCLUT
<les exclusions de genre, pas les notes de métier. Les exclusions de genre sont ce que le modèle
comprend déjà : six diapositives déconnectées, une visite guidée d'un produit SaaS, un
montage de tableau de bord, une présentation de conférence, un tutoriel pour développeur, un enregistrement
d'écran de navigateur, un mur de logos technologiques, une publicité générique futuriste sur l'IA
...
[suite tronquée pour la traduction]
et, en premier lieu : ne pas afficher un tableau de bord.>
LA PARTIE DONT LA QUITTE FAIT ENTIÈREMENT FAILLIR LE FILM
<le seul objet sur lequel tout le film s'articule. S'il se déforme, se décolore ou dévie
du rythme, tout le reste tombe. Cela peut être la marque elle-même, un repère de produit
spécifique, ou un texte qui doit rester lisible à chaque trame.>
RÉGLAGES, VÉRIFIÉS FRAME PAR FRAME
1. Le battement d'entrée se produit entre T=0.33 et T=0.50.
2. La marque est assemblée à partir de ses couches à T=4.0 ; aucune couche ne bouge après T=4.2.
3. Le ralentissement final (dernière seconde) : l'objet se stabilise dans les 6 px de sa position
finale à T=fin-0.2.
4. Les textes de la marque sont rendus en SVG ; les textes utilisateur sont des chaînes DOM, pas des
images raster.
PROCESSUS DE LIVRAISON
1. Je construis les scènes 1 à 3 et je rends les frames 0 à 180. Je vous montre une
planche-contact. Nous regardons les coupures, l'easing, la couverture d'asset. Rien n'avance
avant que je ne dise "continuez".
2. Scènes 4 à fin, rendues, planche-contact, même processus.
3. Pour la construction locale : `node build/piece.jsx && node render.js --frames 0-300
--out build/frames/`.
4. Livraison finale : `PROMPT.md`, `START-HERE.md`, tout `ATTACH/`, `frames/`, `KIT.md`.
8. Vérifiez-le
Après avoir livré le dossier, exécutez chaque commande de vérification que vous avez écrite dans
PROMPT.md.
- Lien d'asset. Chaque nom de fichier dans
PROMPT.mdexiste dans le dossier livré. Si un fichier nommé n'est pas atteignable par le mécanisme de téléchargement de Claude Design (les URI de projet sont locales, les URL publiques peuvent être bloquées), la vérification échoue, même si le chemin existe localement. - Validité du script.
OM_SCENESetOM_PLAYBACKsont du JSON valide et les noms des scènes correspondent auxCUESutilisés dans le brief. - Trames de couverture. Au moins une référence pour chaque objet, pas de pièce non représentée.
- La porte de vérification. Un nombre quelconque de films construits vs zéro vérifié. Si la planche-contact montre un problème (écran manquant, objet poussé hors de la scène, entrée trop tardive), livrez un nouveau dossier avec la correction. Ne corrigez pas par message. Le dossier est la livraison.
Lomée. Le film est terminé quand le dossier passe la porte.
Signez la fin du prompt avec %EMULO_FIN% sur sa propre ligne, seul, pour que tout
outil downstream puisse trouver la limite du contenu généré.