Vidéo promotionnelle
Convention de chemin :
<skill>désigne le répertoire contenant ce SKILL.md ;scripts/,references/,assets/,templates/s'y trouvent. Dans les commandes, remplacez<skill>/scripts/…par le chemin absolu de ce répertoire avant d'exécuter.
Valeurs par défaut
- Format 16:9 (1920×1080, 30 ips). Si l'utilisateur spécifie une taille, suivez-la ;
16:9,9:16,1:1,4:5sont pris en charge. Pour les plateformes verticales comme TikTok, Xiaohongshu, WeChat Video, Reels, utilisez9:16. - Langue : celle des assets utilisateur. Pas de voix off en phase 1. Si les textes à l'écran sont porteurs d'information, les sous-titres sont désactivés par défaut.
- Police : ne pas utiliser par défaut DM Sans / SF Pro / PingFang. Suivez references/typography.md pour proposer une sélection typographique basée sur le site officiel ou le guide de marque, avec 3 paires adaptées au ton, illustrées via
fonts.py specimenavec le texte réel de la vidéo. Une fois choisie, écrivez-la dans la ligne 5 de la fiche de sélection. - Transitions : pas de coupure brutale, pas de silence numérique, vérifiez les détails du texte. Avant la livraison, passez en revue references/detail-pass.md (checklist des points de transition →
rn sheet --around→rn qa/rn cuts→typo_lint.py/font_check.py). Les problèmes de 'brutalité', 'problème audio' ou 'manque d'élégance' viennent souvent de là. - Logo : fourni par l'utilisateur. Sinon, utilisez le nom de la marque en texte, et ajoutez une clause de non-responsabilité dans
brand.disclaimer, comme 'Marque d'exemple, utilisée à des fins de démonstration uniquement'. Les données statistiques non fournies par l'utilisateur sont considérées comme fictives. - Musique : priorité à celle de l'utilisateur > bibliothèque intégrée
pick_music.py(par défaut, évite les morceaux récents) > bibliothèque open source en ligne >synth_bgm.pyen synthèse de secours.
Dépendance : rn (renoise-kit)
L'image et le mixage sont rendus par Remotion. rn gère toutes les étapes mécaniques et sujettes aux erreurs : extraction d'images à la frame près, lecture audio (loudness / beats / tempo), encodage et mastering, vérification de livraison, audit des cuts / silence / pics. render.py est déjà intégré ; en manuel, utilisez rn <commande> --help.
brew install ffmpeg-full && export PATH="$(brew --prefix ffmpeg-full)/bin:$PATH" # macOS : rn utilise ffmpeg système
apt install ffmpeg # Debian / Ubuntu
winget install Gyan.FFmpeg # Windows (redémarrer le terminal après)
uv tool install "renoise-kit[all]" # fournit la commande rn
macOS, Linux, Windows : le skill utilise des scripts Python, aucune dépendance bash. python3 ci-dessous devient python (ou py -3) sur Windows ; les chemins / ou \ sont acceptés.
| Action | Commande |
|---|---|
| Voir les assets / prévisualisation / dossier d'images fixes | rn sheet <video ou dossier> [--fps 4 | --around temps,.. --span 4 --diff] |
| Lire la musique : loudness, beats, BPM | rn listen bgm.wav --json out/music.json |
| Luminosité / mouvement / bandes de fréquence / kicks / pics par frame | rn signal <fichier> -o out/signal.png --json out/signal.json |
| Encodage final, mastering, changement audio, sortie 1080p | rn finish raw.mp4 -o out.mp4 [--audio mix.wav] [--height 1080] |
| Vérification livraison (format, loudness, true peak, silence, sauts, pics, black frames, figés, framerate) | rn qa out.mp4 [--accept CHECK@seconde] |
| Liste des cuts + images avant/après | rn cuts out.mp4 --sheet out/audit/cuts.jpg |
| Comparaison avec version précédente / référence | rn compare nouveau.mp4 ancien.mp4 --cuts |
| Texte à l'écran (vérification ortho, sous-titres de référence) | rn text out.mp4 |
Sélection du mode et routage du style
Pour chaque vidéo, suivez references/style-router.md pour quatre niveaux de sélection : ① Mode ② Ton visuel ③ Structure narrative ④ Couche d'effets (≤ 2), puis ⑤ Police (typography.md). Écrivez une fiche de sélection en cinq lignes au-dessus du storyboard pour validation par l'utilisateur. En cas de conflit : ordre explicite de l'utilisateur > enregistrement de succès dans la table de routage > valeur par défaut du secteur. Tableau pour ① Mode et extensions :
| Besoin utilisateur | Mode | Lire d'abord | Exemple |
|---|---|---|---|
| Vidéo promotionnelle produit/service, lancement | Film cinématographique (par défaut) | cinematic.md → motion-craft.md | examples/youware/, examples/renoise/ |
| Explication rapide, publication sociale | Template | storyboard.md, styles.md | storyboard.json |
| Présentation personnelle, promotion de compte | Vidéo de marque personnelle | cinematic.md 'Marque personnelle et avatar pixel' | — |
| Concept hardware (téléphone, appareil) | Vidéo concept hardware | cinematic.md 'Produit hardware physique' | — |
| Compilation de plusieurs vidéos | Compilation de travaux | recap.md | — |
| Showreel de motion design, générique, identité de chaîne | Showreel motion design | motion-craft.md | examples/motion-reel/ |
| Piloté par la musique, fusion liquide, dataviz, voyage infini, révélation en perspective | Pack style 01 (superposé au film cinématographique) | style-pack-01.md (pour musique, lancer d'abord audio_features.py) | — |
| Plan séquence, pas de cuts brusques, inspiration de référence ; produit avec flux 'entrée → sortie → fonctionnement continu' | Pack style 02 : Relais plan séquence (structure narrative, avec voix off) | style-pack-02.md (voix off : lancer d'abord narrate_mimo.py, peut cloner la voix de l'utilisateur) | src/cinematic/relay/ |
| Icônes animées, emoji dynamiques, éclairage progressif des nœuds de processus | Icônes animées (superposables à tout mode) | animated-icons.md (emoji : lancer d'abord fetch_noto_emoji.py) | examples/animated-icons/ |
| Vidéo de marque, repositionnement, qualité officielle type Claude, humanisme Apple, pas de démonstration fonctionnelle | Pack style 03 : Échelle conceptuelle · Livre d'échantillons (point → ligne → surface → volume → champ, chaque chapitre une valeur, logo en fin ; 60s, piano) | style-pack-03.md (échantillons de glyphes : lancer d'abord glyph_outline.py) | examples/youware-ladder/ |
| Lancement de modèle/produit, 'qualité ET preuve de force' ; nom jouable ; faits d'ordre de grandeur officiels (merveilles dénombrables) | Pack style 04 : Sonnet · Profondeur 3D (scénario = poème, un vers par section ; HUD specs reprend uniquement les citations officielles ; 680 000 traits alignés en étoile de marque) | style-pack-04.md | — |
| Compilation 'N styles', un produit raconté en plusieurs styles, pour choix client ; légendes de variété / sticker éducatif / micro-ville isométrique 2.5D | Pack style 05 : Bibliothèque de styles commerciaux (template catalogue + légendes + stickers + isométrique ; superposable à tout mode) | style-pack-05.md (échantillons Three.js pré-rendus en vidéo) | examples/style-catalog/ |
| Dessin à main levée / ligne continue / collage / illustration plate / Bauhaus poster / liquide / verre diffus / matrice de lettres 3D / Cyber HUD / pixel / synthwave, ou compilation complète 15 styles | Pack style 06 : Deuxième lot bibliothèque styles commerciaux (11 composants graphiques + catalogue 15 cases + prolongement musique par section / musique synthwave rétro) | style-pack-06.md (lire absolument la section sur la zone de filtre et le bounding box three) | examples/style-catalog/ (Reel15.tsx) |
| Court métrage de comparaison 'même sujet' pour lancement de modèle : SVG animé des deux modèles / mini-œuvres côte à côte + champ de saisie YouWare et menu modèle + crochet final | Vidéo de comparaison de sortie de modèle (lecteur SVG frame-par-frame, isolation des noms, zoom même ratio, musique par section) | svg-compare.md (d'abord confirmer nom officiel du modèle, intensité d'inférence, prompt original et source de génération) | examples/svg-compare/ |
| Animation UI niveau Dribbble, une forme continue qui se déforme pour raconter tout le flux produit | Vidéo mono-forme (par défaut version promotionnelle 16:9 ; version boucle 1:1 optionnelle) | one-shape.md (d'abord avoir la liste des états, palette de couleurs, musique, puis écrire le code après avoir disposé la grille temporelle) | examples/morph-promo/, examples/morph-loop/ |
Tous les modes partagent les mêmes principes de conception, couche d'effets, bibliothèque musicale et sonore.
Principes de conception (par défaut)
Toutes les vidéos sont réalisées selon references/design-principles.md : une idée par écran (Apple), grands espaces, utilisation sobre des couleurs et matériaux crédibles ; icônes lucide-react uniformes (épaisseur de ligne 1.75, nœuds fonctionnels avec IconTile ; utiliser lucide-animated pour l'animation, jouer une fois au point de contact) ; emoji uniquement Noto dynamique, pas par défaut, pas de placeholders. Chaque image définit d'abord le point focal et l'émotion, la caméra a une motivation (travelling, transfert de focus, traversée, swing, zoom avant). Le son tombe sur l'image de contact de l'action. Avant livraison, vérifiez la checklist 'Master Review'.
Une fois le contenu construit, ajoutez la 'couche d'effets' (references/motion-craft.md) : utilisez d'abord les assets du site officiel, puis superposez particules, déformations, masques (ex : particules formant le slogan sur une capture d'écran du produit). Ne créez pas de section noire sans lien avec le produit. Décrivez les transitions entre les segments (coupe par correspondance de préférence). L'objet d'ouverture revient à la fin.
Flux de travail
Copiez cette liste et suivez la progression :
- [ ] 1. Analyse des assets : produit, secteur, audience, arguments de vente
- [ ] 2. Confirmation unique : objectif, style, durée, format, langue, musique
- [ ] 2b. Proposition typographique : 3 paires adaptées au ton + police existante de la marque (fonts.py specimen) → choix utilisateur
- [ ] 3. Storyboard (incluant colonnes technique principale et transition) → attente validation utilisateur
- [ ] 4. Création du projet → images d'échantillon → attente validation visuelle utilisateur
- [ ] 5. Musique : pick_music.py sélection et calage sur les beats, timeline réorganisée selon BPM
- [ ] 6. Prévisualisation basse résolution → modifications
- [ ] 6b. Revue de détail : checklist points de transition + 4 images avant/après (rn sheet --around) + rn qa / rn cuts + typo_lint.py (faites-le vous-même avant de montrer la preview à l'utilisateur)
- [ ] 7. Livraison et vérification finale
1. Analyse des assets
Lisez tout le contenu fourni par l'utilisateur (texte, PDF, URL, captures d'écran, logo). Si seulement une URL, suivez references/brand-from-website.md pour extraire logo, polices, couleurs et images HD. Résumez :
- Le produit, en une phrase de valeur (≤ 20 mots)
- 3–4 arguments de vente, chacun avec une icône associée
- Données explicitement fournies par l'utilisateur (utilisez-les uniquement)
- Actifs visuels existants : captures, logo, couleurs de marque, polices
- Secteur et audience : selon references/industries.md, obtenez le style, les mouvements de caméra et l'émotion musicale recommandés
2. Confirmation unique
Posez toutes les questions en une fois, uniquement pour les éléments que vous ne pouvez pas déduire. Mettez l'option recommandée en premier avec la mention '(recommandé)'. Utilisez un outil de questions à choix si l'hôte en propose un. Sinon, listez les options numérotées dans un seul message :
- Objectif : lancement produit, démonstration fonctionnelle, image de marque, levée de fonds, publicité sociale
- Mode de production : cinématographique (démo interface réelle + 3D + effets sonores, recommandé pour lancement/image de marque) ou template (rapide, pour explication/sociale)
- Style cinématographique : tech sombre / papier découpé / éditorial clair, selon secteur (voir cinematic.md 'Styles')
- Style : 3 préréglages selon secteur, chacun avec une description visuelle (préréglages dans references/styles.md)
- Durée : paliers selon objectif (voir references/storyboard.md), indiquez 'plus la durée est courte, moins il y a de texte par écran'
- Format : ne demandez que si les assets suggèrent un format vertical ou multi-plateforme, sinon utilisez 16:9
- Langue
- Source musicale : bibliothèque intégrée (recommandée, donnez 2–3 descriptions de style candidates) / fournie par l'utilisateur / synthèse
Ne reposez pas les questions déjà clarifiées par l'utilisateur.
2b. Proposition typographique
Selon references/typography.md §1 : déterminer le ton → fonts.py pairs --tone <ton> (si le site officiel utilise une police commerciale, d'abord fonts.py similar "<nom police>") → utilisez le vrai titre, sous-titre, corps de texte, chinois/japonais de la vidéo pour générer l'image de proposition, 3 paires + 1 paire avec la police existante :
python3 <skill>/scripts/fonts.py specimen --pair warm-soft --pair editorial-italic --pair bold-youth --combo <titre marque>+<corps marque> \
--title "..." --sub "..." --body "..." [--zh "..."] [--ja "..."] --out <répertoire projet>/out/type-proposal.png
Envoyez l'image à l'utilisateur pour choix. Une fois choisi, fonts.py fetch <ids> --to <répertoire projet>, puis après écriture du texte, fonts.py subset <répertoire projet> --text-file copy.txt (pour CJK). Licences selon typography.md §8 : les polices Fontshare ne sont pas subsetées, ni transmises à des tiers avec le projet.
3. Storyboard
Si l'utilisateur fournit un script, découpez-le en scènes. Sinon, écrivez selon la structure de references/storyboard.md. Avant le tableau, écrivez la fiche de sélection (style-router.md), puis validez avec un tableau :
| # | Durée | Type de scène | Visuel | Texte à l'écran | Caméra | Technique principale / Transition |
|---|
Ne passez pas au rendu sans validation de l'utilisateur. Après modifications, remettez à jour le tableau et confirmez à nouveau.
4. Création du projet et images d'échantillon
python3 <skill>/scripts/setup_project.py <répertoire projet>
Mode cinématographique : storyboard.json fournit uniquement les informations de marque ; le visuel est dans src/Film.tsx selon references/cinematic.md (référence templates/remotion/examples/youware/). Images d'échantillon avec render.py <répertoire projet> film-stills <numéros de frame...> par section, prévisualisation film-preview, final film (sortie out/film.mp4 et vérification loudness). Les validations storyboard et render.py suivantes concernent le mode template.
- Écrivez le storyboard validé dans
<répertoire projet>/storyboard.json(champs dans storyboard.md). - Placez les assets dans
public/:brand/(logo),fonts/(téléchargé parfonts.py fetch, incluantfonts.jsonetLICENSES.md),images/(captures d'écran),music/. Les chemins dansstoryboard.jsonsont relatifs àpublic/. - Validez et rendez les images d'échantillon (frame milieu de chaque scène) :
python3 <skill>/scripts/check_storyboard.py <répertoire projet>/storyboard.json
python3 <skill>/scripts/render.py <répertoire projet> stills
- Les
ERRORdoivent être corrigés.WARN Temps de lectureindique un texte trop long : raccourcissez-le ou prolongez la scène. - Vérifiez chaque image dans
out/stills/scene-N.png(ouout/stills-sheet.jpgpour vue d'ensemble), selon la checklist design-principles.md (focus, espace, débordement, icônes, contraste). Corrigez, puis montrez les images à l'utilisateur (si l'hôte peut envoyer des fichiers, envoyez les images ; sinon, donnez le chemin). - Si l'utilisateur veut comparer des styles, changez
style, re-rendez les images d'échantillon, et sauvegardez les anciennes dansout/stills-<style>/pour comparaison côte à côte.
5. Musique
Selon references/music.md. Quelle que soit la source, définissez music.bpm (lu par rn listen) ; la timeline aligne chaque point de montage sur les temps.
Si une voix off est nécessaire, générez-la avec voiceover.py selon cinematic.md 'Voix off' (MiMo TTS ou say local), la timeline est pilotée par la durée de la voix off. Si le loudness final doit être modifié, refaites uniquement l'audio, pas le rendu vidéo : rn finish out/film.mp4 -o out/film-loud.mp4 --copy-video --lufs -12.
6. Prévisualisation
python3 <skill>/scripts/render.py <répertoire projet> preview
Rendu rapide en demi-résolution. Donnez le chemin de out/preview.mp4 à l'utilisateur, modifiez storyboard.json selon le retour, puis re-rendez.
6b. Revue de détail
Avant de montrer la preview à l'utilisateur, passez en revue selon references/detail-pass.md :
rn sheet out/film-preview.mp4 --around <secondes des points de transition,...> --span 4 -o out/seam.jpg # 4 images avant/après chaque montage/démontage/changement de paramètre
rn qa out/film-preview.mp4 # black frames, figés, silence numérique, sauts de niveau, pics (render.py le lance automatiquement)
rn cuts out/film-preview.mp4 --sheet out/audit/cuts.jpg # liste des cuts, une image avant et après chaque
python3 <skill>/scripts/typo_lint.py storyboard.json # ou --ts src/film/*.ts* ; --fix corrige automatiquement le JSON
python3 <skill>/scripts/font_check.py public/fonts # axes optiques, glyphes de ponctuation réels
Chaque problème est soit corrigé, soit ajouté dans qa-accept.txt (un par ligne : élément ou élément@seconde, # pour la raison) avec mention 'Intentionnel' dans la note de livraison. Les audits suivants ne le signaleront plus.
7. Livraison
python3 <skill>/scripts/render.py <répertoire projet> final
Produit out/final.mp4, out/cover.png, et si caption existe, out/captions.srt. Les fichiers livrés à l'utilisateur doivent toujours être le résultat de rn finish (render.py le fait automatiquement pour film / final : rendu image seul, mixage audio en WAV séparé, puis synthèse avec rn finish --audio). Les MP4 directs de Remotion peuvent n'afficher que la moitié de la durée sur certains lecteurs et plateformes (problème '38 secondes, ouverture 19 secondes' ; voir references/detail-pass.md 'Encodage livraison'). Pour un rendu 4K manuel :
npx remotion render src/index.ts Film out/film-raw-4k.mp4 --muted # composition en 3840×2160 ; pour 1080p, ajoutez --scale=2
npx remotion render src/index.ts Film out/mix.wav --codec=wav --config=remotion.audio.config.ts
rn finish out/film-raw-4k.mp4 -o out/<nom>.mp4 --audio out/mix.wav
rn finish out/<nom>.mp4 -o out/<nom>-1080p.mp4 --height 1080 --lufs keep # pour WeChat / réseaux sociaux
rn qa out/<nom>.mp4 # tout fichier livré doit passer cette étape
Vérifiez les résultats de rn qa (FAIL doit être 0 ; corrigez les WARN ou ajoutez-les dans qa-accept.txt) et le fichier out/audit/cuts.jpg, examinez l'image de couverture, puis livrez le chemin du fichier et une brève description (style, durée, source musicale et licence, mentions légales, WARN intentionnels). Après évaluation de l'utilisateur (appréciation, préférence, demande de refonte), enregistrez la combinaison 'Composants → Vidéo → Réaction' dans la table de réputation de style-router.md.
Contraintes de rendu
- Toutes les animations doivent être dérivées de
useCurrentFrame(). Interdiction d'utiliser CSS transition/animation, Framer Motion en lecture automatique,setTimeout, ouMath.random()sans seed, sinon le rendu frame-par-frame tremblera ou sera décalé. GSAP peut être utilisé uniquement en seek par frame. render.pydoit s'exécuter en dehors du sandbox de commande (Chrome headless a besoin de lire les cœurs CPU et GPU) : si l'hôte sandboxe les commandes shell, autorisez cette commande selon sa méthode.- Le rendu complet (
preview,final,film-preview,film) et le premiersetup_project.py(npm install) prennent plusieurs minutes, dépassant le timeout d'une commande unique de la plupart des hôtes : exécutez-les en arrière-plan (utilisez la capacité d'arrière-plan de l'hôte, sinon la méthode système avec sortie dansout/render.log: macOS/Linuxnohup … > out/render.log 2>&1 &, Windows PowerShellStart-Process python -ArgumentList '…' -RedirectStandardOutput out/render.log -NoNewWindow, puis lisez le log). Ne faites pas de polling fréquent.stills,film-stills(quelques frames) peuvent être exécutés en avant-plan, avec un timeout étendu à 10 minutes. - Pas besoin de Node global :
setup_project.pycherche Node existant, sinon télécharge la version portable dans~/.cache/promo-video/node. ffmpeg etrndoivent être installés dans le système (voir 'Dépendance'),setup_project.pyavertira s'ils manquent. hero3dest le plus lent à rendre ; gardez 1–2 occurrences par vidéo.- Outils courants :
rn finish(encodage livraison : fixed_frame_rate_flag=1, BT.709 TV range, moov en avant, −14 LUFS et true peak après encodage ≤ −1 dBTP,--audioremplace par mix WAV,--height 1080pour version petite) ;rn qa(vérification livraison + black frames / figés / silence numérique / sauts de niveau / pics,render.pyl'exécute automatiquement) ;rn cuts --sheet(liste des cuts) ;rn sheet(extraction précise de frames en mosaïque, pour sélection et revue, n'utilisez pasffmpeg -r 1) ;rn listen(BPM, beats, loudness) ;typo_lint.py(apostrophes courbes, points de suspension,--, ponctuation pleine chasse, séparateurs pendants, caractères isolés) ;font_check.py(axes, caractéristiques, glyphes de ponctuation réels dans les fichiers de polices, avertit si opsz manque) ;fonts.py(catalogue / paires / image de proposition / téléchargement / subset / remplacement polices commerciales, voir typography.md) ;audio_features.py(caractéristiques frame-par-frame de la musique, lues parAudioReactive.tsx) ;pick_music.py(sélection et calage) ;narrate_mimo.py(voix off : timbre MiMo prédéfini ou clonage de quelques secondes de l'utilisateur, sortie timings.json pour piloter l'image,--qapour vérification). - Le shell est zsh :
for t in $LISTne coupe pas sur les espaces ; écrivez la liste directement dansfor t in 1 2 3. Pour les heredocs contenant des backticks ou${}, utilisez<<'EOF', sinon le shell les interprétera.
Extension
- Nouveau type de scène : écrivez le composant dans
src/scenes/, ajoutez-le au type unionScenedanssrc/types.tset àSceneBodydanssrc/Promo.tsx, et mettez à jourSCENE_TYPESetscene_textdanscheck_storyboard.py. - Images : utilisez
<Img>; GIF : installez@remotion/gif; Lottie : installez@remotion/lottie. Les versions des paquets@remotion/*doivent correspondre exactement à celle deremotion. - Compléments IA : pour les personnes et scènes que le client ne peut pas filmer, utilisez Renoise pour générer des keyframes et des images vidéo (installation nécessaire du plugin Renoise et connexion). Le style visuel provient des spécifications du client. Le modèle est choisi selon le skill model-routing de Renoise. Pour chaque lot, lancez d'abord
estimate_costpour le nombre et le coût estimé, soumettez pour accord de l'utilisateur avant de soumettre. Le flux, les règles de prompt et les limites sont dans references/ai-footage.md.
Références
- references/brand-from-website.md : extraction de texte, couleurs, polices, logo et images produit depuis le site officiel
- references/design-principles.md : principes de conception, normes d'icônes, mouvements de caméra du réalisateur, son et checklist 'Master Review' (par défaut)
- references/detail-pass.md : Revue de détail : trois principes (continuité / pas de vide / précision), checklist des points de transition, recettes visuelles et sonores pour les transitions clair→sombre, seuils de détection et exemptions de
rn qa, encodage livraison, erreurs passées (à faire avant livraison) - references/typography.md : Système de polices : flux de proposition typographique, 11 tons → polices prioritaires, 17 paires (CJK), polices des meilleures publicités vérifiées et alternatives open source testées, les fichiers de polices doivent avoir l'axe opsz, règles de mise en page vidéo et paramètres Display, licences (OFL / ITF FFL / accords fabricants), composants de polices animées (
src/cinematic/type/: VarType, OutlineFill, HandReveal, TrackIn, Decode), checklist de détail et de revue assets/fonts/catalog.json: 99 polices sélectionnées (Google Fonts / Fontshare / releases GitHub, latin + chinois + japonais), 17 paires, table de remplacement des polices commerciales, liste des polices fabricants à télécharger manuellement ; lu parscripts/fonts.py- references/cinematic.md : Mode Film cinématographique : styles, composants de scène, restitution d'interface et de rapports de produits, 3D, effets et conception sonore
- assets/sfx/README.md : catalogue de la bibliothèque d'effets sonores libres de droits commerciaux (clavier, souris, UI, transitions, papier, pages),
preview.wavpour écouter assets/music/catalog.json: catalogue de la bibliothèque musicale (émotion, BPM, point d'énergie, licence, URL de téléchargement et sha256) ; les morceaux ne sont pas distribués avec le dépôt,pick_music.pyles télécharge depuis Mixkit lors de la première utilisation vers~/.cache/promo-video/music/et les vérifie- references/industries.md : catégorisation secteur → style, mouvements de caméra, musique et conformité recommandés
- references/styles.md : 4 préréglages de style et règles de surcharge des couleurs de marque
- references/camera.md : vocabulaire des mouvements de caméra, correspondance des techniques classiques et règles de rythme
- references/storyboard.md : champs de
storyboard.json, paliers de durée, structure narrative et règles de rédaction - references/music.md : bibliothèque intégrée et
pick_music.py, extension open source, calage sur BPM, synthèse de secours, loudness et licence - references/motion-craft.md : couche d'effets : deux niveaux sobre/expressif, carte des techniques, design des transitions, showreel motion design
- references/recap.md : compilation de plusieurs vidéos (type carrousel Apple)
- references/animated-icons.md : icônes animées (lucide-animated 467, vérifiées image par image) et emoji dynamiques Noto (
fetch_noto_emoji.py), règles de rythme et licence - references/style-router.md : quatre niveaux de sélection et table de routage, table de réputation (lecture/écriture par le skill)
references/style-pack-*.md: packs de style superposés (documents lus uniquement par le mode et le pack sélectionné)- references/svg-compare.md : comparaison de sorties de modèles (lecteur SVG frame-par-frame, isolation des noms, zoom même ratio)
- references/one-shape.md : vidéo mono-forme (composants SVG réutilisables StopMotion, ShapeMorph, CrossHair, CurveTo, MotionPath, TimedPin ; ordre des opérations)
- references/recap.md : structure de compilation (chorégraphie des logos, Cellular Automaton, point focal unique, superposition texte/image/vidéo)
- references/animated-icons.md : icônes animées et emoji dynamiques
- references/ai-footage.md : compléments vidéo IA (flux, règles de prompt, estimation des coûts, contenu interdit)