Le problème résolu
La traduction professionnelle de sous-titres est lente et facturée à la minute, si bien que la plupart des créateurs publient dans une seule langue. La traduction automatique de YouTube est inégale et ne peut être ni exportée ni modifiée. Les équipes ont besoin de fichiers de sous-titres synchronisés et modifiables, en plusieurs langues, qu'elles peuvent relire et mettre en ligne elles-mêmes.
Ce que doit inclure votre première version
- Détection des langues de sous-titres déjà disponibles
- Traduction vers de nombreuses langues cibles en une fois
- Export SRT et VTT en conservant les timings d'origine
- Un éditeur côte à côte pour relire les traductions
- Un glossaire pour les noms de marque et les termes techniques
Comment le construire, étape par étape
- 01
Vérifier les langues existantes
Appelez /transcripts/{video_id}/languages pour voir quelles pistes de sous-titres existent déjà et éviter de payer la traduction de ce qui est disponible.
- 02
Récupérer la transcription source
Appelez /transcribe avec format.timestamp pour obtenir des segments avec heures de début et de fin.
- 03
Traduire
Appelez /transcripts/{video_id}/translate pour chaque langue cible. Les timings des segments restent alignés sur l'original.
- 04
Exporter les fichiers de sous-titres
Écrivez chaque segment sous forme de bloc SRT numéroté ou de cue VTT à partir de ses heures de début et de fin, puis laissez les utilisateurs les télécharger ou les mettre en ligne sur YouTube.
Code de démarrage
Cette idée repose sur le modèle « Recette 1 : une vidéo en entrée, un résultat structuré en sortie ». Remplacez par vos propres chaînes, prompts et stockage.
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
res = requests.post(f"{API}/transcribe", headers=HEADERS, json={
"video": "https://www.youtube.com/watch?v=VIDEO_ID",
"format": {"timestamp": True, "paragraphs": True},
}).json()
transcript = res["data"]["transcript"]
print(transcript["text"][:500]) # plain text for your LLM prompt
for seg in transcript["segments"][:3]: # timestamps for deep links
print(seg["start"], seg["text"])Pourquoi ça vaut la peine de le construire
Facturez à la minute de vidéo et par langue, ou par paliers d'abonnement mensuel. Les plateformes d'e-learning et les agences qui localisent en volume sont les meilleurs clients, car la valeur augmente avec chaque langue ajoutée.
Erreurs à éviter
- Traduire ligne par ligne sans contexte, ce qui casse les phrases réparties sur plusieurs sous-titres.
- Ignorer la vitesse de lecture : le texte traduit peut être plus long que l'original, vérifiez le nombre de caractères par seconde.
- Payer la traduction de langues qui ont déjà des sous-titres créés par des humains.
Questions sur cette idée
Peut-on télécharger des sous-titres YouTube traduits en SRT ?
Oui. Traduisez la transcription via l'API, puis écrivez chaque segment horodaté au format SRT ou VTT.
Combien coûte la traduction d'une transcription ?
La traduction coûte environ 1 crédit pour 2 500 caractères de transcription. La récupération des sous-titres natifs coûte 1 crédit par vidéo.
Peut-on s'en servir pour le doublage ?
Oui. Le script traduit et horodaté est exactement ce dont ont besoin la plupart des outils de voix IA et de doublage.