transcribe.so

Transcribe videos de YouTube, podcasts, reuniones y archivos en transcripciones con etiquetas de hablante y marcas de tiempo. Busca quién dijo qué, haz preguntas con citas, exporta capítulos, subtítulos y leyendas. Servidor remoto alojado con OAuth.

Servidor MCP alojado

npx add-mcp 'https://transcribe.so/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

transcribe-agent

Haz que cualquier agente transcriba. Un solo repositorio con tres formas de acceso: una CLI de JSON puro (transcribe-so), una habilidad de agente para npx skills add, y un plugin de Claude Code que incluye el servidor MCP remoto de transcribe.so.

transcribe.so convierte videos de YouTube, podcasts, URLs de medios directas y archivos locales en transcripciones con etiquetas de hablante, segmentos con marcas de tiempo, capítulos, secciones, preguntas y respuestas citadas, archivos de subtítulos (SRT, VTT, karaoke VTT), exportaciones completas de transcripciones, búsqueda de segmentos y subtítulos listos para pegar en Instagram, X, Threads, LinkedIn, YouTube, Spotify y Apple Podcasts.

Instalación

Mantén a un humano en el circuito: cada llamada de pago tiene un límite máximo de max_charge_usd, y una cotización gratuita viene primero.

1. Habilidad de agente (Claude Code, OpenClaw, cualquier agente compatible con skills.sh)

npx skills add shsunmoonlee/transcribe-agent

Esto instala SKILL.md, que enseña al agente el flujo de trabajo de la CLI, las reglas estrictas y los códigos de salida.

2. Plugin de Claude Code (servidor MCP remoto + habilidades + comando /transcribe)

/plugin marketplace add shsunmoonlee/transcribe-agent
/plugin install transcribe-so@transcribe-agent

El plugin conecta a Claude con el servidor MCP remoto en https://transcribe.so/mcp (21 herramientas) e incluye las habilidades transcribe-audio y get-transcript además de un comando de un solo uso /transcribe. La primera llamada a una herramienta activa el flujo de navegador OAuth; alternativamente, autentícate con una clave de API tsk_live_* a través de /mcp.

3. CLI (cualquier script, trabajo cron o agente con shell)

npm install -g transcribe-so     # or: pnpm install -g transcribe-so
export TRANSCRIBE_API_KEY=tsk_live_...   # https://transcribe.so/settings/api-keys
transcribe-so me

Codex

Como plugin (servidor MCP remoto más las habilidades):

codex plugin marketplace add shsunmoonlee/transcribe-agent
codex plugin add transcribe-so@transcribe-agent

O solo el servidor MCP:

codex mcp add transcribe --url https://transcribe.so/mcp

Codex abre el flujo OAuth en la primera llamada a una herramienta. El plugin incluye .codex-plugin/plugin.json y .agents/plugins/marketplace.json.

Grok

Este repositorio incluye .grok-plugin/plugin.json; Grok Build lee el .mcp.json y skills/ raíz de él.

Cursor

Desde el marketplace o el panel de Personalización: busca transcribe-so y haz clic en Instalar. O agrégalo a .cursor/mcp.json manualmente:

{"mcpServers":{"transcribe":{"url":"https://transcribe.so/mcp"}}}

Gemini CLI

gemini extensions install https://github.com/shsunmoonlee/transcribe-agent

La extensión incluye gemini-extension.json, que apunta a Gemini CLI al servidor MCP alojado. Abre un navegador para iniciar sesión en el primer uso.

ChatGPT

Configuración, Conectores, Modo desarrollador, y luego agrega https://transcribe.so/mcp. O usa el Custom GPT público vinculado desde https://transcribe.so/agent, que no requiere configuración.

OpenClaw y cualquier agente de skills.sh

npx skills add shsunmoonlee/transcribe-agent

El mismo comando que la entrada 1 anterior: la habilidad es independiente del tiempo de ejecución y enseña el flujo de trabajo de la CLI, las reglas estrictas y los códigos de salida.

CLI en 30 segundos

# Price it (free), then transcribe under an explicit budget
transcribe-so quote --source youtube --url "https://www.youtube.com/watch?v=..."
transcribe-so run   --source youtube --url "https://www.youtube.com/watch?v=..." --max-usd 2

# Local file
transcribe-so upload ./interview.mp3         # prints upload_id (+ ffprobe duration)
transcribe-so run --source upload --upload-id <id> --duration <s> --max-usd 5

