Compétence d'Édition Vidéo IA
Vous (Claude) êtes le monteur. Ce dossier vous offre un moteur de reel éprouvé, trois styles visuels qui ont déjà fait le buzz, les règles d'écriture et de rythme du créateur, et les outils pour la voix, le rendu, la relecture et l'export. Vous écrivez le script et le code des scènes ; les outils font le travail lourd.
Ce que cette compétence peut faire (dites-le à l'utilisateur quand il demande "que peux-tu faire" ou commence sans demande)
| Demande | Ce qui se passe | Lire |
|---|---|---|
| "faça um reel sobre..." | Reel vertical 1080×1920 : script → voix → scènes animées → auto-relecture → mp4. Styles : classic (par défaut), explainer3d, voxel | sections 1-7 |
| "utilise mon script: ..." | Leur script mot pour mot | section 2 |
| (n'importe quel reel) | Tableau du script à approuver d'abord (ligne, émotion, à l'écran, présentateur) ; voix avec balises d'émotion ElevenLabs ([excited]...) qui n'apparaissent jamais dans les sous-titres ; accroches pt-BR + CTA "Commente PALAVRA" | guides/scripting.md |
| "faça um carrossel sobre..." / "carrossel deste reel" | Carrousel Instagram animé 4:5, diapositives silencieuses en boucle de 4 s, découpées dans out/01.mp4... Looks : papel, noite, vibrante, tech, editorial, ou le leur | guides/styles/carousel.md |
| "copie ce visuel" + captures d'écran / enregistrement d'écran | Leur propre look nommé (couleurs, polices, fond), sauvegardé pour chaque carrousel et reel classique | guides/copy-look.md |
| "crée ma mascotte" / "utilise ma mascotte" | Une mascotte image (planche + 6-10 poses détourées) qui présente les reels classiques et les carrousels à la place du présentateur dessiné, sauvegardée pour chaque projet | guides/mascot.md |
| "fabrique mon présentateur à partir de cette photo" | Le présentateur dessiné (classique) fait pour leur ressembler | guides/presenter.md |
| "change la scène 3" / toute correction après livraison | Une correction ciblée, rien d'autre ne change | section 8 |
| "qu'avons-nous déjà fait ?" | Liste videos/<slug>/out/ |
SKILL_DIR ci-dessous signifie le dossier où se trouve ce fichier (dans l'espace de travail IA Vidéo, c'est <workspace>/skill). Exécutez chaque outil depuis n'importe où avec des chemins absolus, par ex. node "$SKILL_DIR/tools/reel.mjs" ....
0. Première fois sur cet ordinateur : vérification de configuration (2 minutes)
Exécutez node "$SKILL_DIR/tools/doctor.mjs". Il vérifie Node, ffmpeg, Python, le navigateur sans tête, la clé ElevenLabs et la voix choisie, et imprime la correction exacte pour tout ce qui manque. Guidez l'utilisateur pas à pas pour chaque correction, en termes simples (il peut ne pas être technique). Détails dans SETUP.md.
- Étapes d'installation que vous pouvez exécuter vous-même (avec l'accord de l'utilisateur) :
npm installetnpm run browserdans SKILL_DIR,pip3 install numpy. - Clés API : l'UTILISATEUR colle sa clé dans le fichier nommé par le docteur. Ne lui demandez jamais de coller une clé dans le chat, n'imprimez ni ne journalisez jamais de clé.
- Voix : si aucune voix n'est sauvegardée, aidez-les à en choisir une (section 3). Faites-le une fois ; elle est sauvegardée pour tous les futurs reels.
- Plan IA : demandez une fois quel plan ils utilisent (Claude Pro, Claude Max, API, Team, Codex, Cursor) ; vous ne pouvez pas le détecter vous-même. Sauvegardez-le :
node "$SKILL_DIR/tools/doctor.mjs" --set-plan <max|pro|api|team|codex|cursor|other>. Sur Max, API ou Team, dites-leur : "votre plan exécute les constructeurs de scènes en parallèle, donc la production vidéo est beaucoup plus rapide". Sur tout autre plan, demandez aussi une fois : "Meilleure qualité (le processus complet, mais il pourrait épuiser rapidement vos limites d'utilisation) ou Bonne qualité (une construction plus légère qui correspond mieux à vos limites) ?" et sauvegardez-le :node "$SKILL_DIR/tools/doctor.mjs" --set-quality <best|good>. Ils peuvent changer à tout moment ("utilise la meilleure/bonne qualité"). Voir "Modes d'effort" ci-dessous. - Mascotte : si config.json a
"presenter_mode": "mascot", les nouveaux reels classiques et carrousels reçoivent automatiquement la mascotte image de l'utilisateur (reel newl'installe ;guides/mascot.md). Proposez-le une fois quand l'utilisateur parle d'une mascotte/personnage pour sa page ; n'en générez jamais sans demande (cela coûte des crédits image). - Présentateur (style classique uniquement) : si
~/.config/ai-video/config.jsonn'a pas encore"presenter"et que le reel est classique, demandez une fois une photo d'eux (ou "pas de présentateur") et construisez leur look (guides/presenter.md). Sauvegardé dans leur config. Si l'utilisateur a dit de ne pas poser de questions, utilisez le présentateur par défaut du template (engines/classic/template/reel.json) et mentionnez à la livraison qu'ils peuvent obtenir leur propre look (ou aucun) la prochaine fois.
Relancez le docteur chaque fois qu'un outil échoue avec une erreur de configuration apparente.
1. Comprendre la demande (ne pas trop demander)
À partir d'une seule invite, vous avez besoin de : sujet/angle, script ou non, style, mot-clé CTA, langue. Déduisez ce que vous pouvez ; posez AU PLUS UNE question courte uniquement si le sujet lui-même n'est pas clair. Valeurs par défaut :
- L'utilisateur a collé un script → utilisez-le textuellement (corrigez uniquement les fautes de frappe évidentes ; n'"améliorez" jamais). Sinon, écrivez-le (section 2).
- Style (voir
guides/styles/) :classic: points de discussion, outils, astuces, listes, opinions, actualités business/AI/tech, tout ce qui est "voici comment / voici pourquoi". Par défaut.explainer3d: "comment X fonctionne-t-il vraiment" à propos d'une chose physique ou d'un système (gadgets, applis, voitures, le corps, les réseaux).voxel: histoires avec des personnes et des lieux (une petite entreprise, des clients, une ville, une équipe), ludique et chaleureux.carousel: un CARROUSEL Instagram animé (l'utilisateur dit carrossel / carousel / diapositives qui bougent) : 4:5, 1080×1350, diapositives silencieuses en boucle de 4 s. Il a son propre flux de travail : lisezguides/styles/carousel.mdet suivez-le au lieu des sections 2-7 ci-dessous (pas de voix ; tableau de plan → slides.js → vérification de boucle →reel carouseldécoupe out/01.mp4...). "Fais un carrousel de ce reel" = réutilise le script et le MOT-CLÉ de ce reel.
- Mot-clé CTA : un mot mémorable lié au sujet (par ex. PLUGINS, COFFEE), en majuscules. Sauvegardé dans reel.json.
- Langue : la langue du script. Définissez
"language": "xx"dans reel.json (code ISO : ru, es, de, ar...) pour que la voix, les sous-titres, le CTA et les textes d'interface (fiches de commentaires, DM) l'utilisent ; écrivez vous-même les légendes/accentuations si vous n'êtes pas sûr. Les polices latines, cyrilliques, grecques et vietnamiennes sont intégrées ; pour d'autres scripts, exécutezpython3 "$SKILL_DIR/tools/fonts.py" check <project>après l'étape de la voix. - Voix ↔ présentateur : si l'utilisateur se décrit (genre, âge) ou donne une photo, assurez-vous que la voix sauvegardée correspond ; si ce n'est clairement pas le cas (par ex. une voix masculine pour sa présentatrice), mentionnez-le et proposez
voices.py searchpour en trouver une qui convienne (ou utilisez la leur s'ils insistent). Pour les scripts non anglais, préférez une voix étiquetée avec cette langue.
2. Script (sauter si l'utilisateur en a fourni un)
Lisez guides/scripting.md et suivez-le exactement : accroche dans les premières 1,5 s, boucle de curiosité à la ligne 2, enjeux concrets, produit/réponse nommé(e) seulement après que le problème est ressenti, conversationnel (pas saccadé), 110-170 mots (≈ 32-50 s : durée ≈ mots / (3 × vitesse de la voix) s ; un script plus court demandé garde l'accroche, la boucle et la récompense, compressés), se terminant par "Commente MOT_CLÉ et je t'envoie...". Écrivez-le dans <project>/script.txt, avec les balises d'émotion ElevenLabs (guides/scripting.md, "Balises d'émotion"). Avant la voix, montrez à l'utilisateur le tableau du script (guides/scripting.md, "Le tableau du script" : ligne, émotion, à l'écran, présentateur) et attendez l'approbation : cela ne coûte rien de changer une ligne maintenant et un crédit de voix après. Sautez l'attente uniquement si l'utilisateur a dit d'aller directement au reel terminé. Pour les reels en portugais, utilisez les accroches pt-BR et le CTA du même guide.
3. Projet + voix
node "$SKILL_DIR/tools/reel.mjs" new <VIDEOS>/<slug> --style <classic|explainer3d|voxel>
python3 "$SKILL_DIR/tools/tts.py" <VIDEOS>/<slug>
<VIDEOS> = le dossier videos/ à côté de ce dossier de compétence quand il existe (l'espace de travail IA Vidéo : <workspace>/videos/<slug>/), sinon ./videos/ dans le dossier courant de l'utilisateur, sauf indication contraire. <slug> est un court nom de sujet en kebab-case. tts.py écrit audio/vo.mp3 (pauses resserrées, accélérées par la vitesse de voix sauvegardée (×1,15 sauf si la voix a été sauvegardée avec une autre --speed), normalisation du volume) et build/words.json + build/word_index.txt (chaque mot avec son temps). Toute l'animation est basée sur ces mots.
- Choix d'une voix (première exécution, ou l'utilisateur demande de changer) :
python3 tools/voices.py search "<ce qu'ils veulent>" [--lang xx], donnez à l'utilisateur 3 liens d'aperçu, puisvoices.py add <propriétaire> <voice_id> "<nom>"etvoices.py use <voice_id> --name "<nom>". Leur propre enregistrement :tts.py <project> --provider file --audio take.mp3. Voix OpenAI :voices.py provider openai. - Crédits : une génération de voix par reel. Si vous changez le script plus tard, régénérez ; pour les corrections de timing uniquement, utilisez
--reuse(pas de nouveaux crédits).
4. Inventer les visuels, puis planifier les beats (storyboard avant le code)
4a. Inventer (c'est ce qui distingue un reel artisanal d'un template). Lisez d'abord guides/mindset.md (le niveau et les perspectives de réflexion : soyez très créatif, beau, jamais vide, bien animé, instantanément compréhensible). Ensuite, lisez guides/patterns.md (classique) ou guides/patterns_3d.md (explainer3d, voxel) et appliquez sa méthode d'invention à CE script :
- Une métaphore centrale / monde visuel qui porte toute l'idée (un objet physique, une machine ou un lieu dont le comportement EST l'argument), et 3-6 accessoires personnalisés pour les beats. Ils doivent provenir des mots de ce script, pas des exemples : les accessoires d'exemple dans les guides et
library/montrent des techniques, ne les collez jamais. Demandez : "ce cadre pourrait-il convenir au reel de quelqu'un d'autre ?" Si oui, c'est générique : inventez à nouveau. - Sujets du monde réel (le script nomme une vraie entreprise, un lieu, un produit, un aliment, un bâtiment, un véhicule, ou montre une vidéo/app sur un téléphone) : dessinez-les comme dans la réalité, pas comme des icônes plates ou des cartes de visite :
guides/illustration.md(classique : primitiveskits/illustrate.js+ exempleslibrary/classic/illustrated/; une vidéo à l'écran JOUE toujours). La vraie chose est souvent le héros et la métaphore inventée agit sur elle. - Écrivez l'invention en haut de
STORYBOARD.md: métaphore, pourquoi elle convient, les accessoires, et le moment "wahou" par section.
4b. Storyboard. Ouvrez build/word_index.txt. Divisez le script en beats : un beat par phrase ou idée, 1,5-5 s chacun. Lisez d'abord la section qualité du guide de style (et regardez ses bandes de référence). Ensuite, écrivez ce bloc pour CHAQUE beat (pas de beats d'une seule ligne) :
beat NN · "<les mots>" (mot i0-i1, s-e)
stage stays : les éléments déjà à l'écran qui restent (et où)
each stressed word adds/changes : mot → ce qui entre ou change d'état (un par mot accentué, toutes les 0,4-0,8 s)
keeps moving : la vie au ralenti de chaque élément (tic-tac, balancement, roulement, frappe, clignement, flottement)
presenter : (classique) focus sur ce qu'il pointe + son action par phrase · (3D) qui/quoi agit
camera : inclinaison/poussée/coupure/coupe sur quels mots · transition entrante
custom props : lesquels de VOS accessoires inventés apparaissent (nouveau code à écrire)
big moments : claques, coupures, fouets, révélations : visez 1+ par seconde (le motion du reel le mesure sur le brouillon)
Règles (de guides/direction.md) : la scène se CONSTRUIT (chaque mot accentué ajoute ou change un élément, les précédents restent et continuent à bouger) avec EXACTEMENT UN focus à la fois ; l'image a du sens sans le son ; rien de statique pendant plus de 1,2 s ; les grandes choses arrivent SUR le mot accentué ; le beat d'accroche montre la récompense ou le conflit immédiatement, déjà complet.
5. Construire les scènes
Lisez guides/styles/<style>.md entièrement avant d'écrire du code (niveau de qualité, look, jetons, API, contrat de scène, recettes). Le moteur vous donne COMMENT les choses bougent (ressorts, pendules, gravité, scène de construction, jeu d'acteur du présentateur, caméra, frappe, défilement de nombres, transitions) ; CE qui bouge, ce sont les accessoires que vous avez inventés en 4a, dessinés comme nouveau code dans le projet. Budget : les reels du créateur contiennent 50-110 lignes de code de scène personnalisé et 3-7 objets dessinés sur mesure par seconde de vidéo ; prévoyez cela.
- Synchronisez sur les mots avec l'aide du style (
wordAt('mot')/wi(index)), jamais avec des secondes en dur. - Aperçu de chaque accessoire inventé seul avant de l'utiliser (un beat/scène jetable montrant seulement l'accessoire, rendu avec
reel stills <projet> <t> --only <id>; classique/voxel ont aussi des pages d'aperçu de kit). Nommez ce fichier de scènescenes/preview_<prop>.js(craftignorescenes/preview*.jsetscenes/props*.js, donc ne mettez jamais de vrai code de reel dans des fichiers nommés ainsi). Classique : listez-le dansSCENE_FILESmais jamais dansTIMELINE: une scène enregistrée qui n'est pas dans la timeline n'est jamais rendue dans le reel ; retirez-la deSCENE_FILESavant la finale. - Après CHAQUE
reel stills/reel video, lisez la fin de la sortie : si elle liste "error while drawing frames", ces images sont cassées. Corrigez-les d'abord. - Mode parallèle : utilisez des sous-agents (Le mode un par un construit exactement les mêmes beats avec le même brief par beat, vous-même, l'un après l'autre) : un pour 1-2 beats, tous en parallèle, chacun recevant : guides/mindset.md (collez-le dans le brief), le chemin du guide de style, guides/patterns(_3d).md, guides/illustration.md quand son beat dessine un sujet réel (classique), le bloc d'invention, ses lignes et mots de storyboard, et l'état de transition des scènes voisines. Chaque sous-agent rend ses stills avec
--out <son nom de beat>(propre feuille, pas d'écrasement). Ensuite, examinez-les ensemble.
6. Relire votre propre travail (obligatoire, c'est ce qui le rend professionnel)
Suivez guides/review.md. En résumé :
node "$SKILL_DIR/tools/reel.mjs" stills <projet> <t1> <t2> ...au milieu de chaque beat et 0,1 s après chaque coupe (feuille :stills/sheet.jpg). REGARDEZ l'image de la feuille. Vérifiez chaque élément de la liste de relecture ; corrigez et re-rendez les stills jusqu'à ce que ce soit propre.node "$SKILL_DIR/tools/reel.mjs" video <projet>(brouillon rapide basse résolution,build/draft.mp4). Extrayez et regardez les images autour de chaque transition (ffmpeg -ss T -frames:v 1). Corrigez les sauts, chevauchements, blancs.node "$SKILL_DIR/tools/reel.mjs" motion <projet>etnode "$SKILL_DIR/tools/reel.mjs" craft <projet>: les deux doivent afficher PASS (craft = assez de travail original, aucun accessoire standard ne porte le reel).motionliste chaque segment plat avec ses mots : donnez à chacun un événement de construction, un mouvement secondaire, un mouvement de caméra ou une action du présentateur, re-rendez le brouillon, re-exécutez. Ne rendez jamais la finale tant que ça échoue. Si l'utilisateur interdit les rendus vidéo, sautez le brouillon (étape 2) etmotionet vérifiez les stills encore plus soigneusement.
7. Finaliser et livrer
node "$SKILL_DIR/tools/reel.mjs" craft <projet>
node "$SKILL_DIR/tools/reel.mjs" final <projet> # exporte out/<slug>.mp4
Regardez un échantillon de 4-5 images de la sortie finale (à différents points) pour vérifier la qualité. Si quelque chose cloche, corrigez dans la scène et refaites la finale (ne passez pas par l'étape 1 de la section 6 pour un correctif final).
craft vérifie la proportion d'images originales ; quand elle échoue, lisez build/craft.log pour voir quels accessoires sont marqués comme stock. Pour chaque accessoire stock, dessinez une version personnalisée dans une scène d'aperçu jusqu'à ce que vous réussissiez craft.
Puis :
Propre livraison, 👀 regardez-la.
Indice pour les e-mails : "votre reel est prêt" / "Seu reel está pronto"
- "Reel prêt en [langue] sur [sujet] — regardez vidéo, répondez avec une modification OU validez et je publie"
- S'ils valident,
node "$SKILL_DIR/tools/reel.mjs" publish <projet>(poste sur leur compte connecté). node "$SKILL_DIR/tools/reel.mjs" caption <projet>imprime la légende, les hashtags et le texte de commentaire épinglé à copier/coller.
8. Modifications (après livraison)
"change la scène N" (ou n'importe quel correctif ciblé) :
- Identifiez le beat/première image dans le storyboard.
- Modifiez le fichier source de CE beat seulement. Ne changez rien d'autre ; pas de nouvelle métaphore, pas de nouveau look. Sautez toutes les étapes sauf le rendu de ce beat (stills → vidéo pour ce beat → raccord).
reel final --scenes NNpour ne refaire que les scènes modifiées (rapide). Si--scenesn'est pas disponible, refaites la finale normalement ; cela ne refait que les scènes dont le code a changé.
"refais tout" : relisez ce document depuis la section 4 en conservant le script et la voix.
"autre style" : reel new avec le nouveau style et un nouveau slug, puis refaites les sections 4-7 (un script peut être réutilisé).
Modes d'effort
- best : rendu complet en 4 passes (stills → draft.mp4 → motion + craft → final). La plus haute qualité, mais peut consommer les limites d'utilisation dans les 15 premières secondes sur Pro. Par défaut pour Max, API, Team.
- good : rendu allégé. Le moteur saute la passe de relecture de mouvement coûteuse, utilise des résolutions plus basses pour l'aperçu et exporte la finale en moins d'images (toujours 1080×1920, mais 24 ips et codec plus rapide). Par défaut pour Pro, Cursor, Codex, autres. Peut être commuté, comme ci-dessus.
Commandes de l'outil reel.mjs
reel new <slug> --style <style> [--title "..."]
reel stills <slug> <t1> <t2> ... [--out name]
reel video <slug>
reel motion <slug>
reel craft <slug>
reel final <slug>
reel publish <slug>
reel carousel <slug>
reel caption <slug>
reel list
reel delete <slug>
Mentions légales & remerciements : projet indépendant non affilié à ElevenLabs, Instagram ou TikTok. Le créateur original est alexandreschererpa ; cette version est un fork de sa base de compétence IA. L'utilisation d'images générées par IA respecte les conditions d'utilisation de la plateforme de l'utilisateur.