Que fait clipper ?
Déposez une vidéo et Claude trouve les moments les plus forts, puis les transforme en courts clips avec sous-titres, prêts à être publiés.
Tout s'exécute sur cet ordinateur. Rien n'est téléchargé. La compétence se trouve dans ~/.claude/skills/clipper/ ; ses outils sont scripts/transcribe.py et scripts/make_clips.py, exécutés avec son propre Python : ~/.claude/skills/clipper/.venv/bin/python.
0. Vérifier l'installation (à chaque exécution)
test -x ~/.claude/skills/clipper/.venv/bin/python && command -v ffmpeg
Si l'un des deux manque, prévenez l'utilisateur en une ligne et lancez l'installateur depuis le dépôt cloné (bash install.sh dans le dossier clipper-skill). Si vous ne trouvez pas le dossier, clonez-le à nouveau : git clone https://github.com/corbinsylk/clipper-skill && cd clipper-skill && bash install.sh.
1. Obtenir la vidéo
L'utilisateur glisse le fichier ou donne un chemin. S'il n'a rien donné, demandez-le en une ligne. Les deux scripts utilisent le dossier de travail <nom vidéo>-clips/ à côté de la vidéo sauf si vous en passez un autre. Paramètres que l'utilisateur peut fournir (sinon utilisez les valeurs par défaut, ne demandez jamais) :
| Paramètre | Valeur par défaut |
|---|---|
| Nombre de clips | 3 à 5, autant que de moments vraiment forts |
| Durée du clip | 20 à 60 secondes (visez 30 à 45) |
| Couleurs des sous-titres | blanc cassé #F5F1EA, le mot en cours en terre cuite #B03926 |
| Sous-titres | activés |
2. Transcrire
~/.claude/skills/clipper/.venv/bin/python ~/.claude/skills/clipper/scripts/transcribe.py "<video>"
Il imprime d'abord le dossier de travail. Le premier téléchargement du modèle de reconnaissance vocale prend environ 500 Mo pour small ; une vidéo de 2 minutes prend environ une minute, une vidéo d'une heure plusieurs minutes. Pour toute vidéo de plus de 10 minutes, exécutez la commande en arrière-plan (dans Claude Code : l'outil Bash avec run_in_background) et dites à l'utilisateur que ça travaille. Pour un accent prononcé ou un son de mauvaise qualité, ajoutez --model medium. Un avertissement concernant un token HF ou un conseil de vitesse au premier lancement est inoffensif.
3. Choisir les moments (c'est votre travail, pas celui d'un script)
Lisez <dossier travail>/transcript.md en entier. Choisissez les 3 à 5 moments les plus forts. Un moment fort :
- Commence par un accroche dans sa première phrase. Une affirmation audacieuse, un chiffre surprenant, une question, une erreur, le début d'une histoire. Ne commencez jamais par « donc », « et », « euh », « comme je disais » ou une phrase qui a besoin du contexte antérieur.
- Se suffit à lui-même. Quelqu'un qui n'a jamais vu la vidéo entière le comprend. Pas de « ça », « cette chose » ou « comme je l'ai mentionné » pointant hors du clip.
- Apporte une récompense. Il se termine sur la réponse, la chute, le résultat ou la leçon : une pensée achevée, jamais en milieu de phrase.
- A de l'énergie. Opinions, détails concrets, chiffres, émotion, un rebondissement. Évitez les salutations, les lectures de sponsors, les tâches ménagères et les longues introductions plates.
- Ne répète pas un autre choix. Chaque clip apporte un point différent, et les clips ne se chevauchent jamais dans le temps. Une vidéo courte donne moins de clips : sous environ 5 minutes, 1 à 3 clips est normal ; n'allongez jamais et ne chevauchez pas pour atteindre un nombre.
Notez chaque moment de 1 à 10 (accroche, autonomie, récompense, énergie ensemble). Ne conservez que ceux qui obtiennent 7 ou plus ; si moins de 3 y parviennent, gardez les 3 meilleurs et dites qu'ils sont plus faibles. Écrivez ensuite <dossier travail>/moments.json :
[
{"title": "Titre court pour le fichier", "start": 63.2, "end": 101.8, "score": 9,
"hook": "la première phrase du clip, mot pour mot",
"why": "une ligne : pourquoi ce moment fonctionne",
"caption": "une légende prête à poster : une ligne d'accroche, puis 2-3 lignes courtes, puis une question ou un appel à l'action"}
]
start et end sont en secondes depuis le début de la vidéo (les horodatages du transcript sont en minutes:secondes, donc 01:03.2 = 63.2). <dossier travail>/words.json contient chaque mot avec son début (s) et sa fin (e) exacts : lisez-le pour définir les bords. Réglez start sur le s du premier mot de l'accroche et end sur le e du dernier mot de la récompense. Le script conserve les mots de start à end (0,05 s de marge) et n'atteint jamais le mot avant ou après, donc pour supprimer un mot comme « Donc », réglez start sur le s du mot suivant.
4. Créer les clips
~/.claude/skills/clipper/.venv/bin/python ~/.claude/skills/clipper/scripts/make_clips.py "<video>"
Ajoutez --text-color "#FFFFFF" --active-color "#FFD400" pour d'autres couleurs de sous-titres, ou --no-captions pour les désactiver. Cela prend environ une minute par clip.
Chaque clip : coupé aux limites des mots, recadré en 1080x1920 (une vidéo large est recadrée autour du visage de l'orateur ; tout passage d'une seconde ou plus sans visage, comme un graphique, un écran ou un B-roll, est affiché en entier sur un fond flouté au lieu d'être coupé ; une vidéo verticale est conservée entière), sous-titres trois mots à la fois avec le mot prononcé en surbrillance, son nivelé à -14 LUFS.
5. Vérifier avant de remettre
Ouvrez chaque clips/NN-*.jpg : c'est une bande de 8 images réparties sur tout le clip. Regardez-les toutes :
- Le visage est dans le cadre et les sous-titres lisibles, sous le menton, sur chaque image parlée.
- La vidéo a déjà des sous-titres incrustés (vous voyez deux séries de mots) : refaites tous les clips avec
--no-captions. - Le script imprime « face in X/Y checks » par clip. Si X est 0, il n'y a pas de visage à cadrer (un enregistrement d'écran, des diapositives) : le clip est centré, donc dites-le dans le rapport. Les images sans visage sont normales sur une vidéo montée ; ce sont les plans de coupe affichés en entier.
- Si un clip commence ou se termine au milieu d'un mot ou d'une pensée, corrigez
start/enddans moments.json et refaites uniquement ce clip avec--only N.
6. Rapport
Une courte liste : le fichier de chaque clip, sa durée, son score et pourquoi il fonctionne, ainsi que sa légende de publication. Dirigez-les vers clips/scores.md (tout en un fichier) et le dossier clips/. Proposez une prochaine étape : différents moments, d'autres couleurs de sous-titres, ou clips plus longs/plus courts.