Transcript Dock versus youtube-transcript-api
youtube-transcript-api é uma biblioteca Python gratuita que o YouTube bloqueia em IPs de nuvem. Quando vale a pena pagar por uma API hospedada, e como trocar em poucas linhas.
Atualizado em
Resposta curta: continue usando o youtube-transcript-api em scripts e notebooks na sua própria conexão; ele é grátis e bom. Mude para uma API hospedada quando ele rodar em um servidor, porque o YouTube bloqueia a maioria dos endereços IP de nuvem, e a biblioteca passa a precisar de um proxy residencial pago. Uma API hospedada também cobre TikTok e vídeos sem legendas.
Lado a lado#
| Recurso | Transcript Dock | youtube-transcript-api |
|---|---|---|
| O que é | API hospedada e servidor MCP | Biblioteca Python de código aberto (MIT) |
| Fontes | YouTube, TikTok, arquivos enviados, links diretos de mídia | YouTube |
| Roda na nuvem | Sim, nada para configurar | Precisa de um proxy residencial rotativo |
| Sem legendas | Transcrição por IA nos planos pagos | Não suportado |
| Exportação | TXT, SRT, VTT, JSON | Formatadores de texto, JSON, SRT e WebVTT |
| Tradução | Escolha um idioma de legenda existente | Tradução automática do YouTube |
| Custo | 1 crédito por transcrição; 50 grátis por mês | Grátis, mais os custos do proxy na nuvem |
O problema dos IPs de nuvem#
O README da biblioteca diz que o YouTube começou a bloquear a maioria dos IPs conhecidos por pertencer a provedores de nuvem, e as chamadas passam a falhar com RequestBlocked ou IpBlocked. A solução sugerida é um proxy residencial rotativo, que é outra conta para pagar e outra coisa para monitorar. O Transcript Dock cuida dessa parte para você, e você paga por transcrição, e não por gigabyte de tráfego de proxy.
Trocar leva poucas linhas#
Os segmentos voltam com start e end em segundos, muito parecidos com os snippets da biblioteca.
# 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": "..."}
Qual escolher#
- Escolha a biblioteca para só YouTube, em volume pequeno, no seu notebook ou em um servidor doméstico.
- Escolha o Transcript Dock para produção em um host de nuvem, para TikTok, para vídeos sem legendas, para exportação de legendas ou para dar ao Claude e ao Cursor acesso pelo MCP.
Mais opções estão em como obter a transcrição de um vídeo do YouTube.