Transcript Dock jämfört med youtube-transcript-api
youtube-transcript-api är ett gratis Python-bibliotek som YouTube blockerar på molnadresser. När ett hostat API är värt pengarna, och hur du byter på några rader.
Uppdaterad
Kort svar: fortsätt använda youtube-transcript-api för skript och notebooks på din egen uppkoppling. Det är gratis och bra. Gå över till ett hostat API när biblioteket körs på en server, eftersom YouTube blockerar de flesta molnadresser och biblioteket då behöver en betald residential-proxy. Ett hostat API täcker dessutom TikTok och videor utan undertexter.
Sida vid sida#
| Funktion | Transcript Dock | youtube-transcript-api |
|---|---|---|
| Vad det är | Hostat API och MCP-server | Python-bibliotek med öppen källkod (MIT) |
| Källor | YouTube, TikTok, filuppladdningar, direkta medielänkar | YouTube |
| Körs från molnet | Ja, inget att konfigurera | Kräver en roterande residential-proxy |
| Inga undertexter | AI-transkription i betalda abonnemang | Stöds inte |
| Exporter | TXT, SRT, VTT, JSON | Formaterare för text, JSON, SRT, WebVTT |
| Översättning | Välj ett befintligt undertextspråk | YouTubes automatiska översättning |
| Kostnad | 1 kredit per transkript; 50 gratis varje månad | Gratis, plus proxykostnader i molnet |
Problemet med molnadresser#
Bibliotekets README anger att YouTube har börjat blockera de flesta IP-adresser som är kända för att tillhöra molnleverantörer. Anrop misslyckas då med RequestBlocked eller IpBlocked. Lösningen som föreslås är en roterande residential-proxy, vilket innebär en extra faktura och en extra sak att övervaka. Transcript Dock sköter den delen åt dig, och du betalar per transkript i stället för per gigabyte proxytrafik.
Att byta tar några rader#
Segmenten kommer tillbaka med start och end i sekunder, nära bibliotekets utdrag.
# beforefrom youtube_transcript_api import YouTubeTranscriptApisnippets = YouTubeTranscriptApi().fetch("dQw4w9WgXcQ")# afterimport requestsAPI, H = "https://www.transcriptdock.com", {"Authorization": "Bearer td_live_YOUR_KEY"}job = requests.post(f"{API}/v1/jobs", headers={**H, "Idempotency-Key": "yt-dQw4w9WgXcQ"},json={"source": {"url": "https://youtu.be/dQw4w9WgXcQ"}, "mode": "captions_only"}).json()while job["status"] not in ("succeeded", "failed", "cancelled"):job = requests.get(f"{API}/v1/jobs/{job['id']}", params={"wait": 25}, headers=H).json()segments = requests.get(f"{API}/v1/transcripts/{job['result_id']}", headers=H).json()["segments"]# each segment: {"start": 0.0, "end": 2.4, "text": "..."}
Vilket du ska välja#
- Välj biblioteket om det bara gäller YouTube, en liten volym, från din bärbara dator eller en hemserver.
- Välj Transcript Dock för produktion på en molnserver, TikTok, videor utan undertexter, undertextexporter eller för att ge Claude och Cursor åtkomst via MCP.
Fler alternativ finns i så här hämtar du ett YouTube-transkript.