Transcript Dock vs youtube-transcript-api
youtube-transcript-api es una biblioteca de Python gratuita que YouTube bloquea desde las IP de la nube. Cuándo vale la pena pagar por una API alojada y cómo cambiar en unas pocas líneas.
Actualizado
Respuesta corta: sigue usando youtube-transcript-api para scripts y notebooks en tu propia conexión; es gratis y buena. Pasa a una API alojada cuando se ejecute en un servidor, porque YouTube bloquea la mayoría de las direcciones IP de la nube y entonces la biblioteca necesita un proxy residencial de pago. Una API alojada también cubre TikTok y los videos sin subtítulos.
Lado a lado#
| Característica | Transcript Dock | youtube-transcript-api |
|---|---|---|
| Qué es | API alojada y servidor MCP | Biblioteca de Python de código abierto (MIT) |
| Fuentes | YouTube, TikTok, archivos subidos, enlaces directos a medios | YouTube |
| Funciona desde la nube | Sí, no hay nada que configurar | Necesita un proxy residencial rotativo |
| Sin subtítulos | Transcripción con IA en los planes de pago | No es compatible |
| Exportaciones | TXT, SRT, VTT, JSON | Formateadores de texto, JSON, SRT y WebVTT |
| Traducción | Eliges un idioma de subtítulos que ya exista | La traducción automática de YouTube |
| Costo | 1 crédito por transcripción; 50 gratis cada mes | Gratis, más los costos del proxy en la nube |
El problema de las IP de la nube#
El README de la biblioteca dice que YouTube ha empezado a bloquear la mayoría de las IP que se sabe que pertenecen a proveedores de nube, y que las llamadas fallan entonces con RequestBlocked o IpBlocked. La solución que sugiere es un proxy residencial rotativo, que es una segunda factura y una segunda cosa que monitorear. Transcript Dock se encarga de esa parte por ti, y pagas por transcripción en lugar de por gigabyte de tráfico del proxy.
Cambiar toma unas pocas líneas#
Los segmentos llegan con start y end en segundos, muy parecidos a los snippets de la 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": "..."}
Cuál elegir#
- Elige la biblioteca si solo necesitas YouTube, con volumen pequeño, desde tu laptop o un servidor casero.
- Elige Transcript Dock para producción en un host en la nube, TikTok, videos sin subtítulos, exportación de subtítulos, o para dar acceso a Claude y Cursor mediante MCP.
Hay más opciones en cómo obtener la transcripción de un video de YouTube.