Scenario'sDoor Péter Nagy

YouTube-transcripts voor een RAG-app op grote schaal: credits, automatisch bijladen en budgetten

Een ontwikkelaar laadt 10.000 YouTube-video's in een RAG-app. Zie de kosten, de berekening van de snelheidslimiet en hoe automatisch bijladen en budgetten de uitgaven voorspelbaar houden.

Vat nu een YouTube-video samen

Plak een link en krijg de kernpunten met klikbare tijdstempels.

Heeft je RAG- of AI-app YouTube-transcripts op grote schaal nodig, dan is de praktische opzet een transcript-API met betalen naar gebruik en vooraf betaalde credits, een automatische bijlading zodat een lange inlaadtaak nooit stokt, en een maandbudget zodat een bug geen rekening opdrijft. Dit voorbeeld volgt een ontwikkelaar door die opzet met de sum.video Transcript API.

De situatie

Maya bouwt een onderzoeksassistent die vragen beantwoordt over conferentiesprekken. Haar index moet ongeveer 10.000 YouTube-video's van een paar honderd kanalen omvatten en daarna met zo'n 300 nieuwe video's per maand groeien. Ze draait het inladen vanaf een kleine server en wil er niet naast zitten of door een rekening verrast worden.

Haar eisen zijn helder: voorspelbare kosten, geen handmatig bijladen midden in een taak en een nette afhandeling van video's zonder transcript.

Wat ze nodig heeft

  • Gewone tekst voor elke video, klaar om op te delen en te embedden.
  • Tijdstempels, zodat een antwoord kan verwijzen naar het exacte moment in de video.
  • Kosten die ze vooraf kan schatten.
  • Een harde bovengrens voor de uitgaven.

Vat nu een YouTube-video samen

Plak een link en krijg de kernpunten met klikbare tijdstempels.

Stap voor stap

1. Schat eerst de kosten

Eén transcript kost 2 credits, en verzoeken die geen transcript opleveren kosten niets. Voor 10.000 video's is dat hooguit 20.000 credits. Met het pakket van 5.000 credits voor $74.99 ($0.030 per transcript) kosten 10.000 transcripts in totaal ongeveer $300, iets minder als sommige video's geen ondertitels hebben. De kleinere pakketten kosten meer per transcript: $0.090 bij 100 credits, $0.056 bij 500, $0.038 bij 2.000. De prijzenpagina heeft de actuele details.

Credits koop je eenmalig en verlopen nooit, dus er tikt geen abonnementsklok terwijl ze bouwt.

2. Test met de gratis credits

Haar eerste API-sleutel wordt geleverd met 10 gratis credits, dat zijn 5 transcripts. Daarmee controleert ze het antwoord voor een paar video's in het formaat json (segmenten met offset en duration in seconden) en in het formaat text. Voor de details van het verzoek heeft de gids een YouTube-transcript ophalen met een API werkende voorbeelden in curl, Python en JavaScript.

3. Stel automatisch bijladen in

In het API-dashboard zet ze automatisch bijladen aan. De regel: als het saldo onder een gekozen niveau zakt, wordt de opgeslagen kaart belast voor nog een pakket. De inlaadtaak draait de hele nacht door zonder handmatig bijladen.

4. Stel de budgetten in

Twee limieten beschermen haar:

  • Een maandelijks bijlaadbudget, dat begrenst hoeveel automatisch bijladen per maand mag uitgeven.
  • Een maandelijkse creditlimiet. Is die bereikt, dan geven verdere verzoeken 402 budget_exceeded.

Ze zet ook e-mailmeldingen aan voor een laag saldo, voor 80% van de maandlimiet en voor mislukte bijladingen. De meldingen waarschuwen voor een probleem terwijl er nog tijd is om in te grijpen.

5. Respecteer de snelheidslimiet

Elke sleutel staat 60 verzoeken per minuut toe. In dat tempo duren 10.000 verzoeken zo'n 167 minuten, minder dan drie uur met één sleutel. Ze draait een eenvoudige wachtrij die één verzoek per seconde verstuurt, zodat ze zonder pieken onder de limiet blijft. Ze zou tot 5 actieve sleutels kunnen aanmaken, bijvoorbeeld één voor het inladen en één voor de live opzoekingen van de app, zodat een inhaalslag nooit een gebruikersverzoek blokkeert.

6. Handel video's zonder transcript af

