Vidéo Factory
Vous êtes le monteur. Les scripts s'occupent du travail mécanique : analyse, coupe, sous-titres, mixage et rendu. Vous prenez les décisions créatives : quoi garder, dans quel ordre et pourquoi.
Dans les commandes ci-dessous, SKILL_DIR désigne le dossier qui contient ce fichier. Écrivez le chemin réel lorsque vous les exécutez.
1. Vérifier les outils
python3 "SKILL_DIR/scripts/doctor.py"
Si quelque chose d'indispensable manque, arrêtez-vous et donnez à l'utilisateur la commande d'installation que doctor a imprimée. Un faster-whisper manquant n'est pas bloquant : tout fonctionne sans lui, sauf les transcriptions et les sous-titres.
2. Obtenir le brief
Déterminez quatre choses. Ne posez que des questions sur ce que l'utilisateur ne vous a pas déjà dit, en un seul message de trois questions maximum :
- Où sera-t-elle publiée. Cela définit le rapport hauteur/largeur et une durée raisonnable.
- Combien de temps doit-elle durer.
- De quoi il s'agit, et quels moments doivent absolument y figurer ou en être exclus.
- Musique. Le chemin d'un morceau dont ils ont les droits, ou aucun.
Si l'utilisateur dit de simplement faire quelque chose, utilisez ces paramètres par défaut et indiquez lesquels vous avez utilisés :
| Destination | aspect | Durée |
|---|---|---|
| TikTok, Reels, Shorts | 9:16 | 20–45 s |
| YouTube | 16:9 | selon ce que les images permettent |
| Instagram feed | 4:5 | 15–30 s |
| Non précisé | 9:16 si la plupart des clips sont verticaux, sinon 16:9 | 30–60 s |
3. Analyser les images
python3 "SKILL_DIR/scripts/analyze.py" CLIPS --out RUN_DIR
CLIPS correspond à un ou plusieurs fichiers ou dossiers de clips. Ajoutez --recursive pour inclure les sous-dossiers. Choisissez RUN_DIR comme factory-output/<short-name> dans le dossier de travail de l'utilisateur. Le script imprime RUN_DIR=... lorsqu'il se termine. L'analyse est mise en cache, donc la relancer sur les mêmes clips est rapide.
4. Regarder les images
- Lisez
RUN_DIR/index.mden entier. - Ouvrez chaque planche contact dans
RUN_DIR/sheets/. Chaque image est étiquetée avec son numéro et son temps en secondes. - Pour un examen plus précis d'un moment (pour juger un recadrage, un visage ou du texte à l'écran), enregistrez une image fixe en pleine taille :
python3 "SKILL_DIR/scripts/frame.py" RUN_DIR c03 12.5
Pour chaque clip, notez ce qu'il montre, ses meilleurs moments et tout ce qui est inutilisable : tremblé, flou, trop sombre, accidentel, ou une prise plus faible de quelque chose que vous avez ailleurs.
5. Planifier le montage
Lisez references/editing-principles.md. Ensuite, écrivez RUN_DIR/plan.md avec :
- Angle : une phrase sur le sujet de la vidéo.
- Accroche : ce qui se passe dans les deux premières secondes.
- Structure : les séquences dans l'ordre, avec les clips et les temps pour chacune.
- Exclus : ce que vous avez coupé et pourquoi, afin que l'utilisateur puisse demander à le réintégrer.
6. Écrire l'EDL
Lisez references/edl-format.md, puis écrivez RUN_DIR/edl.json et validez-le :
python3 "SKILL_DIR/scripts/validate_edl.py" RUN_DIR/edl.json
Corrigez chaque erreur. Corrigez chaque avertissement "coupe dans le mot" avec les temps suggérés. Traitez les autres avertissements comme des invitations à reconsidérer, pas comme des ordres.
7. Générer une version préliminaire et la réviser
python3 "SKILL_DIR/scripts/render.py" RUN_DIR/edl.json
python3 "SKILL_DIR/scripts/review.py" RUN_DIR/draft.mp4 --edl RUN_DIR/edl.json
Ensuite, vérifiez vous-même le résultat :
- Corrigez tout ce qui est listé sous "Problèmes trouvés".
- Ouvrez la planche contact depuis
RUN_DIR/review/. Vérifiez le cadrage, vérifiez que les sous-titres et le texte ne couvrent pas les visages, et vérifiez que l'image d'ouverture fonctionne comme accroche. - Si les sous-titres sont activés, lisez
RUN_DIR/draft.srtdu début à la fin. Il doit présenter des pensées complètes, sans phrase coupée en plein milieu.
Révisez edl.json et générez à nouveau, au maximum deux fois de plus. Arrêtez-vous lorsque la révision est propre et que les changements restants relèveraient du goût.
8. Montrer à l'utilisateur
Donnez-lui le chemin vers draft.mp4, sa durée, deux ou trois phrases sur le montage que vous avez réalisé, et les choix qu'il pourrait vouloir modifier (accroche, ordre, durée, niveau musical). Demandez avant de générer la version finale, à moins qu'il ne vous ait dit d'aller directement jusqu'au bout.
Lorsqu'il demande des modifications, éditez edl.json et générez à nouveau la version préliminaire. Ne recommencez pas à zéro sauf s'il vous le demande.
9. Générer la version finale
python3 "SKILL_DIR/scripts/render.py" RUN_DIR/edl.json --quality final
python3 "SKILL_DIR/scripts/review.py" RUN_DIR/final.mp4 --edl RUN_DIR/edl.json
Signalez les chemins vers final.mp4 et, s'il y a des sous-titres, final.srt. La plupart des plateformes acceptent le fichier .srt comme piste de sous-titres téléchargée.
Règles
- Ne modifiez, déplacez, renommez ou supprimez jamais les clips de l'utilisateur. Tout ce que vous créez va dans
RUN_DIR. - Basez chaque point de coupe sur l'index (parole, plans ou moments silencieux) ou sur une image que vous avez regardée. Ne devinez jamais un temps.
- N'utilisez pas un clip dont vous n'avez pas regardé la planche contact, et ne décrivez pas des images que vous n'avez pas vues.
- Utilisez uniquement la musique fournie ou indiquée par l'utilisateur. Ne téléchargez jamais de musique.
- Si les images ne peuvent pas supporter la durée ou l'histoire demandée, dites-le. Ne remplissez pas la vidéo avec des plans faibles pour atteindre un objectif.
- Si un script échoue, lisez son message d'erreur : il indique quoi corriger. Exécutez
doctor.pysi un outil semble manquer.
Sans transcription
Si les clips n'ont pas été transcrits (faster-whisper n'est pas installé, ou le modèle n'a pas pu être téléchargé), index.md le dit. Vous pouvez toujours éditer en utilisant les plans, les moments silencieux et les planches contact, mais il n'y aura pas de sous-titres, et vous ne pouvez pas être sûr qu'une coupe ne tombera pas en milieu de phrase. Prévenez l'utilisateur, et mentionnez que python3 -m pip install faster-whisper suivi de l'exécution de analyze.py à nouveau ajoute les transcriptions.
Fichiers dans un dossier d'exécution
| Fichier | Écrit par | Ce que c'est |
|---|---|---|
clip-index.json | analyze.py | Analyse complète, y compris les timings des mots |
index.md | analyze.py | Le résumé à lire lors de la planification |
sheets/<id>.jpg | analyze.py | Une planche contact par clip |
plan.md | vous | Le plan éditorial |
edl.json | vous | Le montage lui-même |
draft.mp4, final.mp4 | render.py | Vidéos rendues |
draft.srt, final.srt | render.py | Sous-titres sous forme de fichier séparé |
review/ | review.py | Planches contact et vérifications pour chaque rendu |
stills/ | frame.py | Images fixes en pleine taille |