Obtenir la transcription d'une vidéo YouTube
Cinq façons d'obtenir la transcription d'une vidéo YouTube : dans YouTube lui-même, avec yt-dlp, en Python, via l'API Transcript Dock, ou en demandant à Claude.
Mis à jour le
En bref : si la vidéo a des sous-titres, YouTube peut afficher sa transcription sous la description (cliquez sur ...plus, puis sur Afficher la transcription). Pour l'obtenir sous forme de fichier ou pour de nombreuses vidéos, utilisez yt-dlp ou la bibliothèque Python youtube-transcript-api sur votre propre machine, ou une seule requête à une API hébergée comme Transcript Dock si vous travaillez dans le cloud ou si vous avez aussi besoin de TikTok. Les vidéos sans sous-titres nécessitent une transcription par IA de l'audio.
Quelle méthode choisir#
| Méthode | Idéal pour | Coût | Point de vigilance |
|---|---|---|---|
| Panneau de transcription YouTube | Une vidéo, à la main | Gratuit | Seulement si la vidéo a des sous-titres ; la copie fait perdre le timing |
| yt-dlp | Scripts sur votre propre machine | Gratuit | Fichiers de sous-titres ; bloqué depuis de nombreuses IP de clouds |
| youtube-transcript-api | Notebooks et scripts Python | Gratuit | Nécessite un proxy résidentiel dans le cloud ; YouTube uniquement |
| API Transcript Dock | Applications, pipelines, nombreuses vidéos | 1 crédit par vidéo | Hébergée, TikTok aussi, transcription par IA quand il n'y a pas de sous-titres |
| Claude ou Cursor (MCP) | Poser des questions sur une vidéo | 1 crédit par vidéo | Aucun code du tout |
1. Dans YouTube#
- Ouvrez la vidéo sur un ordinateur.
- Cliquez sur
...plussous le titre pour développer la description. - Faites défiler jusqu'en bas de la description et cliquez sur
Afficher la transcription. - La transcription s'ouvre à côté de la vidéo. Utilisez le menu en haut pour masquer les horodatages, puis sélectionnez et copiez.
Le bouton n'apparaît que si la vidéo a des sous-titres, qu'ils aient été ajoutés par le créateur ou générés par YouTube. C'est acceptable pour une seule vidéo ; copier à la main fait perdre le timing et ne passe pas à l'échelle.
2. Avec yt-dlp#
yt-dlp est un outil en ligne de commande gratuit. La commande suivante enregistre les sous-titres anglais dans un fichier SRT, sans télécharger la vidéo :
yt-dlp --skip-download --write-subs --write-auto-subs --sub-langs en --convert-subs srt \"https://www.youtube.com/watch?v=dQw4w9WgXcQ"
--write-auto-subs inclut les sous-titres automatiques de YouTube lorsque le créateur n'en a ajouté aucun. Cela fonctionne bien depuis une connexion domestique ; depuis un serveur, YouTube demande souvent une authentification.
3. En Python#
La bibliothèque open source youtube-transcript-api lit les mêmes sous-titres, sans clé API :
# pip install youtube-transcript-apifrom youtube_transcript_api import YouTubeTranscriptApitranscript = YouTubeTranscriptApi().fetch("dQw4w9WgXcQ", languages=["en"])for snippet in transcript:print(round(snippet.start, 1), snippet.text)
Son README prévient que YouTube bloque la plupart des adresses IP appartenant à des fournisseurs cloud : sur AWS, Google Cloud ou un VPS, elle a donc besoin d'un proxy résidentiel tournant. Voir Transcript Dock face à youtube-transcript-api.
4. Avec l'API Transcript Dock#
Trois requêtes : envoyer le lien, attendre, exporter. L'API fonctionne partout (aucun proxy à gérer), renvoie des segments horodatés, exporte en TXT, SRT, VTT ou JSON, et fonctionne de la même façon pour TikTok. Une transcription à partir de sous-titres coûte 1 crédit, et chaque compte reçoit 50 crédits gratuits chaque mois.
# 1. submit the link (1 credit)curl -X POST https://www.transcriptdock.com/v1/jobs \-H "Authorization: Bearer td_live_YOUR_KEY" \-H "Idempotency-Key: yt-dQw4w9WgXcQ" \-H "Content-Type: application/json" \-d '{ "source": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }, "mode": "captions_only" }'# 2. wait for it (returns as soon as the job finishes)curl "https://www.transcriptdock.com/v1/jobs/JOB_ID?wait=25" -H "Authorization: Bearer td_live_YOUR_KEY"# 3. export the transcript (free)curl "https://www.transcriptdock.com/v1/transcripts/RESULT_ID/export?format=txt" -H "Authorization: Bearer td_live_YOUR_KEY"
Le parcours complet est décrit dans le démarrage rapide. Pour une chaîne, une playlist ou une recherche entière, listez d'abord les vidéos avec la découverte de vidéos, puis envoyez-les sous forme de lot.
5. Demandez à Claude ou à Cursor#
Ajoutez Transcript Dock comme connecteur, puis posez votre question en langage courant, par exemple « Que dit cette vidéo ? » avec le lien. Claude récupère la transcription et répond à partir de celle-ci. La configuration prend une minute : Claude, Claude Code, Cursor.
Quand une vidéo n'a pas de sous-titres#
Toutes les méthodes ci-dessus lisent des sous-titres déjà existants. Lorsqu'il n'y en a pas, il faut transcrire l'audio. Avec Transcript Dock, envoyez mode: "auto" : l'API utilise les sous-titres quand ils existent, et la transcription par IA sinon, à 2 crédits par minute entamée sur les forfaits payants. Le résultat inclut le timing des mots.
Questions fréquentes#
- Est-ce autorisé ? Lire des sous-titres pour vos propres recherches, pour l'accessibilité ou pour une analyse est une pratique courante ; republier les mots de quelqu'un d'autre pose une question de droit d'auteur. Vérifiez les conditions d'utilisation de YouTube pour votre usage.
- Et d'autres langues ? Passez
caption_languages, par exemple["es", "en"], pour privilégier une piste. Listez les pistes d'une vidéo avec la découverte des langues. - Et les Shorts ? Oui. Les liens Shorts, watch et youtu.be fonctionnent tous.