# Artifacts
transcribe-so result <id> | jq '.chapters[]'
transcribe-so transcript <id> > out.txt                      # the whole transcript, never capped
transcribe-so subtitles <id> --format srt > out.srt
transcribe-so captions <id> --for instagram --variant highlights
transcribe-so search "pricing" | jq -r '.hits[] | "\(.speaker): \(.text)"'
transcribe-so ask <id> -q "What did the guest say about pricing?"

Comandos

ComandoQué hace
auth:status¿Es válido TRANSCRIBE_API_KEY?
meCuenta, saldo de la billetera, límites del plan, alcances de la clave de API y gasto
capabilitiesUn objeto JSON: cuenta + catálogo de pipeline + cada enumeración de formato + códigos de salida
pipelinesPrecios por minuto e idiomas compatibles
quoteVista previa de precio gratuita (no pone nada en cola)
createEnvía un trabajo. --max-charge-usd <n> limita el cargo en el servidor
runcotización → puerta de presupuesto → crear → esperar → resultado, en un solo comando
wait <id>Sondeo largo hasta un estado terminal
result <id>Capítulos, secciones, preguntas y respuestas (--include, --segments-offset, --segments-limit)
transcript <id>Crudo: la transcripción completa, txt o md, nunca limitada
subtitles <id>Crudo: SRT / VTT / karaoke VTT / JSON
captions <id> --for <dest>Crudo: subtítulo listo para pegar o marcas de tiempo de capítulos por plataforma
search <q>"Quién dijo X, y cuándo", en toda la biblioteca o con alcance --id
ask <id> -q "..."Preguntas y respuestas citadas (asignación diaria, nunca la billetera)
list / get <id>Explorar trabajos; instantánea de estado/etapa/progreso
upload <file>PUT prefirmado para un archivo local; imprime upload_id
retry <id> --yesNuevo intento de pago (pasa --max-charge-usd de nuevo)
delete <id> --yesIrreversible

Contrato de diseño, hecho para agentes:

  • stdout es JSON en todas partes excepto en los tres comandos de salida cruda — subtitles, transcript y captions (sin --json) — que imprimen un cuerpo que puedes canalizar a un archivo. Los errores son siempre el sobre JSON. Todo el progreso va a stderr, por lo que | jq . siempre funciona.
  • Los códigos de salida son significativos: 0 ok, 1 error de API, 2 uso, 3 autenticación, 4 pago, 5 transitorio, 6 rechazo de presupuesto local --max-usd, 7 en el servidor max_charge_exceeded (nada cobrado, ningún trabajo iniciado).
  • Dos presupuestos, ambos explícitos: run --max-usd rechaza localmente desde la cotización gratuita; --max-charge-usd se envía a la API y se aplica en la retención de la billetera. run envía su --max-usd como límite del servidor también a menos que pases --no-server-ceiling.
  • create/run/quote/retry siempre envían un Idempotency-Key. Pasa --idempotency-key explícitamente para hacer un reintento seguro entre procesos — la clave generada automáticamente es por invocación, por lo que volver a ejecutar un comando es una segunda clave y un segundo cargo.
  • Un 409 not_ready se procesa según su reason: solo transcription_processing se reintenta alguna vez.
  • La CLI se niega a enviar tu clave de API a un host no predeterminado a menos que pases --allow-custom-host.

Referencia completa de comandos y reglas de flujo de trabajo: SKILL.md. Notas de versión: CHANGELOG.md. Ejemplos trabajados: examples/.

Precios

La transcripción se factura por minuto desde tu billetera de transcribe.so; las cotizaciones son gratuitas (quote antes de comprometerte). Los renders de clips cuestan $0.05 por cada 60 s iniciados. Las preguntas y respuestas en vivo usan una asignación diaria, nunca la billetera. Detalles: https://transcribe.so/pricing

Política de privacidad

Esta herramienta envía las URLs de medios, archivos subidos y preguntas que proporcionas a transcribe.so para su procesamiento. Consulta la política de privacidad de transcribe.so en https://transcribe.so/privacy-policy para obtener información sobre recopilación de datos, uso, almacenamiento, retención e información de contacto. La CLI o el plugin no recopilan datos más allá de lo que transmiten la API y las herramientas MCP.

Enlaces