Back to Models

GPT-4o Transcribe Diarize

openaiopenai/gpt-4o-transcribe-diarize

Transcription model that identifies who is speaking when.

GPT-4o Transcribe Diarize is OpenAI's speech-to-text model with built-in speaker diarization, first reported in ~October 2025. Built on the same GPT-4o multimodal architecture as the base gpt-4o-transcribe model, it adds native capability to identify 'who spoke when' β€” returning speaker labels ("A:", "B:", etc.) with segment-level timestamps. This makes it a direct alternative to dedicated diarization pipelines that previously required piping a separate STT model through a clustering backend.

The model uses the same /v1/audio/transcriptions endpoint and is priced identically to the base transcription model (~$0.0066/min). A key differentiator is the diarized_json response_format, which returns structured segments rather than flat text. Unlike the base model, gpt-4o-transcribe-diarize does not support prompting or the Realtime API, and has an audio chunk limit of 1,400 seconds. Speaker labels are auto-assigned as A/B/C unless explicit speaker references are provided. Per OpenAI's Pete Bakkum, WER is 'roughly comparable' to the base gpt-4o-transcribe β€” default to the base model if you don't need diarization.

Best for
  • β€’ Customer service call transcription β€” identify agent vs. customer turns with native speaker labels, no separate diarization pipeline needed. Use diarized_json for structured post-call analytics.
  • β€’ Meeting transcription and minutes β€” automatically attribute statements to speakers across multi-party conversations. Combine with TheRouter's transcription endpoint for simple SDK integration.
  • β€’ Interview and deposition transcription β€” reliable speaker separation without post-processing. The 1,400-second chunk limit accommodates most single interviews.
  • β€’ Multilingual diarized transcription across 100+ languages β€” same GPT-4o base handles language detection and speaker attribution in a single pass, simplifying international voice workflows.
Reach for something else if
  • β€’ Simple transcription without speaker separation β€” use gpt-4o-transcribe (same endpoint, same pricing, slightly lower latency without the diarization overhead).
  • β€’ Real-time streaming with speaker labels β€” gpt-4o-transcribe-diarize is not available over the Realtime API. For live captioning with diarization, consider Deepgram or AssemblyAI.
  • β€’ Prompt-dependent transcription β€” the model does not support the prompt parameter (unlike gpt-4o-transcribe). For context-biased transcription of technical/medical terms, use the base model.
  • β€’ On-premise / air-gapped deployments β€” GPT-4o Transcribe Diarize is closed-source and API-only. For self-hosted diarization, use open-source WhisperX or NVIDIA Parakeet with a clustering backend.
Context Length
--
Max Output
--
Audio Priceper audio minute
$0.0071/ minute of audio
Input Priceper audio minute
$2.70/ 1M tokens

Modalities

audio→text

Capabilities

STT

Pricing Breakdown

TypeRate
Audio$0.0071 / minute of audio
Input$2.70 / 1M tokens
Output$10.80 / 1M tokens
Audio input$6.48 / 1M tokens
Estimated$0.0065 / minute

