Récupérer la transcription YouTube automatiquement
Envoyez le lien avec votre clé API depuis Python ou tout autre client HTTP. Avec wait=60, la requête reste ouverte jusqu’à 60 secondes. La référence de création détaille les champs et les codes de réponse.
Créez une clé dans le tableau de bord et utilisez-la côté serveur ou dans votre script. Dès que l’API répond, enregistrez l’ID de la transcription. Si elle n’est pas terminée, consultez GET /v1/transcriptions/:id : l’expiration du délai d’attente n’arrête pas le traitement.
Prévoyez les états queued, fetching et transcribing dans votre intégration. N’affichez le texte qu’à l’état completed ; à l’état failed, traitez l’erreur. Un délai réseau ou une vidéo inaccessible ne doit pas devenir une transcription vide présentée comme réussie.
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform":"youtube","url":"https://youtu.be/dQw4w9WgXcQ"}'Gardez transcript_source avec le texte
La réponse indique la source du texte et, pour les sous-titres YouTube, le type de piste. billed_minutes correspond à la durée arrondie à la minute supérieure. Retrouvez tous les champs dans l’objet transcription.
Conservez transcript_source et caption_kind si la provenance compte dans votre application. Les sous-titres du créateur gardent le texte publié, sans horodatage par mot. Les sous-titres générés automatiquement donnent le début de chaque mot. La transcription par IA fournit le début, la fin et un indice de confiance.
Les segments contiennent aussi les temps de début et de fin en secondes. Utilisez-les pour relier une note au passage vidéo ou transmettre le bon extrait à un assistant. Ajoutez include=words au JSON seulement si vous avez besoin des détails par mot. L’exemple illustre la structure de la réponse, pas le contenu de la vidéo.
{
"id": "tr_8fK2Lm0PqRsTuVwXyZaBcD",
"status": "completed",
"transcript_source": "youtube_captions",
"caption_kind": "auto_generated",
"language": "en",
"billed_minutes": 4,
"transcript": {
"text": "Welcome back to the channel. Today we are looking at how transcripts are made.",
"segments": [
{ "start": 0, "end": 4.2, "speaker": null, "language": "en", "text": "Welcome back to the channel." }
]
}
}Extraire les sous-titres YouTube par API ou transcrire l’audio
source=auto est le réglage par défaut. Avec captions (sous-titres uniquement), l’absence de piste utilisable donne no_captions, sans facturation. Avec stt, l’IA transcrit toujours l’audio. Le guide des sources explique les combinaisons possibles.
Choisissez captions si vous avez besoin du texte publié sur YouTube. Choisissez stt pour une nouvelle transcription de l’audio ou pour identifier les locuteurs. Avec source=auto, diarize=true fait passer directement par l’audio. Avec source=captions, cette combinaison est refusée : l’API n’ignore pas votre choix en silence.
La piste doit correspondre à la langue demandée, ou à la langue d’origine de la vidéo avec language=auto. Les pistes traduites automatiquement sont exclues. Pour la transcription par IA, une indication de langue aide la reconnaissance ; elle ne traduit pas l’enregistrement.
{
"platform": "youtube",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"source": "stt"
}Avant de renvoyer le même lien
Lisez d’abord le code d’erreur. Renvoyer une vidéo privée, soumise à une restriction d’âge ou encore en direct ne résout pas le problème. Avec no_captions, décidez si une transcription de l’audio convient à votre besoin. Si le traitement continue, consultez simplement son ID.
Pour retenter une création après un problème réseau, respectez le contrat Idempotency-Key. La réutilisation d’une transcription récente est une autre option : elle cherche la même vidéo avec les mêmes réglages. Un texte en cache peut encore être facturé comme une nouvelle transcription. Relire une transcription déjà terminée ne consomme aucune minute.
Le même endpoint accepte aussi les liens TikTok, Instagram et d’autres plateformes. YouTube, X, TikTok et Bluesky font notamment partie des sources avec sous-titres et repli sur l’audio. Vérifiez la liste des sources et options avant de proposer un réglage dans votre interface.