Ajouter des sous-titres avec Submagic

VérifiéPrudence

Gravez des sous-titres mot par mot sur une vidéo montée via l'API Submagic. Téléchargez le mp4 directement, interrogez jusqu'à la fin et récupérez la vidéo sous-titrée.

Spar Skills Guide Bot
ContenuDébutant
27/07/2026
Claude Code
#video-captions#subtitles#submagic#api-integration#video-processing

Recommandé pour

Synthèse automatique

Ajoute des sous-titres mot par mot incrustés dans une vidéo déjà montée en l'envoyant directement à l'API Submagic, puis récupère le fichier final.

Points forts

  • Upload direct du mp4 via l'endpoint multipart de Submagic, sans passer par Google Drive ni subir le contrôle antivirus sur les gros fichiers
  • Suit la progression du rendu par polling toutes les 15 secondes jusqu'au statut completed ou failed
  • Prévient lorsque Submagic remplace silencieusement le thème demandé
  • Télécharge automatiquement la vidéo sous-titrée dans un dossier de sortie prévisible

Limites

  • Le périmètre est strictement limité à l'incrustation des sous-titres : aucun texte de publication pour les réseaux sociaux n'est généré
  • Nécessite une clé SUBMAGIC_API_KEY et un SUBMAGIC_THEME_ID dans ~/.claude/.env, sans endpoint public pour lister les thèmes personnalisés
  • Les templates prédéfinis (Beast, Hormozi, etc.) ne sont pas pris en charge par le script actuel
Quand l'utiliser

Quand vous avez une vidéo montée en mp4 et voulez des sous-titres animés mot par mot prêts à publier, sans script de transcription séparé.

Quand l'éviter

Si vous avez besoin d'un transcript brut ou d'un fichier de sous-titres texte (utilisez /transcribe) ou de rédiger les descriptions et accroches de publication (utilisez /social-copy).

Analyse de sécurité

Prudence
Score qualité88/100

The skill invokes a Python script via Bash that uploads an mp4 to Submagic's API and downloads the result. This is a legitimate use of network and filesystem tools, but the external upload of user media and use of stored API keys warrant caution. No destructive, exfiltrating beyond intended service, or obfuscated actions are present.

Points d'attention
  • •Uploads video files to a third-party API (Submagic), which involves external data transfer and may include sensitive or private content.
  • •Reads API credentials from ~/.claude/.env, which could be exposed if the environment file is mishandled.
Comment cette analyse est faite

Exemples

Caption a finished short
Burn captions into ~/content/episode-12-final.mp4 with Submagic
Direct skill invocation
/submagic /Users/me/content/podcast-clip-03.mp4
Caption and report path
Add captions to this video and tell me where the captioned file landed: /Users/me/content/reel-raw.mp4

name: submagic description: Burn word-by-word on-screen captions onto an edited video using the Submagic API. Uploads the mp4 directly to Submagic (bypassing Google Drive), polls until done, and downloads the captioned video. Does NOT generate platform post copy (use /social-copy or manual captions.md for that) and does NOT replace /transcribe. Triggers on: submagic, burn captions, add captions to video, caption this video, submagic caption. argument-hint: /path/to/edited-video.mp4 allowed-tools: Bash(python3:*), Read, Write user-invocable: true

Burn word-by-word on-screen captions onto the video at $ARGUMENTS using Submagic.

Scope

  • This skill ONLY burns visual captions onto the video via Submagic.
  • It does NOT generate social media post copy (YouTube Shorts / TikTok / Reels / LinkedIn).
  • It does NOT replace /transcribe - Whisper stays the source for raw transcripts.

How it works

Uses Submagic's direct upload endpoint POST /v1/projects/upload with multipart/form-data. The mp4 is streamed straight to Submagic, so there is no Google Drive dependency, no virus-scan redirect problem on large files, and the requested userThemeId is preserved reliably (the older Drive-URL path sometimes got themes silently swapped under concurrent jobs).

Instructions

  1. Verify the file exists and is an mp4.

  2. Run the script:

    python3 ~/.claude/skills/submagic/submagic_caption.py "$ARGUMENTS"
    
  3. The script will:

    • Upload the mp4 directly to Submagic (multipart)
    • Poll GET /v1/projects/{id} every 15s until completed or failed
    • Warn if Submagic silently swapped the requested theme (happens if the theme UUID was very recently edited in the dashboard - propagation delay)
    • Download the captioned mp4 to ~/content/submagic/<original-name> - captioned-<short-project-id>.mp4
  4. If the script fails, check ~/.claude/.env for:

    • SUBMAGIC_API_KEY
    • SUBMAGIC_THEME_ID (the custom theme UUID - grab it from the Submagic dashboard if changing)
  5. Report the output path to the user. Do NOT generate platform captions unless asked.

Finding a theme UUID

Submagic's public API has no "list my custom themes" endpoint. To switch themes:

  1. Log into https://app.submagic.co
  2. Open DevTools (Cmd+Opt+I) -> Network tab
  3. Navigate to the themes page
  4. Find the XHR that returns a JSON array of themes - each has an id field
  5. Copy the id of the theme you want and paste it into SUBMAGIC_THEME_ID in ~/.claude/.env

Preset templates (Beast, Hormozi 1-5, Doug, etc.) are available via a separate templateName field if ever needed - not wired into the script today.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/burn-captions-with-submagic-ms2s7cag/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/burn-captions-with-submagic-ms2s7cag' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/burn-captions-with-submagic-ms2s7cag/download' --output '.skill-downloads/burn-captions-with-submagic-ms2s7cag/SKILL.md.part' && mv '.skill-downloads/burn-captions-with-submagic-ms2s7cag/SKILL.md.part' '.skill-downloads/burn-captions-with-submagic-ms2s7cag/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/burn-captions-with-submagic-ms2s7cag/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires