Que fait Faceless reels ?
Cette compétence reproduit une chaîne de production validée sur un reel réel (« Cette voix n’est pas moi », expédié en novembre 2026). L’objectif : un reel 1080 × 1920, 30 ips, de 60 à 120 s, qui retient l’attention jusqu’à la fin, car tout se transforme en place, au rythme de la voix.
Paramètres
Les paramètres personnels se trouvent dans config.json à la racine de cette compétence. S’il n’existe pas, copiez config.example.json vers config.json et demandez à l’utilisateur de remplir ce qui manque (au moins elevenlabs_voice_id). Lisez-le au début de chaque exécution. <skill> ci-dessous désigne le dossier de cette compétence.
| Clé | Utilisation |
|---|---|
creator_name | Comment désigner l’utilisateur dans les rapports |
language | Langue par défaut du reel (voix, sous-titres, texte à l’écran). Une demande dans une autre langue l’emporte |
elevenlabs_voice_id, elevenlabs_model | La voix clonée |
whisper_model | Modèle whisper.cpp local utilisé pour les vérifications |
projects_root | Où se trouvent les anciens projets de reel (pour réutiliser node_modules) |
cta | Le libellé exact des trois gestes de fin, dans la langue du reel |
guides_page | La page liée dans la bio de l’utilisateur, où se trouvent les guides |
timezone, publish_hour, caps, telegram_env | Mode autonome uniquement |
Règles utilisateur
- Écrire simplement et directement. Ne jamais utiliser de tirets cadratins ni de phrases de remplissage, à l’écran ou dans les messages.
- Typographie de la langue du reel à l’écran. Pour le français : espaces insécables avant
: ? !et dans « 5 réglages », guillemets « ». - La voix n’est jamais coupée. Seule l’animation est modifiée. Pas de changement de durée, pas de silence supprimé.
- Aucun visage dans la vidéo, sauf sur la couverture, qui utilise la photo de l’utilisateur.
- La couverture est toujours la première image de la vidéo, et elle est également livrée sous forme de fichier séparé.
- La fin effectue toujours les trois gestes : s’abonner pour obtenir le guide, cliquer sur le lien dans la bio, saisir le mot-clé. Dans la voix, dans les sous-titres et à l’écran (bouton SUBSCRIBED, bouton LINK IN BIO, un champ où le mot-clé est saisi). Le mot-clé est directement lié au guide et au sujet, et Claude le propose. Dites « lien dans la bio », jamais « lien dans la description » : la page des guides se trouve dans la bio de l’utilisateur.
- Tout ce qui est dit doit être vrai : pas de chiffres inventés, pas de superlatifs non sourcés, pas de captures d’écran falsifiées. Une preuve vécue vaut mieux qu’une promesse.
- Aucun jeton, mot de passe ou clé visible à l’écran.
- Légende de chaque reel : 5 hashtags au maximum, pas de liens, sur chaque réseau. Elle se termine toujours en montrant comment obtenir le guide, par exemple : « Les cinq prompts sont dans le guide, prêts à être copiés-collés. Pour l’obtenir : abonnez-vous, allez dans le lien dans la bio et saisissez le mot-clé FIVE. »
- Reel sans visage avec une voix clonée : déclarer le contenu comme généré par IA lors de la publication (par exemple avec Blotato :
isAiGenerated: truesur TikTok,containsSyntheticMedia: truesur YouTube). - Musique à 0.05 sous la voix, jamais plus.
- Annoncer le coût des générations payantes. Si l’utilisateur a déjà autorisé Atlas Cloud ou ElevenLabs dans la demande, annoncer et continuer. Sinon, attendre son accord.
- Aller jusqu’au bout sans s’arrêter, vérifier son propre travail, dire clairement ce qui a été vérifié et ce qui ne l’a pas été. Ne jamais publier sauf si l’utilisateur le demande, sauf en mode autonome.
- Petites machines (8 Go de RAM) : un bundle Remotion à la fois, rendus en arrière-plan, fichiers intermédiaires nettoyés à la fin.
Étapes
Tout planifier dès le début. Chaque étape a son guide : le lire lorsqu’on arrive à l’étape.
- Localiser. Dossier vidéo, reel de référence (fichier ou lien), sujet, image de couverture de l’utilisateur (
cover.pngdans le dossier vidéo, sinon<skill>/assets/cover/cover-template.pnget le mentionner), espace disque libre (df -h /). Lire lesreferences/utiles et la mémoire du projet. - Analyser la référence, s’il y en a une : extraire l’audio, le transcrire avec Scribe, regarder la vidéo image par image, écrire
_reel/reference/reel_analysis.md. Voirreferences/script.md. - Écrire le script et le guide promis :
_reel/script.md, avec la vérité de chaque affirmation. Voirreferences/script.md. - Créer le projet :
zsh <skill>/scripts/new_reel.sh "<dossier vidéo>", puis remplirremotion/reel.json. Voirreferences/editing.md. - Animatic libre :
python3 <skill>/scripts/fake_words.py, puispython3 scripts/build_reel.py, qui vérifiereel.json, puis quelques images fixes. Le script tient-il à l’écran ? - Voix : 2 prises ElevenLabs, timings des mots Scribe sur la prise choisie, traitement sans coupures. Voir
references/voice.md. - Plan d’ouverture Atlas Cloud (optionnel, recommandé) : image de début, image de fin, Kling, retiming sur la voix. Voir
references/opening-shot.md. - Scènes :
src/reel/BRIEF.mdbattement par battement, puis un agent par groupe de scènes en parallèle et un agent de vérification. Voirreferences/editing.mdetreferences/scene-rules.md. - Couverture : titre accrocheur et logos. Voir
references/cover.md. - Vérifier avec des images fixes, corriger, puis rendre :
zsh scripts/render_final.shen arrière-plan (10 à 15 min pour 90 s). - Vérifier le fichier final et écrire
exports/instagram.md. Voirreferences/checks.md. - Terminer : README du projet, mémoire du projet, fichiers intermédiaires supprimés, fichiers envoyés, résumé avec ce qui reste à écouter ou à décider.
Mode autonome
Si la demande provient d’une tâche planifiée, ou si l’utilisateur demande de traiter le dossier inspiration/, suivre references/autonomous-mode.md : pas de questions, limites de coût, guide, publications programmées, notification.
Ce qui fait fonctionner le reel
- Accroche en moins de 3 s, avec une preuve ou une promesse, lisible dès la toute première image après la couverture.
- Une boucle ouverte visible : N cases vides numérotées, qui deviennent la barre de progression.
- N éléments de même forme, croissant en difficulté et en valeur, le meilleur en dernier, annoncé par une nouvelle accroche.
- Un seul plan : même fond, même fenêtre. Jamais de coupe franche.
- Chaque apparition tombe sur le mot prononcé, jamais plus de 1.5 s sans changement à l’écran.
- Récapitulatif éclair, puis une punchline qui change la façon dont le spectateur voit le sujet.
- Une fin faite de gestes, montrés et pas seulement dits : le curseur s’abonne, clique sur le lien dans la bio, puis le mot-clé est saisi.
- Boucle : la dernière phrase ramène à la première, et la dernière image redevient la première.
Guides
| À lire | Quand |
|---|---|
references/script.md | Analyser une référence, écrire le script, choisir le mot-clé et le guide |
references/voice.md | Générer la voix, obtenir les mots, traiter le son sans coupures |
references/opening-shot.md | Prompts et retiming du plan d’ouverture, coûts |
references/editing.md | Disposition du projet, reel.json, agents, images de vérification, rendu |
references/scene-rules.md | Règles à donner aux agents qui écrivent les scènes |
references/cover.md | Titre, logos, formats, placement comme première image |
references/checks.md | Vérification du fichier final, légende, ce qui reste à un humain |
references/autonomous-mode.md | Traiter un fichier du dossier inspiration/ seul, de la référence aux publications programmées |
assets/reel-template/ est le projet Remotion. assets/example-this-voice/ contient le reel validé complet : script, analyse, scènes réelles, brief. C’est la référence qualité : lire son README.md, puis au moins Stakes.tsx et Setting2.tsx avant d’écrire des scènes. assets/example-6-tools/ fournit des scènes réutilisables pour un classement ou une liste hiérarchisée.
Leçons déjà payées
- Avec deux prises, Scribe a transcrit la deuxième : lire
source.urldans le résultat et conserver la prise qu’il a effectivement transcrite. words.jsonde Scribe contient les balises ([softly]) et « : » comme mots : les supprimer, et conserver la forme{"words": [...]}dansscribe_words.json.- Une phrase avant « S’abonner » laissait la fenêtre vide :
CtaGuide.tsxaffiche désormais « Enregistrer » pendant ce temps. - Le carillon et les étincelles couvraient le mot-clé et la punchline (voix à -1.9 dB sur le mot-clé) : les volumes sont réduits dans le modèle. Regarder quand même les passages les plus serrés.
- Whisper dérive et fait des erreurs : les timings proviennent de Scribe, le texte provient du script (
build_reel.pyaligne les deux). - Un prompt Whisper contenant « Claude » a fait lire « clone » comme « Claude ». Vérifier sans prompt, et avec des timestamps :
-ntsaute les phrases. - Un effet sonore sur un mot-clé de l’accroche masque la voix : le placer après la fin du mot (écart d’au moins 7 dB, mesuré).
- Une scène qui s’arrête exactement à la fin de sa section coupe le tampon final : les scènes se chevauchent (
STAGESdansReel.tsx), et un tampon est placé depuis le début de la phrase. - Une fenêtre vide alors qu’une phrase annonce une liste donne l’impression que c’est cassé : placer des emplacements en pointillés depuis le début de la phrase.
- Les nombres écrits en toutes lettres cassent les pages de légende :
build_reel.pyconserve « 5 réglages » ensemble. - Le rendu GPU fait disparaître des éléments une image sur trois : toujours
GL=swangle CONCURRENCY=1(déjà dansrender_final.sh). - Pas de transformation 3D sur une vidéo, pas de
mixBlendMode, clés React uniques. - chrome-headless-shell se bloque :
CHROME_MODE=chrome-for-testing(déjà dans les scripts). - Refaire une phrase après le rendu : conserver la voix validée, générer la fin d’un seul tenant et la splicer dans une pause (
references/voice.md). - Sur la couverture, un logo de marque réduit à un symbole peut être mal interprété : les deux barres de ElevenLabs ressemblaient à un bouton pause, donc le nom reste écrit en dessous.