request is price per minute (official: same $0.006/min as gpt-4o-transcribe; the earlier +10% diarization surcharge does not exist on OpenAI's rate card)

Supported Parameters

filelanguagepromptresponse_formattemperature

Specifications

Release dateNot publicly disclosed by OpenAI; Azure Foundry lists the model as generally availableai.azure.com β†—unknown
ArchitectureGPT-4o-based speech-to-text model with diarization support for speaker-identified transcriptionai.azure.com β†—verified
Endpoint/v1/audio/transcriptions (OpenAI-compatible SDK)developers.openai.com β†—verified
Language recognitionImproved language recognition for speech-to-text; exact supported-language count for the diarize variant is not publicly disclosedai.azure.com β†—unknown
Max file size25 MB file upload limit for the Transcriptions APIdevelopers.openai.com β†—verified
Response formatdiarized_json returns speaker-labeled segments with start/end timestamps, plus the combined transcriptdevelopers.openai.com β†—verified
Speaker labelingKnown speaker names are used when references are provided; otherwise speakers are labeled sequentially as A, B, ...developers.openai.com β†—verified
Supported audio formatsmp3, mp4, mpeg, mpga, m4a, wav, webmdevelopers.openai.com β†—verified
LicenseClosed-source / proprietary (API-only access; no open-weight release)openai.com β†—verified

Benchmarks

BenchmarkDistributionScoreSource
AA-WER (base gpt-4o-transcribe, combined rank)
Independent STT benchmark by Artificial Analysis for the base gpt-4o-transcribe. The diarize variant is expected to have comparable WER per OpenAI. No separate AA-WER score exists for gpt-4o-transcribe-diarize as of May 2026.
β€”Not publicly disclosedβ€”
FLEURS (multilingual WER β€” base gpt-4o-transcribe)
OpenAI reports consistent WER improvements over Whisper on FLEURS (100+ languages) for the base gpt-4o-transcribe architecture. The diarize variant shares the same multilingual backbone. Specific aggregate scores not publicly available.
Improved WER over Whisper v2/v3 across all language groupsopenai.com β†—

API Usage Examples

Use the global api.therouter.ai endpoint shown below for new integrations; the legacy China accelerated endpoint is retired.

cURL
curl https://api.therouter.ai/v1/audio/transcriptions   -H "Authorization: Bearer $THE_ROUTER_API_KEY"   -F "model=openai/gpt-4o-transcribe-diarize"   -F "file=@speech.mp3"

Diarized audio transcription

Transcribe a multi-speaker audio file and receive speaker-labeled segments using the diarized_json response format.

cURL
curl https://api.therouter.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $THEROUTER_API_KEY" \
  -F "file=@meeting.mp3" \
  -F "model=openai/gpt-4o-transcribe-diarize" \
  -F "response_format=diarized_json"

More from openai

Similar models

Cross-provider sibling models

News & changes

2025-12-15

OpenAI ships December 2025 snapshot for gpt-4o-transcribe with WER improvements

OpenAI rolled out updated snapshots for gpt-4o-transcribe (2025-12-15) with improved accuracy on Common Voice and FLEURS benchmarks. The same backbone powers the diarize variant. The legacy whisper-1 and initial 2025-03-20 gpt-4o-transcribe snapshots are expected to retire by June 2026, making the diarize model one of the remaining transcription options.

re-authored by TheRouterdevelopers.openai.com β†—
2025-10-24

GPT-4o Transcribe Diarize becomes available on OpenAI API

OpenAI silently added the gpt-4o-transcribe-diarize model to the /v1/audio/transcriptions endpoint, offering native speaker diarization on top of the GPT-4o Transcribe backbone. The model uses a diarized_json response format returning speaker-labeled segments with timestamps. Early reports highlight the 1,400-second chunk limit and absence of Realtime API support as key constraints.

re-authored by TheRouterndurner.github.io β†—

Frequently asked

How does gpt-4o-transcribe-diarize differ from the base gpt-4o-transcribe?

The diarize variant adds native speaker identification β€” it returns structured segments with speaker labels (A:, B:, etc.) and start/end timestamps via the diarized_json response format. The base gpt-4o-transcribe returns plain text without speaker attribution. Caveats: the diarize model does not support the prompt parameter, is not available over the Realtime API, and has a 1,400-second audio chunk limit. WER is 'roughly comparable' per OpenAI, so default to the base model if you don't need diarization.

re-authored by TheRouterndurner.github.io β†—
Can I get custom speaker names instead of A/B/C?

Speaker labels default to A:, B:, C:, etc. You can provide audio references for speaker attribution (linking segments to known voice profiles), but the model does not learn names permanently β€” it's per-request attribution, not persistent speaker recognition. Unlike Google Gemini, gpt-4o-transcribe-diarize does not attempt to identify speakers by known identity.

re-authored by TheRouterlearn.microsoft.com β†—
Is gpt-4o-transcribe-diarize available over the Realtime API?

No. gpt-4o-transcribe-diarize is only available on the /v1/audio/transcriptions endpoint for batch/file-based transcription. It does not support the Realtime API or streaming audio input. For real-time transcription, use gpt-4o-mini-transcribe (non-diarized) via the Realtime API or consider Deepgram and AssemblyAI for streaming diarization.

re-authored by TheRoutercommunity.openai.com β†—
Does gpt-4o-transcribe-diarize support the prompt parameter for context biasing?

No. This is a key difference from the base gpt-4o-transcribe model. Per OpenAI's speech-to-text guide, prompting is not currently available for gpt-4o-transcribe-diarize. If you need context biasing for domain-specific terminology, use the base gpt-4o-transcribe model instead.

re-authored by TheRouterplatform.openai.com β†—
What's the audio chunk limit for gpt-4o-transcribe-diarize?

Each request is limited to ~1,400 seconds (~23 minutes) of audio. This is shorter than the base gpt-4o-transcribe's 25 MB / ~25-minute limit. For longer recordings, split into chunks and optionally re-assemble the diarized segments on the client side.

re-authored by TheRouterndurner.github.io β†—
Fact ledger β€” every claim on this page traces here
sourceURLretrieved
Release dateai.azure.com β†—2026-08-10unknown
Architectureai.azure.com β†—2026-08-10verified
Endpointdevelopers.openai.com β†—2026-05-28verified
Language recognitionai.azure.com β†—2026-08-10unknown
Max file sizedevelopers.openai.com β†—2026-08-10verified
Response formatdevelopers.openai.com β†—2026-08-10verified
Speaker labelingdevelopers.openai.com β†—2026-08-10verified
Supported audio formatsdevelopers.openai.com β†—2026-08-10verified
Licenseopenai.com β†—2026-08-10verified
AA-WER (base gpt-4o-transcribe, combined rank)openai.com β†—2026-08-10unknown
FLEURS (multilingual WER β€” base gpt-4o-transcribe)openai.com β†—2026-08-10verified
OpenAI ships December 2025 snapshot for gpt-4o-transcribe with WER improvementsdevelopers.openai.com β†—2026-05-28verified
GPT-4o Transcribe Diarize becomes available on OpenAI APIndurner.github.io β†—2026-05-28verified
How does gpt-4o-transcribe-diarize differ from the base gpt-4o-transcribe?ndurner.github.io β†—2026-05-28to verify
Can I get custom speaker names instead of A/B/C?learn.microsoft.com β†—2026-05-28to verify
Is gpt-4o-transcribe-diarize available over the Realtime API?community.openai.com β†—2026-05-28to verify
Does gpt-4o-transcribe-diarize support the prompt parameter for context biasing?platform.openai.com β†—2026-05-28to verify
What's the audio chunk limit for gpt-4o-transcribe-diarize?ndurner.github.io β†—2026-05-28to verify
Help & contact