Vidéo explicative
Créez une vidéo explicative commentée de style 3Blue1Brown sur n'importe quel sujet. Les visuels utilisent Manim (Community Edition). La narration utilise Kokoro-82M, un modèle de synthèse vocale local. Il fonctionne sur la machine sans clé API. Chaque ligne de narration définit le timing de l'animation qui l'accompagne.
Le travail comporte deux parties :
- Vous rédigez
script.md: chaque ligne de narration et ce qui s'affiche à l'écran pendant qu'elle est lue. Vous avez le contexte, donc vous écrivez le script. - Un sous-agent construit la vidéo à partir de
script.md. Il écrit les scènes, les rend, vérifie la mise en page et effectue le rendu final.
La construction effectue environ 20 appels d'outils, et chaque appel renvoie l'intégralité du contexte. Un nouveau sous-agent a un petit contexte, donc la construction y est moins chère et plus rapide. Le sous-agent s'exécute également en arrière-plan, ce qui vous permet de continuer à travailler.
La commande explainer effectue le reste du travail. Elle doit être accessible dans le PATH. Pour l'installation, voir https://github.com/pranav7/video-explainers. Exécutez explainer -h pour les commandes.
0. Configuration (une fois par machine)
Exécutez explainer doctor. Il installe les paquets Homebrew, les polices, TinyTeX, un environnement Python et les icônes, puis teste Kokoro et LaTeX. Il est sûr de le réexécuter. Exécutez-le si une commande échoue en raison d'une dépendance manquante.
1. Planification
- Où. Si la conversation concerne un projet qui possède son propre dossier pour les documents, placez la vidéo dans un dossier
videos/<slug>/à cet endroit. Sinon, utilisez~/Movies/explainers/<slug>/. - Public et durée. Ne demandez que si la requête ne les rend pas clairs. Par défaut : un adulte curieux sans connaissances préalables sur le sujet, de 2 à 4 minutes.
- Longueur du script. Kokoro parle environ 170 mots par minute, donc une vidéo de 3 minutes comprend environ 500 mots de narration. Écrivez un chapitre pour chaque période de 30 à 45 secondes.
Choisissez la forme qui correspond au sujet.
Pour un concept (un algorithme, une idée en maths ou en sciences) :
- Commencez par une question ou un problème concret, pas par une définition.
- Construisez l'intuition avec un exemple spécifique que le spectateur peut voir.
- Généralisez, et alors seulement montrez la formule. La formule nomme ce qu'ils ont déjà vu.
- Terminez sur l'idée clé en une image.
Pour une situation (un échec d'exécution, un incident, une conception, une mise à jour du travail) :
- Commencez par ce qui s'est passé, avec les chiffres réels.
- Montrez le mécanisme qui l'a provoqué, étape par étape.
- Montrez ce qui change : le correctif, la décision ou l'étape suivante.
- Terminez par une image de l'ensemble du système avec le changement en place.
2. Rédiger script.md
Écrivez script.md dans le répertoire vidéo, au format suivant :
# Pourquoi la page des commandes est lente
Pour les ingénieurs de l'équipe. Environ 3 minutes.
## Palette
| Concept | Couleur |
| --- | --- |
| Le serveur API | SKY |
| La base de données | VIOLET |
| Travail lent et inutile | CORAL |
| Le correctif | MINT |
## 1. Accroche : Cinquante commandes, cinquante requêtes
- "La page des commandes met quatre secondes à charger cinquante commandes."
- Une carte navigateur avec "4,1 s" en corail, et une liste de 50 étiquettes de commandes.
- "Le serveur interroge la base de données une fois pour chaque commande."
- Une carte serveur API et une carte base de données. Des paquets voyagent entre elles, un par commande.
Chaque titre de chapitre est ## <numéro>. <NomDeScène> : <titre du chapitre>. Le constructeur crée une classe de scène pour chaque chapitre. Les titres des chapitres deviennent des marqueurs de chapitre dans la vidéo.
Le constructeur ne peut pas voir cette conversation. Mettez tous les noms, nombres, étiquettes et valeurs qui apparaissent à l'écran dans le script.
La narration est lue exactement telle qu'écrite :
- Écrivez la forme parlée : "x au carré", "deux pi r", "numéro de bon de commande", "v deux". Ne mettez pas de LaTeX, de symboles ou de code dans la narration.
- Écrivez une phrase par ligne, deux au maximum. Chaque ligne correspond à un changement visuel.
- Si Kokoro prononce mal un mot, donnez ses phonèmes en ligne :
[Kokoro](/kˈOkəɹO/). - La voix par défaut est
af_heart. Si l'utilisateur tient à la voix, exécutezexplainer voiceset laissez-le écouter (afplay voice-samples/<nom>.wav).
Sous chaque ligne, décrivez l'image, pas une diapositive. Nommez les objets, ce qu'ils montrent et ce qui bouge. Donnez à chaque concept une couleur de la palette.
Prenez les couleurs de la palette dans les accents du kit : SKY, MINT, AMBER, CORAL, VIOLET, AQUA, ROSE, PEACH, LIME. Le kit propose également des couleurs neutres pour les choses qui ne sont pas un concept : SUBTLE, FAINT, INK. Le kit comprend des cartes, des étiquettes, des tableaux, des fenêtres de code, des pipelines, des diagrammes de séquence, des chronologies, des arbres, des bulles, des graphiques, des grands nombres et des icônes Lucide. Décrivez les images qui les utilisent.
Montrez chaque nombre tel qu'il est. Ne demandez pas un nombre qui compte à partir de zéro.
3. Déléguer la construction
Démarrez le constructeur en tant que sous-agent. Si vos instructions nomment un type d'agent ou un modèle pour le travail de construction, utilisez-les. Donnez-lui cette invite :
Construisez la vidéo explicative pour <répertoire>/script.md. Exécutez `explainer guide` et suivez-la. Signalez le chemin de la vidéo, sa durée et chaque avertissement de mise en page que vous avez laissé en place, avec la raison.
Si l'utilisateur a demandé des sous-titres, ajoutez "Rendre avec --captions." à l'invite.
Dites à l'utilisateur que la vidéo est en cours, puis continuez d'autres travaux. Si vous ne pouvez pas démarrer un sous-agent, exécutez explainer guide et effectuez ses étapes vous-même.
4. Livraison
Lorsque le constructeur signale, ouvrez <répertoire>/video.mp4 (sur macOS, open). Dites à l'utilisateur :
- Le chemin du fichier et la durée.
- La vidéo possède des marqueurs de chapitre.
- Tout problème que le constructeur a laissé ouvert.
Demandez ce qu'il faut modifier. Pour apporter une modification, envoyez-la au même constructeur si vos outils peuvent lui envoyer un message, car le constructeur conserve son contexte. Sinon, démarrez un nouveau constructeur avec la modification. Si la modification affecte la narration, modifiez d'abord script.md.