Communitygithub.com

yyert123/video-captions

Sous-titrez n'importe quel fichier vidéo ou audio en une commande. Produit des sous-titres SRT et WebVTT propres et lisibles, et peut les graver dans une vidéo MP4, y compris des sous-titres "pop" centrés de 1 à 3 mots pour TikTok, Reels et YouTube Shorts.

Qu'est-ce que video-captions ?

Cette compétence d'agent IA permet d'ajouter des sous-titres lisibles à n'importe quel fichier vidéo ou audio en une seule commande. Elle est conçue pour les développeurs et créateurs qui ont besoin de sous-titres propres (SRT/VTT) ou de vidéos sous-titrées (MP4). La compétence reconstruit les mots complets à partir des segments bruts de reconnaissance vocale, et les réorganise en signaux temporels bien formatés (lignes de 42 caractères maximum, durée de 1 à 7 secondes). Elle prend en charge deux styles : standard (deux lignes, 42 caractères) et "shorts" (1 à 3 mots en majuscules centrés, idéal pour les réseaux sociaux). La transcription est mise en cache dans un fichier JSON, permettant des ré-exécutions gratuites après correction éventuelle des sous-titres. Elle fonctionne sur les fichiers jusqu'à 90 minutes / 1 Go, et utilise le service de reconnaissance vocale Miragea avec une facturation à la seconde. Les plateformes supportées incluent les environnements disposant de Python 3 et ffmpeg.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yyert123/miragea-skills/tree/HEAD/video-captions

Demander à votre IA préférée

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

Documentation

Sous-titres vidéo

Une seule commande transforme un fichier vidéo (ou audio) en sous-titres agréables à lire, et éventuellement en un MP4 sous-titré. Les segments bruts de reconnaissance vocale coupent souvent les mots en deux et sont trop longs ; cette compétence reconstruit les mots complets et les reformate en signaux temporels appropriés.

Quand l'utiliser

  • « Ajoute des sous-titres à cette vidéo », « crée un SRT pour mon exposé », « grave des sous-titres ».
  • « Fais des sous-titres style TikTok/Reels/Shorts » → utiliser --style shorts --burn.
  • L'utilisateur a besoin d'un fichier .vtt pour une balise <track> de site web ou un téléchargement YouTube.

Étapes

  1. Vérifier que MIRAGEA_API_KEY est définie (ne jamais l'afficher). Si absente, dire à l'utilisateur de créer une clé sur https://miragea.ai et export MIRAGEA_API_KEY=....

  2. Lancer le script sur le fichier de l'utilisateur :

    python3 scripts/captions.py chemin/vers/video.mp4                 # → video.srt + video.vtt
    python3 scripts/captions.py chemin/vers/video.mp4 --burn          # + video.captioned.mp4
    python3 scripts/captions.py chemin/vers/short.mp4 --style shorts --burn   # sous-titres pop, centrés
    
  3. Lire le JSON affiché (srt, vtt, video, cues) et donner les chemins à l'utilisateur.

  4. Si l'utilisateur souhaite modifier le texte, éditer le fichier .srt (garder les horodatages) et relancer avec --burn : la transcription est mise en cache dans <fichier>.transcript.json, donc les ré-exécutions sont gratuites.

Options

OptionPar défautEffet
--style standardoui2 lignes x 42 caractères, 1 à 7 s par signal (conventions de diffusion)
--style shorts1 à 3 mots par signal, MAJUSCULES, centrés lors du gravage
--burndésactivéÉcrit <nom>.captioned.mp4 (H.264, piste audio originale copiée)
--upperdésactivéMet en majuscules les sous-titres standards
--out-dir DIRà côté de l'entréeRépertoire de sortie
--forcedésactivéIgnore le cache de transcription et retranscrit

Coût et limites

Seule une piste audio mono 16 kHz est téléchargée (pas la vidéo), jusqu'à 90 minutes / 1 Go par fichier. Miragea facture 3 points par seconde d'audio ; les ré-exécutions en cache sont gratuites. Vérifier les tarifs en direct avec GET https://miragea.ai/v1/capabilities.

Dépannage

  • ffmpeg not found → installer ffmpeg (brew install ffmpeg, sudo apt install ffmpeg, winget install ffmpeg).
  • 401 → la clé est erronée ; 402 → recharger le compte sur miragea.ai ; 429 → attendre et relancer (sûr de réessayer).
  • Sous-titres légèrement en avance/retard sur les clips très musicaux : relancer avec --force après avoir coupé les intros.

Voir examples/ pour des exemples de sortie.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés