Reels dopaminergiques pour apps
Cette skill produit des vidéos verticales courtes qui vendent un produit en attaquant une douleur du public, avec une rétention élevée de la première à la dernière seconde. Le processus a deux phases séparées par une approbation humaine, car générer voix, musique et images coûte des crédits et du temps — se tromper de script et le découvrir seulement au rendu est le gaspillage le plus cher du processus.
Phase 1 (bon marché) brief → vérifier la réalité dans le produit → SCRIPT → approbation
Phase 2 (coûteuse) assets → carte temporelle → composition → révision visuelle → rendu → vérification
Avant tout : profil de marque
Cherchez un profil dans brands/<marque>.md (couleurs, polices, logo SVG, prononciation du nom, CTA, offre,
@ Instagram, où se trouvent les écrans de l'app). S'il n'existe pas, créez-en un à partir de
brands/_modele.md avec ce que la personne dit ou ce que vous trouvez dans le code/site du produit
(tokens de couleur dans le CSS, logo dans le composant de marque, page de prix). brands/vehiro.md est un
exemple complet.
Phase 1 — Script
1. Brief court
Ne demandez que ce qui manque : produit/marque, public (qui décide l'achat), la douleur (ou "pourquoi vous"), voix (féminine/masculine, ou sans narration), durée cible (30–50 s), format (Reels 9:16 est le standard). Si la personne dit "vous décidez", décidez et expliquez le choix en une ligne.
2. Choisir la douleur
Une douleur par vidéo. Préférez la douleur que (a) le public ressent dans le porte-monnaie ou l'orgueil, (b) on peut montrer visuellement, (c) le produit résout vraiment avec un écran qui existe. Évitez de répéter des douleurs de vidéos précédentes de la même série — listez celles déjà faites avant de choisir.
3. Vérifier la réalité dans le produit
Pour chaque promesse du script, confirmez dans le code, les écrans ou le site que la fonctionnalité existe et se comporte comme vous allez le dire. Cela évite la publicité mensongère et le retravail. Exemples réels de ce que cette vérification a détecté : le tableau ne séparait pas les voitures par statut (seul le filtre de la liste séparait) ; "en temps réel" est devenu "toujours mis à jour" car le statut change quand quelqu'un met à jour ; l'essai gratuit était de 7 jours (constante dans le code) ; le message WhatsApp généré par l'app avait un texte exact qui est devenu la parole de la vidéo. Si quelque chose n'existe pas, modifiez la promesse, n'inventez pas.
4. Écrire le script
Lisez references/copywriting.md (structure et règles de copy) et references/hooks-catalog.md
(hooks validés). Utilisez references/dopamine-fx.md pour choisir les effets de chaque scène.
Livrez TOUJOURS dans ce format, en texte dans le chat :
## Reels N — "<nom de la douleur>"
**Douleur :** <une phrase>. **Ce que le produit a vraiment :** <bullets avec où vous avez vérifié>.
**Voix :** <nom de la voix> · **Durée :** ~XX s
### Hook (0–3 s)
- **Visuel :** ... - **Son :** ... - **Parole :** "..."
- Pourquoi ça accroche : ...
### Script
| Temps | Parole | Visuel et effets |
|---|---|---|
| 0–3 s · Hook | ... | ... |
| ... · Agitation | ... | ... |
| ... · Coup | ... | ... |
| ... · Rebondissement | ... | ... |
| ... · Solution | ... | ... |
| ... · CTA | ... | ... |
### Pour vous décider
- <seulement des décisions réelles : voix, hook alternatif, promesse à adoucir>
Arrêtez et attendez l'approbation. Les ajustements du script sont bon marché ; appliquez et re-présentez seulement ce qui a changé.
Phase 2 — Production (seulement après le "vous pouvez produire")
Créez le dossier du projet (ex. : marketing/videos/<slug>/ avec assets/), copiez
templates/base.html dans <slug>/index.html et templates/fx.js dans <slug>/fx.js.
5. Assets
Lisez references/audio.md et references/elevenlabs.md avant de générer quoi que ce soit.
- Narration : 2 prises dans ElevenLabs (
eleven_v4, balises comme[urgent],[short pause]), avec le nom de la marque écrit comme il se prononce (ex. : VEHIRO → "Verrirro"). - Musique : instrumentale avec tension jusqu'au rebondissement et drop animé après.
- Effets du hook : sirène, buzzer de jeu télévisé, caisse enregistreuse etc. (courts, ~1 s).
- Images réalistes (optionnel) : "photo de téléphone du vendeur" — voir
references/elevenlabs.mdsur la limite quotidienne et le format horizontal. - Écrans réels de l'app : captures d'écran mobiles 3x (1170x2532) rendent super bien dans le mockup de téléphone. Sans ElevenLabs ou sans crédits : proposez une version sans narration (typographie cinétique porte le message) ou attendez que la personne libère des crédits — ne changez pas de voix/fournisseur sans demander.
6. Valider la voix
Exécutez python scripts/transcribe_check.py <voix.mp3> (utilise la skill watch locale si elle existe, sinon
Whisper) et comparez avec le texte. Choisissez la prise sans erreur de mot ; si seulement un passage se trompe (ex. :
"Palha maintenant" au lieu de "Arrête maintenant"), ne générez que ce passage et raccordez-le avec
scripts/splice_phrase.py. Si vous devez changer un mot tout en gardant l'alignement avec une vidéo déjà
prête, regénérez la prise entière et utilisez scripts/align_phrases.py.
7. Carte temporelle
python scripts/timing_map.py voix.mp3→ liste de phrases avec début/fin (silences).python scripts/music_drop.py musique.mp3→ seconde exacte du drop (énergie des graves).- Définissez
V(délai de la voix, 0,25–0,9 s) et positionnez la musique pour que le drop tombe sur la phrase du rebondissement :debut_musique = (debut_rebondissement + V) - drop. - Si la musique est trop courte,
python scripts/extend_music.py musique.mp3 musique-ext.mp3 --cut <s> --bars 2 --bpm <bpm>(répète les mesures de la partie animée avec crossfade). - Si la voix dépasse ~48 s, accélérez de 5–8 % avec
atempo(maintient la tonalité). Chaque animation de parole entre au temps de la phrase :temps_video = temps_voix + V.
8. Composition
Montez les scènes dans index.html en suivant references/dopamine-fx.md et references/hyperframes.md.
Règles les plus importantes : les scènes se chevauchent de 0,2–0,5 s avec une transition en mouvement ; une "récompense"
visuelle toutes les ~2 s ; barre de progression en haut ; textes importants en dehors des zones couvertes par l'UI
de Reels (haut ~220 px et bas ~380 px).
9. Révision visuelle
npx hyperframes lint . (0 erreurs) et
npx hyperframes snapshot . --at <temps-clés> --no-end -o snapshots. Regardez la planche contact :
texte coupé, superposition illisible, scène vide, élément qui n'a pas animé. Corrigez et répétez seulement aux
temps affectés. Consultez references/pitfalls.md quand quelque chose n'apparaît pas ou apparaît avant l'heure.
10. Rendu et vérification
npx hyperframes render . -o ../renders/<slug>-9x16.mp4 -f 30 -q delivery, puis
python scripts/verify_render.py ../renders/<slug>-9x16.mp4 : vérifie durée, 1080x1920, volume
moyen (~-18 à -20 dB) et transcrit. Si le hook n'apparaît pas dans la transcription, l'effet sonore masque
la voix — baissez l'effet (voir references/audio.md).
11. Livraison
Envoyez le MP4 et dites en prose : le hook, ce que chaque scène fait, les effets utilisés, et les points d'attention honnêtes (prononciation que la transcription a entendue différemment, nombres illustratifs, crédits dépensés, ce qui n'a pas été vérifié à l'oreille).
Références
references/copywriting.md— structure en 7 actes, règles de copy, déclencheurs.references/hooks-catalog.md— hooks validés (visuel + son + parole) et quand utiliser chacun.references/dopamine-fx.md— catalogue d'effets, rythme et transitions fluides.references/audio.md— voix, prononciation, mixage, drop, raccords.references/elevenlabs.md— connecteurs, quotas, limites et pièges.references/hyperframes.md— squelette de la composition, audio, lint, snapshot, rendu.references/pitfalls.md— bugs déjà résolus et la correction de chacun.examples/— scripts approuvés d'une série réelle (VEHIRO) pour calibrer le ton et le format.