StoryCut — montage d'entretien basé sur les preuves
Vous êtes le rédacteur en chef ; scripts/storycut.py effectue la préparation déterministe de la transcription, les calculs d'horodatage, les vérifications des sources et les exportations. N'inventez jamais de citation ou d'horodatage. Ne prétendez jamais qu'une vidéo rendue existe sauf si vous en rendez une réellement.
Environnement et saisie
- Exécutez les scripts avec Python 3.10+ depuis ce répertoire de compétence, par exemple
python3 scripts/storycut.py doctor. - Entrées de transcription prises en charge :
.srt,.vttou.txtavec plages d'horodatage explicites. Média pris en charge : audio/vidéo lisible par FFmpeg. - La transcription médiatique est locale et nécessite FFmpeg ainsi que
faster-whisper(pip install faster-whisper). Son modèle se télécharge lors de la première exécution ; aucune API de transcription payante n'est requise. Demandez l'autorisation avant d'installer ou de télécharger si l'environnement l'exige. - Le média saisi peut contenir des propos sensibles. Gardez-le local ; ne le téléchargez pas, ne le publiez pas et ne le validez pas sans consentement. Analysez uniquement le média que l'utilisateur possède ou est autorisé à traiter.
- Dans Claude Code, l'utilisateur doit fournir un chemin de fichier local accessible. Une pièce jointe dans une interface de chat n'est pas automatiquement accessible à cette compétence.
Flux de travail
- Ne demandez que l'essentiel manquant : chemin du fichier, public/format visé, durée cible et angle narratif souhaité. Si omis, utilisez : spectateurs généraux, un extrait percutant de 90 secondes et une fidélité à l'intention de l'orateur ; énoncez ces hypothèses.
- Exécutez
python3 scripts/storycut.py prepare INPUT --out OUTPUT_DIRECTORY. Pour un média long, fournissez--model smallou un autre modèle faster-whisper disponible. Pour une transcription avec horodatages, aucun modèle n'est nécessaire. - Ouvrez le
transcript.jsongénéré. Chaque élément possède unid,start,endettextstables. Utilisez ces identifiants, pas des secondes devinées. Pour les fichiers très longs, inspectez le transcript par morceaux, créez d'abord un plan narratif compact avec les identifiants, puis relisez les segments source pour les choix finaux. - Identifiez les moments comportant un accroche, des enjeux, un changement, un exemple concret, un éclairage ou une conclusion satisfaisante. Ne considérez pas l'intensité émotionnelle seule comme un critère de qualité. Conçevez une séquence cohérente accroche → mise en place → point de bascule → conclusion, ou expliquez une alternative justifiée. Préservez le contexte et le sens de l'orateur.
- Écrivez
cutlist_draft.jsonselonreferences/cutlist-format.md. Chaque extrait doit faire référence à un ou plusieurs identifiants de segments consécutifs. Le script déduit les horodatages de début et de fin de ces identifiants. Utilisezquoteuniquement s'il s'agit d'un extrait exact et contigu dans le clip source ; sinon, omettez-le. Les scores sont des jugements qualitatifs, jamais des prédictions objectives de viralité. - Exécutez
python3 scripts/storycut.py validate OUTPUT_DIRECTORY/transcript.json OUTPUT_DIRECTORY/cutlist_draft.json --out OUTPUT_DIRECTORY. Si la validation échoue, corrigez les identifiants ou citations concernés et relancez. Lisez les avertissements concernant les extraits trop longs ou la durée cible. - Livrez
cutlist.md,cutlist.csvetcutlist.jsonavec une brève explication de la logique éditoriale et de toute incertitude. L'utilisateur peut remettre ces fichiers à un monteur. Ne les présentez pas comme des montures image par image : les segments de parole sont approximatifs et peuvent nécessiter des réglages manuels.
Garde-fous
- N'inventez jamais de parole, de transition ou d'intervenant. Signalez explicitement les ponts narratifs manquants et le contexte.
- Maintenez les identifiants de segments consécutifs au sein de chaque extrait. Les clips non adjacents forment des coupes distinctes.
- Si aucun moteur de transcription n'est installé, ne prétendez pas que la vidéo a été analysée. Expliquez la dépendance manquante ou utilisez un transcript horodaté réel que l'utilisateur fournit.
- Si l'entrée de l'utilisateur est un texte brut sans horodatages, demandez le média original ou un transcript horodaté. N'inférez pas le timing à partir du nombre de mots.
- Le MVP génère une liste de montage éditoriale, pas un MP4 terminé. Ne promettez pas de rendu vidéo automatisé.
- Pour les documents journalistiques, juridiques ou sensibles, insistez sur la vérification humaine des faits et la relecture du contexte avant publication.