Saltar al contenido
Transcript Dock
Iniciar sesiónEmpezar gratis

Menú del sitio

Transcript Dock
IntroducciónCómo funciona, guías y qué puedes transcribir.
Inicio rápidoEnvía un enlace, espera el trabajo y exporta la transcripción. Tres solicitudes.
AutenticaciónClaves de API, scopes, Idempotency-Key y X-Request-Id.
TrabajosCrea, espera, lista, cancela y reintenta trabajos.
TranscripcionesEl objeto de transcripción y las exportaciones txt, srt, vtt y json.
LotesHasta 50 videos en una sola solicitud.
CargasTranscribe tus propios archivos de audio y video.
WebhooksRecibe una llamada cuando termina un trabajo o un lote y verifica la firma.
ErroresTodos los códigos de error, qué significan y qué hacer.
Límites de usoEnvíos, trabajos en curso y lecturas por plan, y la respuesta 429.
Precios y créditos1 crédito por transcripción de subtítulos y 2 por minuto de transcripción con IA. Planes y créditos extra.
FuentesYouTube, TikTok, tus archivos y enlaces directos: URL aceptadas y modos.
MCPBusca y transcribe videos desde Claude, Cursor, Windsurf o tu propio agente.
Especificación OpenAPILa especificación OpenAPI 3.1 para generar código y clientes tipados.
Claude CodeUn solo comando agrega Transcript Dock a Claude Code.
App de ClaudeAgrega Transcript Dock como conector personalizado en claude.ai, Claude Desktop o el móvil.
CursorAgrega Transcript Dock como servidor MCP en Cursor.
WindsurfAgrega Transcript Dock a Windsurf para que Cascade pueda buscar y transcribir videos.
OpenClawConecta Transcript Dock a los agentes autónomos de OpenClaw.
19 resultados
Guías

Transcripciones de video para RAG y pipelines de LLM

Convierte videos de YouTube y TikTok en fragmentos que un LLM pueda buscar y citar: obtén segmentos con tiempos, fragmenta por tiempo y conserva los enlaces con marca de tiempo.

Actualizado


Respuesta corta: obtén la transcripción como JSON, no como texto plano. El arreglo segments trae una hora de inicio y de fin para cada línea de subtítulos, así que puedes fragmentar por tiempo y guardar el inicio como metadato. Así, cada respuesta de tu modelo puede enlazar al momento exacto del video.

Por qué los segmentos con tiempos superan al texto plano#

  • Citas: un fragmento que sabe que empieza en el segundo 754 se convierte en un enlace a ese momento.
  • Límites naturales: las líneas de subtítulos terminan en las pausas, así que los fragmentos rara vez cortan una oración por la mitad.
  • Procedencia: source_origin te dice si el texto vino del creador, de los subtítulos automáticos de la plataforma o de la transcripción con IA, y language indica su idioma.

Obtener y fragmentar#

Este código obtiene una transcripción y agrupa los segmentos en ventanas de aproximadamente un minuto. La forma del JSON de la transcripción está documentada en la referencia de la API.

rag_ingest.py
import requests
 
API = "https://www.transcriptdock.com"
H = {"Authorization": "Bearer td_live_YOUR_KEY"}
 
def transcript(url: str) -> dict:
job = requests.post(f"{API}/v1/jobs", headers={**H, "Idempotency-Key": f"rag-{url}"[:128]},
json={"source": {"url": url}, "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()
if job["status"] != "succeeded":
raise RuntimeError(job["error"]["code"])
return requests.get(f"{API}/v1/transcripts/{job['result_id']}", headers=H).json()
 
def chunks(t: dict, seconds: float = 60.0):
"""Group caption segments into windows of about `seconds`, never splitting a segment."""
url = t["source"]["canonical_url"]
buf, start = [], None
for seg in t["segments"]:
if start is None:
start = seg["start"]
buf.append(seg["text"])
if seg["end"] - start >= seconds:
yield {"text": " ".join(buf), "start": start, "url": f"{url}&t={int(start)}s" if "youtube" in url else url}
buf, start = [], None
if buf:
yield {"text": " ".join(buf), "start": start, "url": url}
 
t = transcript("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
for c in chunks(t):
print(c["start"], c["url"], c["text"][:80]) # embed c["text"], store start and url as metadata

Muchos videos#

  • Encuentra los videos con el descubrimiento de videos: búsqueda en YouTube, un canal, una lista de reproducción o un perfil de TikTok.
  • Envíalos como un lote y deja que un webhook avise a tu proceso de ingesta cuando termine cada trabajo, en lugar de consultar el estado una y otra vez.
  • Volver a leer y volver a exportar una transcripción es gratis, y enviar un enlace que ya transcribiste devuelve el resultado guardado, así que volver a ejecutar una ingesta no cuesta el doble.

Agentes que obtienen la transcripción cuando la necesitan#

No todos los pipelines necesitan un índice. Un agente conectado al servidor MCP de Transcript Dock puede llamar a get_video_transcript cuando un usuario menciona un video y leer el texto directamente en su contexto. Para frameworks, consulta LangChain y n8n.