Spoken
Obtenha transcrições de podcasts publicados como Markdown limpo com nomes reais dos palestrantes — pesquise episódios e extraia transcrições via a API do Spoken.
Documentação
Spoken — API de transcrição de podcasts e servidor MCP, Markdown limpo com nomes reais de palestrantes
Spoken é uma API de transcrição que transforma qualquer podcast publicado em Markdown limpo com nomes reais de palestrantes — não "Palestrante 1". Uma única chamada de API retorna texto nomeado e com timestamps, pronto para LLMs, pipelines de RAG, sumarizadores e busca. Este repositório também inclui spoken-mcp, um servidor MCP que oferece ao Claude Desktop, Claude Code, Cursor e Cline as mesmas transcrições como ferramentas — veja Uso como servidor MCP.
É uma API de recuperação de transcrições, não um serviço de fala para texto: ela funciona com podcasts já publicados, então você evita enviar áudio, executar diarização e mapear rótulos anônimos de palestrantes manualmente. Para programas já publicados, isso é tipicamente 5–10× mais barato do que processar o áudio em um serviço de transcrição.
- 🎙️ Nomes reais de palestrantes, resolvidos automaticamente
- 📄 Markdown limpo com timestamps, otimizado para janelas de contexto de LLMs e chunking de RAG
- 🔎 Busca por consulta de texto ou cole um URL do Spotify/YouTube
- 💳 Créditos pagos por uso — sem assinatura, chamadas com falha nunca são cobradas, buscas repetidas são gratuitas
- 🤖 Nativo para agentes — inclui uma Agent Skill,
agents.md,llms.txte uma especificação OpenAPI
Obtenha uma chave em spoken.md — ou experimente gratuitamente com a chave de demonstração pt_demo (a busca funciona totalmente; as transcrições são limitadas ao episódio de demonstração).
Início rápido
# 1. Find an episode (by text, or paste a Spotify/YouTube URL)
curl -s 'https://spoken.md/search?q=huberman+sleep' \
-H 'x-api-key: pt_demo'
# 2. Fetch the transcript as Markdown
curl -s 'https://spoken.md/transcripts/1000651996090' \
-H 'x-api-key: pt_demo'
A transcrição retorna como Markdown com palestrantes nomeados e timestamps:
**John Smith** (0:00)
Welcome to the show. Today we're talking about...
**Jane Doe** (0:15)
Thanks for having me.
Endpoints
| Método e caminho | O que faz | Créditos |
|---|---|---|
GET /search?q={query or URL} | Encontra episódios; retorna id, title, podcast, podcastId, date | 0 |
GET /podcasts/{podcastId}/episodes | Lista o catálogo completo de um programa; retorna o id, title, date de cada episódio | 0 |
GET /transcripts/{id} | Retorna a transcrição em Markdown | 1 na primeira busca, 0 em repetições |
GET /balance | Saldo atual de créditos + histórico de uso | 0 |
GET /following | Os programas que esta chave acompanha (inferidos de buscas, ou declarados com PUT / removidos com DELETE /following/{podcastId}) | 0 |
GET /new | Novos episódios desses programas que ainda não foram buscados, cada um com um URL de transcrição; ?format=atom para um feed | 0 |
POST /buy | Checkout de nova chave (Stripe) | — |
POST /top-up?key={key} | Recarga para clientes existentes (Stripe) | — |
A autenticação é o cabeçalho x-api-key. As respostas incluem X-Credits-Remaining e X-Credits-Charged. Veja agents.md para a tabela completa de erros e formatos de resposta.
Exemplos
examples/podcast_summarizer.py— busca uma transcrição e a resumeexamples/rag_pipeline.py— divide uma transcrição em chunks para um armazenamento vetorial / RAGexamples/quickstart.sh— busca → transcrição em duas chamadas curlexamples/archive-show.sh— arquiva todo o catálogo de um programa, um arquivo por episódio
Uso a partir do Python
O pacote spoken-md encapsula a API sem dependências além da biblioteca padrão e instala um comando spoken-md.
pip install spoken-md
from spoken_md import Spoken
spoken = Spoken() # SPOKEN_API_KEY, or the demo key
episode = spoken.search("huberman sleep")[0]
print(spoken.transcript(episode.id)) # Markdown with real speaker names
archive(podcast_id, skip=...) percorre um programa inteiro e é retomável; erros são tipados por status (PaymentRequired carrega o URL de recarga, NotFound significa que não há transcrição). Veja python/README.md.
Uso como servidor MCP
Este repositório inclui spoken-mcp, um servidor Model Context Protocol que expõe o Spoken a agentes compatíveis com MCP (Claude Desktop, Cursor, Cline, …). Ele fornece oito ferramentas:
| Ferramenta | Descrição |
|---|---|
search_podcasts | Encontra episódios por texto ou um URL colado do Spotify/YouTube |
list_episodes | Lista todo o catálogo de um programa a partir de um podcast_id |
get_transcript | Busca a transcrição de um episódio como Markdown com nomes reais de palestrantes |
get_balance | Verifica créditos restantes |
list_following | Os programas que esta chave mantém atualizados, inferidos de buscas ou declarados |
follow_podcast | Declara um acompanhamento para um programa (ou remove um silenciamento) |
unfollow_podcast | Silencia um programa para que ele saia da lista e buscas não o readicionem |
list_new_episodes | Novos episódios de programas acompanhados que ainda não foram buscados, com links de transcrição |
Manter uma base de conhecimento atualizada é list_new_episodes em um cronograma e get_transcript no que ela lista: cada busca eleva o piso daquele programa.
Adicione-o à configuração do seu cliente MCP (por exemplo, o claude_desktop_config.json do Claude Desktop):
{
"mcpServers": {
"spoken": {
"command": "npx",
"args": ["-y", "spoken-mcp"],
"env": { "SPOKEN_API_KEY": "pt_your_key" }
}
}
}
SPOKEN_API_KEY usa como padrão pt_demo (a busca funciona totalmente; as transcrições são limitadas ao episódio de demonstração). Obtenha uma chave real em spoken.md.
Execute a partir do código-fonte:
npm install && npm run build
SPOKEN_API_KEY=pt_your_key node dist/index.js
Uso com agentes de IA
O Spoken foi projetado para ser chamado por agentes. Aponte seu agente para a Agent Skill (também servida em https://spoken.md/.well-known/skills/spoken-md/SKILL.md), ou entregue a ele agents.md. A especificação OpenAPI facilita o encapsulamento como ferramenta para qualquer cliente compatível com function-calling ou MCP (Claude, GPT, Cursor).
Preços
Créditos pagos por uso, sem assinatura. Novas chaves: 100 por $15, 500 por $50, 2.000 por $160. Legível por máquina em spoken.md/pricing.md.
Links
- Site e documentação: https://spoken.md
- Instruções para agentes: https://spoken.md/agents.md
- Especificação OpenAPI: https://spoken.md/.well-known/openapi.json
- Visão geral amigável para LLMs: https://spoken.md/llms.txt
O Spoken é construído e mantido em spoken.md.