De API geeft alleen bestaande YouTube-ondertitels terug. Livestreams, privé- of verwijderde video's en video's zonder ondertitels geven 404 no_transcript. In haar wachtrij betekent die status: markeer als overgeslagen en ga door, nooit opnieuw proberen. Omdat die verzoeken niets kosten, verbrandt een kanaal vol video's zonder ondertitels haar budget niet.

Haar lus, in pseudocode:

  1. Neem het volgende video-ID uit de wachtrij.
  2. Roep de API aan met format=json.
  3. Bij succes: splits de segmenten in stukken van ongeveer een minuut, sla elk stuk op met zijn startoffset en embed het.
  4. Bij 404 no_transcript: sla een markering "geen transcript" op.
  5. Bij 402 budget_exceeded: pauzeer de wachtrij en waarschuw jezelf.
  6. Bij een serverfout: probeer opnieuw na een pauze.

7. Controleer het saldo in code

Vóór elke grote batch roept ze GET /api/v1/credits aan. Is het saldo lager dan de batch nodig heeft en staat automatisch bijladen uit, dan weigert de taak te starten. Het is een goedkope bescherming tegen een half afgemaakte import.

Wat ze uiteindelijk heeft

Na de eerste nacht bevat de index de transcripts van bijna alle 10.000 video's, elk stuk met zijn starttijd. Stelt een gebruiker een vraag, dan citeert de assistent een gesprek en een tijdstempel, en de link opent de video op dat moment. De lopende kosten zijn klein: 300 nieuwe video's per maand is hooguit 600 credits, ongeveer $18 tegen het tarief van het pakket van 5.000 van $0.030 per transcript.

Zou Maya Pro nemen, dan kreeg ze ook elke maand 100 bonuscredits, wat een deel van die groei dekt.

Waar dit tekortschiet

  • Geen ondertitels, geen transcript. De API transcribeert geen audio. Voor video's zonder ondertitels heb je een andere bron nodig, zoals een spraak-naar-tekstdienst, die je apart betaalt. Sommige andere transcript-API's bieden een audio-terugvaloptie, zie de vergelijking van YouTube-transcript-API's.
  • Automatisch gegenereerde ondertitels bevatten fouten. Namen en jargon lijden meestal het meest. Het antwoord zegt of een spoor automatisch is gegenereerd, dus je kunt zulke stukken zwaarder laten wegen of markeren.
  • De taal is die van het ondertitelspoor. Het antwoord meldt de echte taal, ga er dus niet van uit dat die overeenkomt met wat je vroeg.
  • De doorvoer is per sleutel begrensd. Een heel grote inhaalslag is een kwestie van uren, niet van seconden.
  • Het geeft alleen transcripts terug. Opdelen, embedden en terugzoeken is jouw werk. Heb je alleen de samenvatting van één video nodig, gebruik dan de YouTube-samenvatter.

Bronnen

Veelgestelde vragen

Hoeveel kost het om 10.000 YouTube-transcripts op te halen?

Hooguit 20.000 credits, want elk transcript is 2 credits. Met het pakket van 5.000 credits voor $74.99 ($0.030 per transcript) is dat ongeveer $300. Video's zonder transcript kosten niets, dus het werkelijke totaal kan lager uitvallen.

Wat gebeurt er als mijn saldo tijdens een lange taak op raakt?

Met automatisch bijladen aan wordt de opgeslagen kaart belast voor nog een pakket zodra het saldo onder het gekozen niveau zakt, zodat de taak doorloopt. Zonder stoppen de verzoeken wanneer de credits op zijn.

Hoe voorkom ik dat een bug mijn rekening opdrijft?

Stel een maandelijks bijlaadbudget en een maandelijkse creditlimiet in. Als de creditlimiet is bereikt, geven verzoeken 402 budget_exceeded. Je kunt ook e-mailmeldingen krijgen bij een laag saldo, bij 80% van de maandlimiet en bij mislukte bijladingen.

Wat is de snelheidslimiet?

60 verzoeken per minuut per sleutel, met tot 5 actieve sleutels. Bij één verzoek per seconde duren 10.000 video's met één sleutel minder dan drie uur.

Wat met video's zonder ondertitels?

Ze geven 404 no_transcript en kosten niets. De API transcribeert geen audio, dus voor die video's heb je een andere bron nodig.

Vat nu een YouTube-video samen

Plak een link en krijg de kernpunten met klikbare tijdstempels.

ragyoutube transcript apiai-appautomatisch bijladenapi-budget

Gerelateerd

Nieuwste berichten

Vat elke YouTube-video in seconden samen

Probeer sum.video