ScenarierAv Péter Nagy

YouTube-transkriptioner för en RAG-app i stor skala: krediter, automatisk påfyllning och budgetar

En utvecklare hämtar in 10,000 YouTube-videor i en RAG-app. Se kostnaden, hastighetsgränsens matematik och hur automatisk påfyllning och budgetar håller utgifterna förutsägbara.

Sammanfatta en YouTube-video nu

Klistra in en länk och få nyckelpunkterna med klickbara tidsstämplar.

Om din RAG- eller AI-app behöver YouTube-transkriptioner i stor skala är den praktiska lösningen ett transkript-API med betalning efter användning och förbetalda krediter, en automatisk påfyllning så att ett långt inhämtningsjobb aldrig stannar, och en månadsbudget så att en bugg inte kan driva upp en räkning. Den här genomgången följer en utvecklare genom upplägget med sum.videos transkript-API.

Situationen

Maya bygger en forskningsassistent som svarar på frågor om konferensföredrag. Hennes index ska täcka ungefär 10,000 YouTube-videor från några hundra kanaler och sedan växa med omkring 300 nya videor i månaden. Hon kör inhämtningen från en liten server och vill varken passa den eller överraskas av en faktura.

Hennes krav är enkla: förutsägbar kostnad, ingen manuell påfyllning mitt i ett jobb och ren hantering av videor som saknar transkription.

Vad hon behöver

  • Ren text för varje video, redo att delas upp och bäddas in.
  • Tidsstämplar, så att ett svar kan länka till exakt rätt ögonblick i videon.
  • En kostnad hon kan uppskatta innan hon börjar.
  • Ett hårt tak för utgifterna.

Sammanfatta en YouTube-video nu

Klistra in en länk och få nyckelpunkterna med klickbara tidsstämplar.

Steg för steg

1. Uppskatta kostnaden först

En transkription kostar 2 krediter, och förfrågningar som inte returnerar någon transkription kostar ingenting. För 10,000 videor blir det högst 20,000 krediter. Med paketet på 5,000 krediter för $74.99 ($0.030 per transkription) kostar 10,000 transkriptioner omkring $300 totalt, lite mindre om vissa videor saknar undertexter. De mindre paketen kostar mer per transkription: $0.090 för 100 krediter, $0.056 för 500, $0.038 för 2,000. Prissidan har de aktuella uppgifterna.

Krediter köps en gång och löper aldrig ut, så ingen prenumerationsklocka tickar medan hon bygger.

2. Testa med gratiskrediterna

Hennes första API-nyckel kommer med 10 gratiskrediter, alltså 5 transkriptioner. Hon använder dem för att kontrollera svaret för några videor i formatet json (segment med offset och duration i sekunder) och i formatet text. Vill du ha detaljerna om förfrågan har guiden så får du en YouTube-transkription med ett API fungerande exempel i curl, Python och JavaScript.

3. Ställ in automatisk påfyllning

I API-panelen slår hon på automatisk påfyllning. Regeln: när saldot understiger en vald nivå debiteras det sparade kortet för ett nytt paket. Inhämtningsjobbet fortsätter över natten utan manuell påfyllning.

4. Ställ in budgetarna

Två gränser skyddar henne:

  • En månatlig påfyllningsbudget, som sätter tak för hur mycket automatisk påfyllning får kosta under en månad.
  • En månatlig kreditgräns. När den nås returnerar vidare förfrågningar 402 budget_exceeded.

Hon slår också på e-postaviseringar för lågt saldo, för 80 % av månadsgränsen och för misslyckade påfyllningar. Aviseringarna berättar om ett problem medan det fortfarande finns tid att agera.

5. Respektera hastighetsgränsen

Varje nyckel tillåter 60 förfrågningar per minut. I den takten tar 10,000 förfrågningar omkring 167 minuter, under tre timmar med en enda nyckel. Hon kör en enkel kö som skickar en förfrågan per sekund, så att hon håller sig under gränsen utan stötar. Hon kan skapa upp till 5 aktiva nycklar, till exempel en för inhämtningen och en för appens liveuppslag, så att en komplettering av historiken aldrig blockerar en användares förfrågan.

6. Hantera videor utan transkription

