Whisper ou sous-titres YouTube : quand payer pour la transcription

Whisper ou sous-titres YouTube : la plupart des gens posent mal la question. On en fait un duel de qualité — quel transcripteur est « meilleur » — alors que la vraie question est de savoir si la transcription existe déjà. Pour la grande majorité des vidéos YouTube, c'est le cas : YouTube génère automatiquement des sous-titres, et les récupérer tient en un seul appel HTTP. Lancer Whisper sur ces vidéos, c'est télécharger l'audio, payer du calcul et attendre, pour recréer un texte qui était là depuis le début.
Mais Whisper n'est pas non plus du vent. Il y a des situations précises où c'est clairement le bon choix, et si vous construisez un pipeline, vous finirez par les rencontrer. Voici le partage équitable, chiffres à l'appui.
Ce que chacun vous apporte réellement
Les sous-titres YouTube — disponibles instantanément pour la plupart des vidéos publiques. Les pistes mises en ligne par des humains sont excellentes ; celles générées automatiquement sont correctes et s'améliorent chaque année, avec les faiblesses classiques : ponctuation pauvre, noms propres et jargon massacrés, homophones parfois confondus. Coût de récupération : quasiment nul.
Whisper (ou faster-whisper) — transcrit l'audio lui-même. Vraie ponctuation et vraies majuscules, meilleure gestion du vocabulaire technique (surtout avec un prompt initial), horodatage au mot solide, et il fonctionne sur des vidéos qui n'ont aucun sous-titre. Coût : l'API OpenAI revient à environ 0,006 $ par minute d'audio ; l'auto-hébergement demande un GPU ou beaucoup de patience CPU. Et il faut d'abord obtenir l'audio — typiquement via yt-dlp — ce qui apporte son lot de problèmes sur serveur (blocage des IP de datacenter, maintenance du binaire).
Le calcul sur un backlog de 100 vidéos
Disons que vous traitez le catalogue d'une chaîne : 100 vidéos de 15 minutes en moyenne.
Voie Whisper : 100 × 15 min × 0,006 $ = environ 9 $ de frais d'API. Ça a l'air bon marché — et ça l'est — mais ce n'est pas la facture complète. Il faut aussi télécharger une centaine de fichiers audio via yt-dlp (depuis une IP cloud, attendez-vous à des échecs « Sign in to confirm you're not a bot » et à des coûts de proxy), les stocker, mettre les tâches en file d'attente et attendre. En pratique, c'est un après-midi de travail sur le pipeline plus une bonne heure de traitement effectif.
Voie sous-titres : 100 requêtes GET. Terminé en quelques minutes, aucun fichier audio ne touche votre disque :
curl -s "https://youtube2text.org/api/transcribe?url=VIDEO_ID" \
-H "x-api-key: yt_YOUR_KEY"
Avec la tarification de youtube2text.org, 100 vidéos tiennent dans la formule à 9,99 $/mois (500 vidéos). Un montant similaire aux frais d'API de Whisper — mais zéro infrastructure, et les résultats arrivent immédiatement en JSON propre. Quand j'envoie des transcriptions à un LLM pour du résumé ou du RAG à l'échelle d'une chaîne, c'est cette voie à chaque fois ; les modèles de langage se moquent des petites erreurs de transcription des sous-titres automatiques.
Là où Whisper gagne vraiment
Je veux rester lucide ici, parce qu'il y a des tâches où les sous-titres perdent d'office :
- Aucun sous-titre n'existe. Certaines vidéos — mises en ligne non répertoriées, certains contenus musicaux, certaines vidéos non anglophones — renvoient
TRANSCRIPT_UNAVAILABLE. Whisper est la seule option. - La précision est le produit. Publier des citations, une relecture juridique ou médicale, sous-titrer votre propre contenu — le taux d'erreur des sous-titres automatiques est inacceptable et la sortie de Whisper est nettement plus propre.
- Vous avez besoin d'horodatages au mot fiables pour du découpage, du surlignage façon karaoké ou des travaux d'alignement. Le minutage des sous-titres se fait au segment et reste approximatif.
- Audio difficile. Accents prononcés, conversations qui se chevauchent, enregistrements médiocres — les grands modèles Whisper battent souvent l'ASR de YouTube.
Pour les notes de cours et le résumé de podcasts, en revanche, les sous-titres suffisent presque toujours — le LLM en aval lisse le bruit.
La liste de décision
- Vous alimentez un LLM (résumés, RAG, recherche) ? → Sous-titres. Les erreurs se diluent.
- Vous publiez la transcription telle quelle ? → Whisper, puis relecture humaine.
- Besoin d'horodatages au mot ? → Whisper.
- Gros backlog avec budget serré et échéance ? → Sous-titres d'abord.
- La vidéo renvoie
TRANSCRIPT_UNAVAILABLE(404) ? → Basculez sur Whisper. C'est le schéma que j'applique réellement : tenter l'appel sous-titres, et n'envoyer que les échecs vers une file Whisper. En pratique, le repli ne se déclenche que sur une petite minorité de vidéos, donc vous obtenez une couverture niveau Whisper à un coût niveau sous-titres.
Si votre récupération de sous-titres échoue systématiquement depuis un serveur cloud au lieu de renvoyer des résultats, c'est un autre problème — un blocage d'IP, pas des sous-titres manquants — traité dans pourquoi youtube-transcript-api se fait bloquer.
Pour câbler la moitié « sous-titres d'abord » : une clé gratuite est à une connexion Google de distance sur youtube2text.org/app/keys (5 vidéos/mois gratuites, sans carte bancaire), et la référence API complète se trouve sur youtube2text.org/api.md.