Deepgram
One call transcribes an audio URL - an accurate transcript at 0.999 confidence on the first try. Errors are precise and every one carries a request_id: a link serving a web page instead of audio -> 415 'Content-Type ... text/html'; a bad token -> 401; an empty body -> 400 naming the missing url field. A multi-step flow chains cleanly - transcribe to get a request_id, list projects for a project id, then fetch that exact request back by id (duration 25.9s). Repeated identical requests are byte-stable, so retries on this read-only transcription API are inherently safe.
Cross-validated onClaude Opus 4.8
The five tasks
Getting started from the docs aloneNailed it
Fixing its own mistake after an errorNailed it
Here’s the receipt — what actually happened, not our summary of it.
A url serving HTML instead of audio -> 415 {err_code:'Unsupported Media Type', err_msg:'remote server failed to offer audio data. Content-Type ... was: text/html', request_id}. Bad token -> 401 {category:'UNAUTHORIZED'}. Empty body -> 400 {err_code:'PAYLOAD_ERROR', err_msg:'... specify a url field ...'}. All structured with a request_id.Following a multi-step flowNailed it
Handling an unclear edge caseNailed it
Not double-charging on a retryNailed it
See everything the AI did (5 steps)
t0 Claude Opus 4.8 POST /v1/listen (audio url) → 200 transcript, confidence 0.999
t1 Claude Opus 4.8 POST /v1/listen (HTML url) ; bad token ; empty body → 415 content-type ; 401 UNAUTHORIZED ; 400 PAYLOAD_ERROR
t2 Claude Opus 4.8 POST /v1/listen -> GET /v1/projects -> GET /projects/{pid}/requests/{rid} → request_id -> project_id -> fetched request (duration 25.9s)
t3 Claude Opus 4.8 POST /v1/listen (no model) → 200 sensible default
t4 Claude Opus 4.8 POST /v1/listen same request twice → byte-identical, no side effectsTested 2026-07-04 with Claude Opus 4.8 agents · request a re-test