Vidéo animée (Remotion)
Infrastructure, pas de goût. La skill conserve ce que le modèle n'apporte pas seul — outils (voix, bande-son, rendu, transcription), contexte de l'entreprise (voix autorisées, clés, pare-feu, licences), règles de vérité, technique avec chiffres, révision et les leçons techniques — et ne prescrit pas l'apparence de la vidéo. Le style, le dispositif et le look naissent du contenu à chaque vidéo. En faisant évoluer la skill, ne jamais ajouter d'exemple de look, de recette esthétique ou de composant « par défaut » à ce qui est lu à chaque fois : cela crée des biais et des répétitions.
Que lire
| Toujours | Sur demande |
|---|---|
ce fichier · APRENDIZADOS.md (technique) · direcao.md (métier) | gemini.md (voix, API, capacités) · assets.md (licences, sources d'assets) · edicao.md (enregistrement) · critica.md (révision) · referencias.md (uniquement quand la demande cite une des vidéos étudiées) · biblioteca/ (uniquement après le concept choisi) · VIDEOS.md et anciens projets (uniquement avec ligne de style demandée — même pas pour « voir quelle voix les autres ont utilisée ») · historico/ (quand un problème semble connu) |
Lire la demande
La skill est le réalisateur : elle comprend ce que la demande veut et agit. Elle ne pose pas de questionnaire ; ne demande que ce qui est bloquant (cadre politique/historique ambigu, fait que les sources ne résolvent pas, droit d'usage incertain), avec recommandation.
| La demande apporte… | Faire |
|---|---|
| Uniquement un thème | Tout créer (recherche, script, concept, voix, bande-son) et livrer prêt. |
| Un script | Le texte reste tel quel (ajustements suggérés à part, optionnels) ; montrer le brief et produire après l'accord ("fais direct" saute). |
| Notes, récit, sujets | Écrire le script à partir de ceux-ci (ton, coupes, anonymisation) et montrer script + brief avant de produire. |
| Consultation sans contenu ("quelle animation recommandez-vous pour…") | Ne pas choisir de concept : le concept naît du texte. Dire de quoi dépend le choix et demander le contenu. |
| Demande de proposition | Uniquement le brief (PROPOSTA.md). |
| Instructions spécifiques | Suivre à la lettre ; liberté uniquement sur ce qui n'a pas été dit. |
| Un enregistrement à couper | Mode édition : edicao.md. |
| Ajustement d'une vidéo existante | Modifier uniquement cela et rendre à nouveau. |
| Ligne de style ("comme la vidéo X", "série") | Charger l'entrée dans VIDEOS.md, copier tema.ts et les pièces de ce projet, garder le look ; roteiro.linha_de_estilo. |
| Feuille blanche ("à partir de zéro", "rien de prêt") | Uniquement la base technique ; aucune pièce de la bibliothèque ni référence étudiée. |
| Référence externe (lien, vidéo) | Étudier image par image, prendre la grammaire (rythme, technique), jamais le contenu ni le look. |
| "Sans utiliser les API" | "offline": true, voix locale, bande-son partitura ou arquivo, sans génération d'image. |
Les demandes se combinent. Valeurs par défaut : ~45–60 s comme référence · 16:9 + 9:16 · voix VoxCPM2 clonée d'une référence autorisée ("voz": "voxcpm", déjà
dans le template) uniquement pour usage interne — une vidéo destinée au public (campagne, réseaux, client)
demande une autre voix : demander en même temps que le brief, avec recommandation. Demande d'une autre voix : nom → utiliser ; description →
gemini.md ; "options" → échantillons · CTA avec URL uniquement si l'objectif est de vendre.
La durée est celle que le contenu demande ; estimer par le taux mesuré de la voix choisie (ne jamais promettre avant de mesurer).
Vidéo longue : actes avec une fonction chacun et passage complet divisé entre sous-agents.
Brief du réalisateur (avant tout code)
Dans l'ordre — logline et limites d'abord, esthétique ensuite, outils en dernier (commencer par la technique fait que la technique
avale l'idée). Va dans le PROPOSTA.md (script reçu/proposition) ou en haut de ANALISE.md.
Barre, toujours : pièce de portfolio d'un studio de motion design — le maximum de finition, pas le basique qui fonctionne.
Cela vaut pour tout style (minimaliste ou dense) ; ce qui change est l'endroit où la finition apparaît.
- Logline : la vidéo en une phrase + public + où elle sera diffusée + ce que la personne doit ressentir/faire à la fin.
- Limites : durée, formats, vérité (sources ; ce qui est illustration), droits, budget API.
- Idéation sans biais : 3 concepts très différents, uniquement du contenu (sans ouvrir la bibliothèque ni les vidéos précédentes),
chacun complet : dispositif, univers visuel, matériaux, palette, typographie, mouvement, palette sonore et bande-son.
Déclarer dans
conceitos.jsonet exécuterpython3 scripts/diversidade.py --conceitos— le modèle a des réflexes du monde qui se répètent même sans voir l'historique ; le script (que lui seul lit le registre) les signale. Moins de 2 libres → inventer à nouveau. Un storyboard rapide de chacun dansout/conceitos/et choisir en regardant ; lorsqu'il y a un brief à approuver, les 3 storyboards vont avec. Enregistrer les 3 et le pourquoi ; les matériaux du choisi vont dansroteiro.conceito.materiais. - Bible visuelle avec le pourquoi de chaque choix et une phrase de standard de qualité →
src/tema.ts. Personnage récurrent → bible de personnage (proportions, palette, expressions, ce qui ne change jamais). - Découpage : bloc par bloc, la fonction de chacun, ce qui apparaît, transition, son.
- Outils : voix ; bande-son ; assets — web avec licence (assets.md,
CREDITOS.md), génération (scripts/img.py, Veo : voir gemini.md) ou dessin en code. - Passage assets (après la bible, avant d'animer) : un ensemble fait pour CETTE vidéo, un asset par idée du
script (personnage, objets, décor, textures), tous dans le même traitement. Généré :
tratamento_imagem+imagensdans leroteiro.json, la 1ère image approuvée devientrefde style des autres,recortepour élément détaché (python3 scripts/img.py). Sans crédit ou hors ligne : dessiner en code avec le même soin. Une image générée ne représente jamais une personne réelle ou un fait sans étiquette « Illustration ». C'est ce qui a le plus distingué une pièce de studio d'une pièce correcte.
Portes (ne pas sauter)
brief → script → voix → mesurer → son + battements → assets → storyboard → animatique → passage complet → critique → rendu → livraison → faire évoluer
- Projet :
bash ~/.claude/skills/video-animado/novo.sh ~/videos/<slug>. LeANALISE.mddu projet vient déjà avec la checklist des portes : cocher chacune au passage ; sauter seulement ce que la demande dispense, avec le pourquoi. - Script dans
roteiro.json(source unique) +ROTEIRO.mdavec sources. Vérification factuelle avant la voix, toujours. - Voix :
python3 scripts/tts.py(ne réenregistre que les blocs modifiés). Vérifier :~/.venvs/tts-local/bin/python scripts/check_voz.py. - Mesurer :
python3 scripts/tighten.py; parole naturelle ou ATTENTION →~/.venvs/tts-local/bin/python scripts/align.py(cueW). - Son + battements : bande-son (
lyria→scripts/music.py;arquivo;partituracomposée en code, avecintensidadepar bloc eteventosde la scène) etpython3 scripts/sound.py(timeline, effets, pics,beats.jsonde la partition). Bande-son prête →~/.venvs/tts-local/bin/python scripts/beatmap.py. Effets par famille (biblioteca/sfx/INDEX.md), choisis par le matériau, viasfxVar(le pic tombe sur l'action tout seul). - Storyboard : un still par moment du script, critiqué contre la bible et contre « que peut-on enlever ? ».
- Animatique : rendu rapide (
npx remotion render Video-9x16 out/animatic.mp4 --scale=0.4) pour ajuster le rythme et les battements avant la finition. - Passage complet dans
src/Video.tsx(l'exemple du template n'est que synchronisation : remplacer ; construire les composants que le concept demande). Vidéo longue : diviser les groupes de scènes entre sous-agents, avectema.tset règles centrales. - Critique :
python3 scripts/qa_folhas.py out/<mp4>+ sous-agent vierge avec note (critica.md), jusqu'à tout ≥ 8 (au maximum 3 tours ; le critique juge contre la bible de la vidéo, pas contre son propre goût).python3 scripts/diversidade.pyok (continuité demandée :roteiro.linha_de_estilo). - Rendu :
bash scripts/render.sh(−14 LUFS en deux passes, les formats du script) ; vérifier dans lerelatorio.txtduqa_folhas.py(−14 ± 1). - Livraison : MP4s + frame de couverture (
npx remotion still … out/capa.png) + fiches de révision +ANALISE.md(brief, décisions, sources, notes de la critique, ce qui nécessite une écoute humaine) + fichier affiché dans le Finder (open -R). Le message final demande la note (1–5) et ce qui serait changé. - Faire évoluer la skill : note de la personne qui a demandé →
diversidade.py --registrar→ leçon technique dans leAPRENDIZADOS.md(courte ; fusionner ou supprimer en ajoutant), choix esthétiques dans leVIDEOS.md, pièce réutilisable et sans thème dans labiblioteca/(+INDEX.md), bug du template corrigé et testé dans les deux formats, nouvelle capacité dans legemini.md. Leçon de métier répétée dans 2 vidéos →direcao.md(sans exemple de look).
Contrat du code
- Le temps n'est jamais un nombre isolé :
cue,cueW,blockStart,naBatida(frame),batida(i),virada(). - Format :
useFmt()+pick(paisagem, retrato); chaque scène tourne dans les deux (recadrer, ne pas couper). - Mouvement :
mola(frame, at, 'ui'|'padrao'|'pesada'|'viva'); règles dans direcao.md. - Noyau neutre du template :
tema.ts(couleurs et polices de la vidéo),lib.ts(temps, format, battements, ressorts),stage.tsx(SceneStackaveccorte/wipe/zoomou transition propreTransFn,Sheet,Soundtrack,sfxVar),acabamento.tsx. Les pièces prêtes restent dans labiblioteca/componentes/, optionnelles, ouvertes seulement après le concept. - Toute animation part du frame (
useCurrentFrame+interpolate/mola) ;interpolatetoujours avecextrapolateLeft/Right: 'clamp'; jamais detransition/animationCSS (n'apparaissent pas dans le rendu). - Paquets
@remotion/*4.0.528 dans le template (transitions, paths, shapes, noise, motion-blur, lottie, three, media-utils, layout-utils) ; nouveaux dans la même version.
Règles dures
- Clés dans
~/.config/secrets.env(sourceavant ; ne jamais imprimer). Sans quota/plafond de dépense : voix locale etpartitura. - Clonage de voix uniquement avec autorisation écrite ; voix clonée d'une personne réelle est usage interne, sauf autorisation expresse pour usage public.
- Asset tiers uniquement avec licence claire, enregistré dans
CREDITOS.md; jamais de photo de personne réelle sans base de droit, de musique commerciale ou de logo tiers imitant une pièce officielle. - Vérité : donnée avec source ou étiquette « Illustration/Exemple » ; rien d'inventé à l'écran ni dans la légende du post.
- MP4 et audio ne vont pas dans un dépôt public. Ne pas commiter sans demander.
- Sessions parallèles touchant à la skill (
git statusavec des modifications qui ne sont pas les vôtres) : uniquement des échanges ponctuels, ou worktree propre (claude --worktree) et merge — ne jamais réécrire le fichier d'une autre session.