Docs
API docs.
Pricing
$0.01 per completed audio minute
Billable minutes are rounded down to whole audio minutes, with a 1 minute minimum per completed job.
Start
- Call
POST /v1/transcriptswith any audio URL. - Read
GET /v1/transcripts/{id}/eventsuntilevent: done. - When
result_readyis true, fetchresult_url.
Create transcript
POST /v1/transcripts
Content-Type: application/json
{
"audio_url": "https://example.com/audio-url"
} Add Authorization: Bearer <api_key> to get the full transcript.
{
"id": "tr_123",
"status": "queued",
"mode": "preview",
"status_url": "https://stenobird.com/v1/transcripts/tr_123",
"events_url": "https://stenobird.com/v1/transcripts/tr_123/events",
"result_url": "https://stenobird.com/v1/transcripts/tr_123/result",
"terminal": false,
"result_ready": false,
"retry_after_seconds": 2
}Read events
GET /v1/transcripts/{id}/events
event: transcript
data: {"id":"tr_123","status":"transcribing","stage":"transcribing","text":"Hello and welcome to the show...","chunk_index":0}
event: preview_locked
data: {"id":"tr_123","status":"preview_complete","terminal":true,"result_ready":true,"message":"Preview ended. Add an API key to get the full transcript.","upgrade_url":"https://stenobird.com/pricing"}
event: done
data: {"id":"tr_123","status":"preview_complete","terminal":true,"result_ready":true,"result_url":"https://stenobird.com/v1/transcripts/tr_123/result"} Agents should wait for event: done. If result_ready is true, fetch result_url. If a result fetch returns 409 transcript_not_ready, wait retry_after_seconds and try again.
Checkout
POST /v1/billing/checkout
Content-Type: application/json
{
"email": "[email protected]"
} Send the user to /pricing. After Stripe returns to /success,
Stenobird verifies checkout and shows the API key once.
Supported input
Stenobird handles any audio URL that is publicly reachable.
Not accepted:
https://example.com/article-without-audiohttps://example.com/private-audio-requiring-login
Agent skill
Install the bundled skill to let compatible agents submit audio URLs and stream transcript events directly. Compatible agents: Codex, Claude Code, Pi, Hermes, OpenClaw.
curl -fsSL https://stenobird.com/skills/stenobird-transcribe/install.sh | sh Codex: Use $stenobird-transcribe with this audio: https://www.dwarkesh.com/p/jensen-huang Claude Code, Hermes, OpenClaw: /stenobird-transcribe https://www.dwarkesh.com/p/jensen-huang Pi: /skill:stenobird-transcribe https://www.dwarkesh.com/p/jensen-huang