Communitygithub.com

shortcut-clips

Transforme une vidéo locale longue (podcast, talk, interview, stream) en clips verticaux 9:16 avec cadrage facial, sous-titres animés, titres et hashtags. Claude sélectionne les moments viraux à partir d'une transcription horodatée ; un pipeline ffmpeg local fait le reste. Pas de clés API.

Qu'est-ce que shortcut-clips ?

shortcut-clips est un outil conçu pour les développeurs et utilisateurs d'agents IA (comme Claude Code) qui souhaitent découper automatiquement des vidéos longues en courts clips verticaux pour les réseaux sociaux (YouTube Shorts, Reels, TikTok). Il fonctionne entièrement en local, sans nécessiter de clé API externe. Le pipeline se charge de la transcription, de la détection des passages intéressants, du recadrage centré sur le visage, de l'ajout de sous-titres animés (style bold-pop, minimal ou karaoké) et du rendu final. Le rôle de l'agent IA est de choisir les meilleurs moments parmi les candidats proposés, en se basant sur leur contenu textuel. L'outil prend en charge plusieurs langues, permet de personnaliser la durée et le style des clips, et gère le cache pour accélérer les ré-exécutions. Il est idéal pour produire rapidement du contenu court et engageant à partir de podcasts, interviews ou streams.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thanmaiashok/shortcut-clips/tree/HEAD/skills/shortcut-clips

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait shortcut-clips ?

Un pipeline local effectue le travail mécanique (transcrire, trouver les fenêtres candidates, recadrer, sous-titrer, rendre). Votre tâche est l'étape de jugement : lire les moments candidats sous forme de texte, choisir les meilleurs et écrire clips.json. Vous ne voyez ni n'avez besoin des trames vidéo.

0. Entrées

  • Vidéo : un chemin de fichier local. Si l'utilisateur donne une URL, expliquez que shortcut-clips ne fonctionne qu'avec des fichiers qu'il fournit (contenu dont il est propriétaire ou pour lequel il a les droits) et demandez un fichier. Ne téléchargez rien.
  • Nombre de clips : utilisez le nombre donné par l'utilisateur ; sinon 3.
  • Options (uniquement si l'utilisateur le demande) : --language hi|kn|en|…, --min-len/--max-len (par défaut 20-60 s), style bold-pop (par défaut), minimal ou karaoke-highlight.

1. Préparation (transcription + candidats)

shortcut-clips prepare "<video>"
  • Il affiche le dossier de sortie, puis une ligne par fichier de segment (chunk). Notez les deux.
  • Un premier lancement télécharge le modèle de reconnaissance vocale. Une vidéo d'une heure prend environ 15 à 25 minutes sur CPU et 5 à 10 minutes sur GPU. Pour les vidéos de plus de 10 minutes, exécutez la commande en arrière-plan et attendez qu'elle se termine. Dites à l'utilisateur que ça travaille. Relancer est sûr : les étapes terminées sont mises en cache.
  • En cas d'échec, montrez à l'utilisateur le conseil de correction de l'erreur. shortcut-clips doctor vérifie l'installation.

2. Choisir les moments

  1. Lisez <dossier de sortie>/work/candidates.txt, puis chaque fichier de segment qu'il liste, dans l'ordre. Chaque segment liste des phrases (s0012 [68.3] texte) et des candidats (c004 s0012-s0021 68.2-108.6 (40s)), chaque candidat étant un intervalle de ces phrases. Ne lisez pas transcript.json ou candidates.json : les segments contiennent tout ce dont vous avez besoin, avec beaucoup moins de tokens.
  2. Notez chaque candidat avec reference/rubric.md. En avançant, gardez une shortlist d'environ 3× le nombre demandé : identifiant du candidat, cinq scores par critère, note d'une ligne. Abandonnez le reste.
  3. Améliorez les gagnants. Vous pouvez déplacer les bords d'un clip vers d'autres limites de phrases, par exemple en commençant à la phrase avec l'accroche la plus forte ou en terminant juste après la chute :
    • start = le temps de la première phrase choisie.
    • end = le temps de la phrase après la dernière que vous gardez, ou le temps de fin du candidat si vous gardez sa dernière phrase.
    • Restez dans la plage de durée. Le validateur ajuste les bords aux mots entiers.
  4. Choisissez l'ensemble final : les scores globaux les plus élevés, pas deux clips partageant plus de quelques secondes, et des sujets différents si possible.

3. Écrire clips.json

Écrivez <dossier de sortie>/clips.json en suivant reference/clips-format.md. Écrivez hook_text, title et caption dans la langue et l'écriture de la transcription, sauf si l'utilisateur demande autrement. Ordonnez les clips du meilleur au premier. Exécutez ensuite :

shortcut-clips validate "<dossier de sortie>/clips.json" --write

Corrigez chaque error et relancez jusqu'à ce qu'il affiche ✓. Corrigez les avertissements quand c'est facile. Les lignes info signalent des ajustements automatiques (bords ajustés) et ne nécessitent aucune action.

4. Rendu

shortcut-clips render "<dossier de sortie>/clips.json"

Ensuite, faites un rapport à l'utilisateur : pour chaque clip, son numéro, son titre, sa durée, son score et son chemin vidéo, ainsi que la galerie <dossier de sortie>/index.html. Ajoutez une phrase expliquant pourquoi le meilleur clip fonctionne. Mentionnez qu'il peut demander des modifications.

Éditions et ré-exécutions

  • "Raccourcir le clip 2", "nouveau titre", "utiliser le style karaoké" : éditez clips.json (remplacement du style/layout par clip sur les defaults), validez avec --write, refaites le rendu. Les clips inchangés sont réutilisés depuis le cache.
  • "Trouver d'autres moments" : revenez à l'étape 2 avec les mêmes segments. Ne relancez pas prepare.
  • Mauvaise langue détectée : relancez prepare avec --language <code>. Seule la transcription et les étapes ultérieures sont refaites.
  • Aucune fenêtre candidate : la vidéo est courte ou contient peu de parole. Relancez prepare avec un --min-len plus petit (par exemple 10).

Skills associés