API:et returnerar bara befintliga YouTube-undertexter. Livesändningar, privata eller borttagna videor och videor utan undertexter returnerar 404 no_transcript. I hennes kö betyder den statusen markera som överhoppad och gå vidare, försök aldrig igen. Eftersom de förfrågningarna inte kostar något bränner en kanal full av videor utan undertexter inte hennes budget.

Hennes loop, i pseudokod:

  1. Ta nästa video-ID från kön.
  2. Anropa API:et med format=json.
  3. Vid lyckat resultat: dela upp segmenten i bitar på ungefär en minut, spara varje bit med dess start-offset och bädda in den.
  4. Vid 404 no_transcript: spara en flagga "ingen transkription".
  5. Vid 402 budget_exceeded: pausa kön och larma sig själv.
  6. Vid serverfel: försök igen efter en fördröjning.

7. Kontrollera saldot i koden

Före varje stor batch anropar hon GET /api/v1/credits. Om saldot är lägre än batchen behöver och automatisk påfyllning är avstängd vägrar jobbet att starta. Det är ett billigt skydd mot en halvfärdig import.

Vad hon får

Efter första natten innehåller indexet transkriptionerna för nästan alla 10,000 videor, varje bit med sin starttid. När en användare ställer en fråga citerar assistenten ett föredrag och en tidsstämpel, och länken öppnar videon vid det ögonblicket. Den löpande kostnaden är liten: 300 nya videor i månaden är högst 600 krediter, ungefär $18 till paketpriset för 5,000 krediter på $0.030 per transkription.

Om Maya hade Pro skulle hon dessutom få 100 bonuskrediter varje månad, vilket täcker en del av den tillväxten.

Var det inte räcker till

  • Inga undertexter, ingen transkription. API:et transkriberar inte ljud. För videor utan undertexter behöver du en annan källa, till exempel en tal-till-text-tjänst, som du betalar för separat. Vissa andra transkript-API:er erbjuder en ljudreserv, se jämförelsen av YouTube-transkript-API:er.
  • Automatiska undertexter innehåller fel. Namn och facktermer drabbas oftast. Svaret anger om ett spår är automatiskt genererat, så du kan ge de bitarna mindre vikt eller flagga dem.
  • Språket är undertextspårets språk. Svaret anger det verkliga språket, så anta inte att det stämmer med det du bad om.
  • Genomströmningen är begränsad per nyckel. En mycket stor komplettering är en fråga om timmar, inte sekunder.
  • Det returnerar bara transkriptioner. Uppdelning, inbäddning och sökning är ditt jobb. Behöver du bara sammanfattningen av en video, använd YouTube-sammanfattaren.

Källor

Vanliga frågor och svar

Vad kostar det att hämta 10,000 YouTube-transkriptioner?

Högst 20,000 krediter, eftersom varje transkription är 2 krediter. Med paketet på 5,000 krediter för $74.99 ($0.030 per transkription) blir det omkring $300. Videor utan transkription kostar ingenting, så den verkliga summan kan bli lägre.

Vad händer när saldot tar slut under ett långt jobb?

Med automatisk påfyllning på debiteras det sparade kortet för ett nytt paket när saldot understiger den nivå du valt, så jobbet fortsätter. Utan den stannar förfrågningarna när krediterna är slut.

Hur hindrar jag en bugg från att driva upp min räkning?

Ställ in en månatlig påfyllningsbudget och en månatlig kreditgräns. När kreditgränsen nås returnerar förfrågningar 402 budget_exceeded. Du kan också få e-postaviseringar vid lågt saldo, vid 80 % av månadsgränsen och vid misslyckade påfyllningar.

Vad är hastighetsgränsen?

60 förfrågningar per minut och nyckel, med upp till 5 aktiva nycklar. Med en förfrågan per sekund tar 10,000 videor under tre timmar med en enda nyckel.

Hur är det med videor utan undertexter?

De returnerar 404 no_transcript och kostar ingenting. API:et transkriberar inte ljud, så du behöver en annan källa för de videorna.

Sammanfatta en YouTube-video nu

Klistra in en länk och få nyckelpunkterna med klickbara tidsstämplar.

ragyoutube transkript apiai-appautomatisk påfyllningapi-budget

Relaterad läsning

Senaste inläggen

Sammanfatta vilken YouTube-video som helst på några sekunder

Prova sum.video