Transcriptions YouTube pour une application RAG à grande échelle : crédits, recharge automatique et budgets
Un développeur ingère 10 000 vidéos YouTube dans une application RAG. Le coût, le calcul de la limite de débit, et comment la recharge automatique et les budgets rendent la dépense prévisible.

Si ton application RAG ou d'IA a besoin de transcriptions YouTube à grande échelle, la configuration pratique est une API de transcription à l'usage avec des crédits prépayés, une recharge automatique pour qu'une longue ingestion ne s'arrête jamais, et un budget mensuel pour qu'un bug ne fasse pas exploser la facture. Ce pas à pas suit une développeuse à travers cette configuration avec l'API de transcription sum.video.
La situation
Maya construit un assistant de recherche qui répond à des questions sur des conférences. Son index doit couvrir environ 10 000 vidéos YouTube issues de quelques centaines de chaînes, puis grandir d'environ 300 nouvelles vidéos par mois. Elle lance l'ingestion depuis un petit serveur et ne veut ni la surveiller, ni avoir de mauvaise surprise sur sa facture.
Ses contraintes sont simples : un coût prévisible, aucune recharge manuelle au milieu d'un traitement, et une gestion propre des vidéos sans transcription.
Ce dont elle a besoin
- Du texte brut pour chaque vidéo, prêt à être découpé et vectorisé.
- Des horodatages, pour qu'une réponse puisse renvoyer au moment exact de la vidéo.
- Un coût qu'elle peut estimer avant de commencer.
- Un plafond strict de dépense.
Pas à pas
1. Estimer d'abord le coût
Une transcription coûte 2 crédits, et les requêtes qui ne renvoient pas de transcription ne coûtent rien. Pour 10 000 vidéos, cela fait au plus 20 000 crédits. Avec le pack de 5 000 crédits à $74.99 ($0.030 par transcription), 10 000 transcriptions coûtent environ $300 au total, un peu moins si certaines vidéos n'ont pas de sous-titres. Les packs plus petits coûtent plus cher par transcription : $0.090 pour 100 crédits, $0.056 pour 500, $0.038 pour 2 000. La page des tarifs donne les détails à jour.
Les crédits s'achètent une fois et n'expirent jamais, donc aucune horloge d'abonnement ne tourne pendant qu'elle développe.
2. Tester avec les crédits gratuits
Sa première clé d'API est fournie avec 10 crédits gratuits, soit 5 transcriptions. Elle s'en sert pour vérifier la réponse sur quelques vidéos au format json (segments avec offset et duration en secondes) et au format text. Pour le détail de la requête, le guide obtenir la transcription YouTube avec une API propose des exemples curl, Python et JavaScript.
3. Activer la recharge automatique
Dans le tableau de bord de l'API, elle active la recharge automatique. La règle : quand le solde passe sous un seuil choisi, la carte enregistrée est débitée d'un nouveau pack. Le traitement d'ingestion continue toute la nuit sans recharge manuelle.
4. Fixer les budgets
Deux limites la protègent :
- Un budget mensuel de recharge, qui plafonne ce que la recharge automatique peut dépenser sur un mois.
- Une limite mensuelle de crédits. Une fois atteinte, les requêtes suivantes renvoient
402 budget_exceeded.
Elle active aussi des alertes par e-mail pour un solde bas, pour 80 % de la limite mensuelle et pour les recharges échouées. Les alertes la préviennent d'un problème alors qu'il est encore temps d'agir.
5. Respecter la limite de débit
Chaque clé autorise 60 requêtes par minute. À ce rythme, 10 000 requêtes prennent environ 167 minutes, soit moins de trois heures avec une seule clé. Elle fait tourner une file simple qui envoie une requête par seconde, ce qui la maintient sous la limite sans à-coups. Elle pourrait créer jusqu'à 5 clés actives, par exemple une pour l'ingestion et une pour les requêtes en direct de l'application, afin qu'un rattrapage ne bloque jamais la requête d'un utilisateur.
6. Gérer les vidéos sans transcription
L'API ne renvoie que les sous-titres YouTube existants. Les directs, les vidéos privées ou supprimées et les vidéos sans sous-titres renvoient 404 no_transcript. Dans sa file, ce statut veut dire : marquer comme ignorée et passer à la suite, ne jamais réessayer. Comme ces requêtes ne coûtent rien, une chaîne pleine de vidéos sans sous-titres ne grignote pas son budget.
Sa boucle, en pseudo-code :
- Prendre l'identifiant de la prochaine vidéo dans la file.
- Appeler l'API avec
format=json. - En cas de succès : découper les segments en morceaux d'environ une minute, stocker chaque morceau avec son décalage de départ et le vectoriser.
- Sur
404 no_transcript: enregistrer un marqueur « pas de transcription ». - Sur
402 budget_exceeded: mettre la file en pause et s'alerter. - Sur une erreur serveur : réessayer après un délai.
7. Vérifier le solde dans le code
Avant chaque gros lot, elle appelle GET /api/v1/credits. Si le solde est inférieur à ce dont le lot a besoin et que la recharge automatique est désactivée, le traitement refuse de démarrer. C'est une protection peu coûteuse contre une importation à moitié terminée.
Ce qu'elle obtient au final
Après la première nuit, l'index contient les transcriptions de presque toutes les 10 000 vidéos, chaque morceau portant son heure de début. Quand un utilisateur pose une question, l'assistant cite une conférence et un horodatage, et le lien ouvre la vidéo à cet instant. Le coût récurrent est faible : 300 nouvelles vidéos par mois représentent au plus 600 crédits, soit environ $18 au tarif du pack de 5 000 de $0.030 par transcription.
Si Maya s'abonnait à Pro, elle recevrait aussi 100 crédits bonus chaque mois, ce qui couvre une partie de cette croissance.
Là où ça atteint ses limites
- Pas de sous-titres, pas de transcription. L'API ne transcrit pas l'audio. Pour les vidéos sans sous-titres, il te faut une autre source, comme un service de reconnaissance vocale, que tu paies à part. D'autres API de transcription proposent un repli audio, voir le comparatif des API de transcription YouTube.
- Les sous-titres automatiques contiennent des erreurs. Les noms et le jargon en font souvent les frais. La réponse indique si une piste est générée automatiquement, tu peux donc pondérer ou signaler ces morceaux.
- La langue est celle de la piste de sous-titres. La réponse indique la vraie langue, ne suppose donc pas qu'elle correspond à celle demandée.
- Le débit est plafonné par clé. Un très gros rattrapage se compte en heures, pas en secondes.
- Elle ne renvoie que des transcriptions. Le découpage, la vectorisation et la recherche sont ton travail. Si tu n'as besoin que du résumé d'une vidéo, utilise le résumeur YouTube.
Sources
Questions fréquentes
Combien coûtent 10 000 transcriptions YouTube ?
Au plus 20 000 crédits, puisque chaque transcription coûte 2 crédits. Avec le pack de 5 000 crédits à $74.99 ($0.030 par transcription), cela fait environ $300. Les vidéos sans transcription ne coûtent rien, donc le total réel peut être plus bas.
Que se passe-t-il si mon solde s'épuise pendant un long traitement ?
Avec la recharge automatique activée, la carte enregistrée est débitée d'un autre pack dès que le solde passe sous le seuil que tu as choisi, et le traitement continue. Sans elle, les requêtes s'arrêtent quand les crédits sont épuisés.
Comment éviter qu'un bug fasse grimper ma facture ?
Fixe un budget mensuel de recharge et une limite mensuelle de crédits. Quand la limite de crédits est atteinte, les requêtes renvoient 402 budget_exceeded. Tu peux aussi recevoir des alertes par e-mail pour un solde bas, à 80 % de la limite mensuelle et lors des recharges échouées.
Quelle est la limite de débit ?
60 requêtes par minute et par clé, avec jusqu'à 5 clés actives. À une requête par seconde, 10 000 vidéos prennent moins de trois heures avec une seule clé.
Et les vidéos sans sous-titres ?
Elles renvoient 404 no_transcript et ne coûtent rien. L'API ne transcrit pas l'audio, il te faut donc une autre source pour ces vidéos.
À lire aussi
Les meilleures API de transcription YouTube comparées : sum.video, Supadata, Transcribr et la bibliothèque PythonQuatre façons d'obtenir des transcriptions YouTube dans du code, comparées sur le prix, les limites et la fiabilité : sum.video, Supadata, Transcribr et youtube-transcript-api.
Obtenir la transcription YouTube avec une API (curl, Python, JavaScript)Récupère la transcription de n'importe quelle vidéo YouTube publique avec une seule requête HTTP. Exemples curl, Python et JavaScript, formats, codes d'erreur et coûts.
Construisez une base de connaissances personnelle à partir de vidéos YouTubeTransformez les vidéos YouTube à partir desquelles vous apprenez en une bibliothèque consultable de résumés et de points sauvegardés, avec un récapitulatif hebdomadaire, afin de retrouver une idée des mois plus tard.
Derniers articles
Les meilleures API de transcription YouTube comparées : sum.video, Supadata, Transcribr et la bibliothèque PythonQuatre façons d'obtenir des transcriptions YouTube dans du code, comparées sur le prix, les limites et la fiabilité : sum.video, Supadata, Transcribr et youtube-transcript-api.
Obtenir la transcription YouTube avec une API (curl, Python, JavaScript)Récupère la transcription de n'importe quelle vidéo YouTube publique avec une seule requête HTTP. Exemples curl, Python et JavaScript, formats, codes d'erreur et coûts.
Construisez une base de connaissances personnelle à partir de vidéos YouTubeTransformez les vidéos YouTube à partir desquelles vous apprenez en une bibliothèque consultable de résumés et de points sauvegardés, avec un récapitulatif hebdomadaire, afin de retrouver une idée des mois plus tard.