transcribe.so API · v1

Speech-to-text as a Bearer token.

Same engine that powers transcribe.so, accessed through a single HTTP endpoint. One API key, per-minute pricing, no setup. Built for scripts, pipelines, and anything you'd rather not paste files into a browser for.

Send your first request

Three lines of glue. Drops directly into a script, a Cloudflare Worker, or n8n.

curl -X POST https://transcribe.so/api/v1/transcriptions \
  -H "Authorization: Bearer tsk_live_REPLACE_ME" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "external_url",
    "url": "https://example.com/podcast.mp3",
    "pipeline_code": "qwen3-asr-flash-filetrans",
    "language": "auto"
  }'

# Then poll until status === "completed":
curl https://transcribe.so/api/v1/transcriptions/tr_4821 \
  -H "Authorization: Bearer tsk_live_REPLACE_ME"

Pricing

Same per-minute rates as the dashboard. Billed against your wallet — monthly credit first, then top-up balance. No separate API quota, no surprise minimums.

ModelPipeline codePer minutePer hour
GPT-4o Transcribe (timestamps + diarization) + AI analysisgpt-4o-transcribe-diarize$0.0647$3.88
Qwen3-ASR-Flash-Filetrans (timestamps) + AI analysisqwen3-asr-flash-filetrans$0.0285$1.71
Voxtral Mini Transcribe with Diarization + AI Analysisvoxtral-mini-transcribe$0.0296$1.78

Bearer auth, nothing else

One header. No cookies, no CSRF, no SDK. curl works.

Same wallet as the dashboard

Monthly credit first, then top-up. Spend tracked per key for visibility — revoke one if it goes rogue, the rest keep working.

Idempotent POSTs

Send the same Idempotency-Key twice and you get the same response twice. Retries are safe.

Async with polling

Submit, get a transcription ID, poll GET /transcriptions/:id until it's done. Webhooks coming next.

Multilingual + diarization

Whisper, Qwen3-ASR-Flash, Voxtral, GPT-4o-transcribe-diarize. Pick the model per request — the same ones you use in the dashboard.

Resumable uploads soon

v1 ships with external-URL transcription. Direct file uploads via a presigned S3 URL land in the next release.

Ready to ship?

Create a key, paste it into your script, and you're transcribing inside a minute. We'll keep your wallet topped up; you keep the audio flowing.