transcribe.so

Transcreva vídeos do YouTube, podcasts, reuniões e arquivos em transcrições com identificação de falantes e timestamps. Pesquise quem disse o quê, faça perguntas com citações, exporte capítulos, legendas e subtítulos. Servidor remoto hospedado com OAuth.

Servidor MCP hospedado

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

Instala no Claude Code, Codex, Cursor e outros

Documentação

transcribe-agent

Faça qualquer agente transcrever. Um repositório com três formas de uso: uma CLI em JSON puro (transcribe-so), uma skill de agente para npx skills add, e um plugin para Claude Code que agrupa o servidor MCP remoto transcribe.so.

O transcribe.so transforma vídeos do YouTube, podcasts, URLs de mídia diretas e arquivos locais em transcrições com identificação de falantes, segmentos com timestamps, capítulos, seções, Q&A com citações, arquivos de legenda (SRT, VTT, karaokê VTT), exportações completas de transcrição, busca por segmentos e legendas prontas para colar no Instagram, X, Threads, LinkedIn, YouTube, Spotify e Apple Podcasts.

Instalação

Mantenha um humano no circuito: toda chamada paga tem um teto de max_charge_usd, e um orçamento gratuito vem primeiro.

1. Skill de agente (Claude Code, OpenClaw, qualquer agente compatível com skills.sh)

npx skills add shsunmoonlee/transcribe-agent

Isso instala o SKILL.md, que ensina ao agente o fluxo de trabalho da CLI, regras rígidas e códigos de saída.

2. Plugin para Claude Code (servidor MCP remoto + skills + comando /transcribe)

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

O plugin conecta o Claude ao servidor MCP remoto em https://transcribe.so/mcp (21 ferramentas) e agrupa as skills transcribe-audio e get-transcript além de um comando /transcribe de uso único. A primeira chamada de ferramenta aciona o fluxo de autenticação OAuth no navegador; alternativamente, autentique com uma chave de API tsk_live_* via /mcp.

3. CLI (qualquer script, tarefa agendada ou agente com 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 mais as skills):

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

Ou apenas o servidor MCP:

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

O Codex abre o fluxo OAuth na primeira chamada de ferramenta. O plugin inclui .codex-plugin/plugin.json e .agents/plugins/marketplace.json.

Grok

Este repositório inclui .grok-plugin/plugin.json; o Grok Build lê o .mcp.json e o skills/ da raiz a partir dele.

Cursor

Pelo marketplace ou pelo painel Personalizar: encontre transcribe-so e clique em Instalar. Ou adicione manualmente ao .cursor/mcp.json:

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

Gemini CLI

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

A extensão inclui gemini-extension.json, que aponta o Gemini CLI para o servidor MCP hospedado. Ele abre um navegador para login no primeiro uso.

ChatGPT

Configurações, Conectores, Modo desenvolvedor, e então adicione https://transcribe.so/mcp. Ou use o GPT personalizado público vinculado a https://transcribe.so/agent,, que não requer configuração.

OpenClaw e qualquer agente skills.sh

npx skills add shsunmoonlee/transcribe-agent

Mesmo comando da entrada 1 acima: a skill é independente de runtime e ensina o fluxo de trabalho da CLI, regras rígidas e códigos de saída.

CLI em 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

ComandoO que faz
auth:statusO TRANSCRIBE_API_KEY é válido?
meConta, saldo da carteira, limites do plano, escopos da chave de API e gastos
capabilitiesUm objeto JSON: conta + catálogo de pipelines + todos os enums de formato + códigos de saída
pipelinesPreço por minuto e idiomas suportados
quotePrévia de preço gratuita (não enfileira nada)
createEnvia um job. --max-charge-usd <n> limita a cobrança no servidor
runorçamento → gate de orçamento → criar → aguardar → resultado, em um comando
wait <id>Long-poll até um status terminal
result <id>Capítulos, seções, Q&A (--include, --segments-offset, --segments-limit)
transcript <id>Bruto: a transcrição completa, txt ou md, nunca limitada
subtitles <id>Bruto: SRT / VTT / karaokê VTT / JSON
captions <id> --for <dest>Bruto: legenda pronta para colar ou timestamps de capítulo por plataforma
search <q>"Quem disse X, e quando", em toda a biblioteca ou com escopo em --id
ask <id> -q "..."Q&A com citações (cota diária, nunca a carteira)
list / get <id>Navegar pelos jobs; snapshot de status/etapa/progresso
upload <file>PUT pré-assinado para um arquivo local; imprime upload_id
retry <id> --yesNova tentativa paga (passe --max-charge-usd novamente)
delete <id> --yesIrreversível

Contrato de design, feito para agentes:

  • stdout é JSON em todos os lugares, exceto nos três comandos de saída bruta — subtitles, transcript e captions (sem --json) — que imprimem um corpo que você pode redirecionar para um arquivo. Erros são sempre o envelope JSON. Todo o progresso vai para stderr, então | jq . sempre funciona.
  • Códigos de saída são significativos: 0 ok, 1 erro de API, 2 uso, 3 autenticação, 4 pagamento, 5 transitório, 6 recusa local do orçamento --max-usd, 7 max_charge_exceeded no servidor (nada cobrado, nenhum job iniciado).
  • Dois orçamentos, ambos explícitos: run --max-usd recusa localmente a partir do orçamento gratuito; --max-charge-usd é enviado à API e aplicado na retenção da carteira. run envia seu --max-usd como teto do servidor também, a menos que você passe --no-server-ceiling.
  • create/run/quote/retry sempre enviam um Idempotency-Key. Passe --idempotency-key explicitamente para tornar uma nova tentativa segura entre processos — o gerado automaticamente é por invocação, então reexecutar um comando é uma segunda chave e uma segunda cobrança.
  • Um 409 not_ready é tratado pelo seu reason: apenas transcription_processing é tentado novamente.
  • A CLI se recusa a enviar sua chave de API para um host não padrão, a menos que você passe --allow-custom-host.

Referência completa de comandos e regras de fluxo de trabalho: SKILL.md. Notas de versão: CHANGELOG.md. Exemplos práticos: examples/.

Preços

A transcrição é cobrada por minuto da sua carteira transcribe.so; orçamentos são gratuitos (quote antes de se comprometer). Renderizações de clipes custam US$ 0,05 por 60 s iniciados. O Q&A ao vivo usa uma cota diária, nunca a carteira. Detalhes: https://transcribe.so/pricing

Política de Privacidade

Esta ferramenta envia as URLs de mídia, arquivos enviados e perguntas que você fornece para o transcribe.so para processamento. Consulte a política de privacidade do transcribe.so em https://transcribe.so/privacy-policy para informações sobre coleta, uso, armazenamento, retenção e contato. Nenhum dado é coletado pela CLI ou pelo plugin em si, além do que a API e as ferramentas MCP transmitem.

Links