GPT-4o transcription with built-in speaker diarization
12 languages · benchmarked
GPT-4o Transcribe Diarize is a speech-to-text model from OpenAI. In our standardized benchmarks it reaches 14.61% word error rate, ranking #12 of 35 models tested. It supports 12 languages and runs at $0.006/min — mid-range on price.
Its nearest benchmarked alternative is Soniox STT (Async). Best suited for multi-speaker conversations.
Overall Score
50.7
#12 of 35
Word Error Rate
14.61%
Character Error Rate
9.97%
Match Error Rate
13.48%
Word Info Lost
19.86%
Avg Latency
15.2s
Benchmarks Run
33
last 30 runs
Word error rate
14.61%
↓ 18.2% · 30d
3 runs ago
latest
Avg latency
15.2s
↓ 16.0% · 30d
3 runs ago
latest
overall WER · 35 models
GPT-4o Transcribe Diarize
field · 34 models
lower-left is better
8 categories
WER
lower is better
Medical
1.9%
Legal
2.3%
Technical
4.6%
Finance
6.3%
Conversational
12.2%
General
14.5%
Code-Switching
25.5%
Noisy Environment
32.5%
5 accents
Rate
$0.006
/min
Per-second billing. Bring your own provider key and pay your provider directly — a 5% routing fee applies (first 100 min/mo free).
Set up BYOKCost estimator
1 hour
$0.36
10 hours
$3.60
100 hours
$36
1,000 hours
$360
Billed per second of audio processed.
Model ID
openai/gpt-4o-transcribe-diarize
Authenticate every request with your secret API key as a Bearer token. Issue a key from your dashboard.
Use it with your agent
Paste this into Claude Code, Cursor, Codex or any agent with a shell. It installs the CLI and the OpenTranscription skill, then transcribes with this model.
Quickstart
Upload your audio, create a job with this model, then poll the job or set a webhook_url to be notified when it completes.
Key parameters
file_path
string
required
Storage path returned by the upload step.
model
string
required
The model to run this job on.
models
string[]
Ordered fallback chain: primary first, then backups tried in order if a provider fails.
language
string
ISO 639-1 language code. Omit to auto-detect.
diarization
boolean
Label speakers (A, B, …) in the output.
webhook_url
string
HTTPS URL notified with the result when the job completes. Delivered events are signed (X-OT-Signature).
title
string
Display name for this job in the dashboard. Falls back to the file name.
Response
A completed job returns the transcript in the OpenTranscription Unified Schema (OTUS).
Webhooks — skip polling
We POST a signed event to your webhook_url when a job completes or fails; verify the X-OT-Signature (HMAC-SHA256, reject if older than 300 s) and dedupe on the event id, then fetch the full transcript via GET /api/v1/transcriptions/{id}.
Rate-limited per tier — see the X-RateLimit-* response headers.
Full API referenceUptime · 30d
100.00%
Error rate
0.00%
Avg latency
115.4s
Last incident
None in 30d
from the same field
same benchmark, every match
Supported Languages
Supported Formats
Features
Limits
Max file size
25 MB
Max duration
No documented limit