OpenAI audio API review: four meters, one voice
OpenAI sells voice only as a developer API — no studio, no subscription, no free tier — and it bills four jobs on four incompatible meters: per character, per audio token, per minute of file and per minute of stream. Converted to one unit, a minute of synthetic speech runs $0.0144 to $0.0768, a 5.3x spread inside a single rate card. The number that decides a real budget is not on that card at all: a live voice agent has no flat per-minute price, because OpenAI re-bills the whole conversation as input on every turn, so the tenth minute of a call costs 6.4x the first.
The rate card as published
Three tables, because OpenAI does not put these on one. Everything is read off the official API pricing page today. The per-minute column is CartSignal arithmetic wherever OpenAI does not publish one itself, and the basis for each conversion is stated in the next section.
Text to speech
| Model | Published rate | $ per minute of speech | $ per million characters |
|---|---|---|---|
gpt-4o-mini-tts | $12.00 / 1M audio output tokens (plus $0.60 / 1M text input) | $0.0144 | ~$14.40 (derived) |
tts-1 | $15.00 / 1M characters | $0.0150 | $15.00 |
tts-1-hd | $30.00 / 1M characters | $0.0300 | $30.00 |
gpt-realtime-2.1 / gpt-audio-1.5 audio output | $64.00 / 1M audio tokens | $0.0768 | — |
gpt-realtime-2.1-mini audio output | $20.00 / 1M audio tokens | $0.0240 | — |
Transcription
| Model | $ per minute | $ per hour | Status |
|---|---|---|---|
gpt-4o-mini-transcribe | $0.0030 | $0.180 | Removed 26 Feb 2027 |
gpt-transcribe | $0.0045 | $0.270 | Current, files |
whisper-1 | $0.0060 | $0.360 | Removed 26 Feb 2027 |
gpt-4o-transcribe, gpt-4o-transcribe-diarize | $0.0060 | $0.360 | Removed 26 Feb 2027 |
gpt-live-transcribe | $0.0170 | $1.020 | Current, streaming |
Speech to speech
| Model | Audio input / 1M | Cached input / 1M | Audio output / 1M | Cache discount |
|---|---|---|---|---|
gpt-realtime-2.1 (also -2, -1.5, gpt-realtime) | $32.00 | $0.40 | $64.00 | 98.75% |
gpt-realtime-2.1-mini, gpt-realtime-mini | $10.00 | $0.30 | $20.00 | 97.00% |
gpt-audio-1.5, gpt-audio | $32.00 | none returned | $64.00 | — |
gpt-audio-mini | $10.00 | none returned | $20.00 | — |
The conversion key OpenAI publishes and nobody quotes
Every "OpenAI realtime costs about X a minute" figure you will read online is an estimate, because the rate card is in tokens. OpenAI does publish the missing conversion, but not on the pricing page — it is one sentence in the realtime latency and cost guide:
"Audio tokens in user messages are 1 token per 100 ms of audio, while audio tokens in assistant messages are 1 token per 50ms of audio."
That is 10 tokens a second for the human and 20 a second for the model, or 600 and 1,200 a minute. Applied to gpt-realtime-2.1, a minute of speech costs $0.0192 when the user is talking and $0.0768 when the model is.
So the model's own voice costs exactly 4x per second of audio what yours does — and the multiplier is built twice. The output token price is 2x the input price, and the model's audio is tokenized at twice the resolution, so the two double up. A voice product that talks more than it listens does not cost a bit more than one that listens; it costs about four times as much for the same wall-clock minute. That is a design parameter, not a pricing accident, and it is the cheapest lever available: shortening the agent's answers is worth four times as much as shortening the caller's.
A realtime minute has no price
This is the finding that matters most and it is the one no comparison table can express, because it is not a rate. OpenAI's cost guide states plainly that the conversation history is re-sent as input on every response — "turns later in the session will be more expensive" — and recommends truncation as the remedy: "Clearing out old messages is a good way to reduce input token sizes and cost."
Model a plain ten-minute call: one turn a minute, 30 seconds of caller and 30 seconds of agent, no tools, no system prompt, full history retained. Each turn pays for its own new caller audio, plus all prior audio from both sides as input, plus its own output.
| Turn | Input tokens billed | Cost, no cache | Cost, history cached |
|---|---|---|---|
| 1 | 300 | $0.0480 | $0.0480 |
| 2 | 1,200 | $0.0768 | $0.0483 |
| 5 | 3,900 | $0.1632 | $0.0494 |
| 10 | 8,400 | $0.3072 | $0.0512 |
| Ten-minute total | 43,500 | $1.776 ($0.178/min) | $0.496 ($0.050/min) |
Two things fall out of it. First, the tenth minute costs 6.4x the first, so any per-minute figure quoted for this API is really a statement about call length. Second, the gap between the two right-hand columns is 3.58x on the same conversation — and what decides which one you pay is prompt caching, which OpenAI describes as automatic but best-effort and which is "busted" by any edit to the history. The cached rate of $0.40 against $32.00 is a 98.75% discount, by a wide margin the steepest this site has recorded on any rate card; on gpt-realtime-2.1-mini it is 97.00%. A design that rewrites its own transcript between turns, or trims it in a way that changes the prefix, can multiply its own bill by three and a half without touching a price.
gpt-audio-1.5 and gpt-audio-mini carry the same audio input and output rates as their realtime counterparts but no cached-input rate is listed for either, so the mitigation above cannot be assumed on the Chat Completions route.
Where that puts OpenAI against the agent field
| Option | What you get | $ per minute |
|---|---|---|
gpt-realtime-2.1-mini, first minute | model only | $0.015 |
gpt-realtime-2.1, first minute | model only | $0.048 |
gpt-realtime-2.1, 10-min call, cached | model only | $0.050 |
gpt-realtime-2.1-mini, 10-min call, no cache | model only | $0.056 |
| Cartesia managed agents | fully managed | $0.060 |
| Deepgram Voice Agent, standard | fully managed | $0.075 |
| ElevenLabs Speech Engine | fully managed | $0.080 |
gpt-realtime-2.1, 10-min call, no cache | model only | $0.178 |
Read the middle column first. The managed rows bundle transcription, orchestration, turn detection and in Cartesia's case a telephony option; the OpenAI rows are a model you wire up yourself, so they exclude work the others include. Even allowing for that, the ordering flips inside the table: a first minute on gpt-realtime-2.1 undercuts Cartesia by 20%, while a ten-minute uncached call on the same model runs about 3x Cartesia and above every managed rate on this site. OpenAI is the only vendor in the four-jobs comparison whose agent meter compounds with conversation length, which is why it looks cheapest on a demo and can be dearest in production.
Text to speech: two units, one job, four percent apart
CartSignal has repeatedly declined to rank gpt-4o-mini-tts against per-character vendors, because it bills per audio output token and no OpenAI page converts tokens to characters. The realtime guide's 50-millisecond rate closes that gap for the per-minute question without any assumption about writing style: 1,200 tokens a minute at $12.00 per million is $0.0144 a minute.
Set that beside tts-1 at $15.00 per million characters, which at the 1,000-characters-a-minute equivalence ElevenLabs publishes for its own API is $0.0150 a minute. OpenAI's newest text-to-speech model is 4.0% cheaper per spoken minute than its oldest, despite the two being billed in different units — so the unit change was not a price change, and a buyer choosing between them should decide on voice control and quality rather than cost. Converted to the per-character axis the cheapest-per-character ranking uses, that is about $14.40 per million, which would place gpt-4o-mini-tts second only to the Speechify developer API and just under Deepgram Aura-1 and Inworld TTS-2 Flash at $15.00.
Two honest limits on that number. The 50-millisecond tokenization is documented for the Realtime API, not on the speech endpoint's own page, so treating it as the rate for gpt-4o-mini-tts is CartSignal's cross-surface inference rather than an OpenAI statement — confirm it against your own usage data before committing to it. And the per-million-characters column is doubly derived, since it also carries the 1,000-characters-a-minute pace, which is a property of the script rather than the model. The two tts-1 rows need neither assumption.
The other shape worth noting is that OpenAI's whole speech ladder is short and clean. tts-1-hd is exactly 2x tts-1, the same 1:2 step Deepgram uses between Aura-1 and Aura-2, and the full spread for a spoken minute across the entire card — $0.0144 on gpt-4o-mini-tts to $0.0768 on realtime output — is 5.3x. Every rate on it sits below the cheapest studio subscription in this directory, which is the pattern the voice buyer guide finds at every vendor that sells both.
Practical constraints from the createSpeech reference: input is capped at "The maximum length is 4096 characters" per request, roughly four minutes of speech, so long-form narration is a chunking job. Speed is adjustable from 0.25 to 4.0. Output formats are MP3, Opus, AAC, FLAC, WAV and PCM, and the response streams in chunks so playback can start before generation finishes. Thirteen voices are listed — alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse, marin and cedar — with tts-1 and tts-1-hd supporting a smaller subset that excludes ballad, verse, marin and cedar.
Transcription: the cheap models are the ones being removed
OpenAI launched gpt-transcribe and gpt-live-transcribe in late July 2026 and, on 26 August 2026, scheduled four existing transcription models for removal on 26 February 2027: whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-transcribe-diarize. Both new models are named as replacements for all four, which means the migration has no single price.
| Model being removed | Rate now | To gpt-transcribe ($0.0045) | To gpt-live-transcribe ($0.017) |
|---|---|---|---|
gpt-4o-mini-transcribe | $0.0030 | +50.0% | +467% (5.7x) |
whisper-1 | $0.0060 | −25.0% | +183% (2.8x) |
gpt-4o-transcribe | $0.0060 | −25.0% | +183% (2.8x) |
gpt-4o-transcribe-diarize | $0.0060 | −25.0% | +183% (2.8x) |
So the same forced move is a 25% price cut for three of the four models and a 50% rise for the fourth — and a 5.7x rise for anyone who takes the streaming replacement instead. Streaming is the expensive half of this card by a wide margin: gpt-live-transcribe at $0.017 a minute is 3.78x gpt-transcribe at $0.0045, or $1.02 an hour against $0.27. Against the transcription table on this site, $0.27 an hour is mid-field, close to Deepgram Nova-3 pre-recorded at $0.258, while $1.02 an hour is 2.6x the streaming rates on Deepgram Flux and ElevenLabs Scribe v2 Realtime (both $0.39) and nearly double the dearest developer-API row otherwise on that table, Cartesia ink-2 at $0.54. If live captions are the product, OpenAI is not the cheap option.
Both new models are reported to cover 57 languages, with OpenAI's launch benchmark on Common Voice across 22 languages cited as taking word error rate from 40.37% on whisper-1 to 19.27% on gpt-transcribe. Those figures come from coverage of OpenAI's announcement rather than first-party, because openai.com returns HTTP 403 to CartSignal; the speech-to-text guide does state that whisper-1 "supports 98 languages, but accuracy varies by language", so the model being removed carries the broader language list and the replacement the better benchmark.
The trap underneath it: whisper-1 is the only model that timestamps
This one matters more than the price for anyone making subtitles, and it is stated three separate times in OpenAI's own speech-to-text guide: "Use whisper-1 when you need word or segment timestamps", "The timestamp_granularities[] parameter is only supported for whisper-1", and "To translate a completed audio recording into English, use /v1/audio/translations with whisper-1".
The model scheduled for removal in February 2027 is the only one OpenAI documents for captioning and for translation to English. Neither replacement is documented as supporting either, and captions without timestamps are not captions. For a directory about voice and video that is the most consequential line on the whole rate card: if your pipeline produces SRT or VTT through OpenAI, or translates audio to English through it, you have a feature gap to plan for rather than a price change — and the remedy may be a different vendor. Deepgram and ElevenLabs Scribe both sell timestamped transcription, and the subtitle side of a localisation budget is covered in what AI dubbing costs per minute. CartSignal found no OpenAI statement about what replaces the timestamp feature, so this is published as an open gap rather than a claim that it will not be filled before February.
The second deprecation runs the other way and is worth stating for contrast. On 20 January 2027 the legacy realtime and audio models go — gpt-realtime, gpt-audio, gpt-4o-audio, gpt-4o-realtime, gpt-realtime-mini, gpt-audio-mini, gpt-4o-mini-realtime, gpt-4o-mini-audio and a gpt-4o-mini-transcribe snapshot. For the three legacy names that still appear on the pricing page, the migration is free, because each is grouped into the same rate row as its replacement: gpt-realtime sits with gpt-realtime-2.1, gpt-audio with gpt-audio-1.5, and gpt-realtime-mini with gpt-realtime-2.1-mini. One name breaks the pattern: gpt-audio-mini at $10.00 / $20.00 is pointed at the full-size gpt-audio-1.5 at $32.00 / $64.00 — exactly 3.2x on both input and output. A gpt-realtime-2.1-mini exists at the mini price, but it is not what the replacement column names. The four gpt-4o-era entries no longer appear on the pricing page at all, so CartSignal cannot check parity for those and does not claim it.
Custom voices: a consent recording, 20 slots, and no price
OpenAI does clone voices, which is easy to miss because the feature is not on the pricing page and the thirteen stock voices are what the guides show. The custom voices guide documents a two-recording flow: a consent recording in which the voice actor reads a fixed phrase verbatim — the English one is "I am the owner of this voice and I consent to OpenAI using this voice to create a synthetic voice model." — and a sample recording, where "The audio samples must be 30 seconds or less." Phrases are published per language for more than a dozen languages. The ceiling is "At most 20 voices can be created per organization."
Two things make this different from every other vendor in the voice cloning cost breakdown. First, it is not purchasable: the guide states that "Custom voices are limited to eligible customers. Contact our sales team to learn more." Most cloning rations on this site are attached to a plan you can buy — 1 professional clone on ElevenLabs Creator at $22, 3 on Scale at $299, 2 on Cartesia Startup at $49 — so with no published rate there is no cost per slot to compute here at all, and none is estimated. OpenAI is the only vendor whose documentation states the eligibility gate outright; Murf is comparable in effect, since its voice cloning page names no plan and no price and routes to a contact form, but it does not say who qualifies.
Second, the consent model is explicitly not self-only. ElevenLabs states flatly that you may only professionally clone your own voice even with the other person's consent; OpenAI's flow names a "voice actor" and requires that person to record the scripted phrase, which is third-party-by-design with a retained artefact. That is far stronger than the tickbox attestations and undocumented flows elsewhere in the field, though a rung below Synthesia's randomly generated passcode and Speechify's single-use API challenge — because OpenAI's phrase is fixed and published, it could in principle be recorded in advance or reused, while an issued phrase cannot exist before the request that creates it. One gating detail to check: custom voices are documented as working with gpt-4o-mini-tts, gpt-realtime-2 and gpt-live-1, so the two cheapest per-character models, tts-1 and tts-1-hd, cannot use them.
The obligation that comes with the rate card
OpenAI attaches a publishing duty to synthetic speech that most vendors leave to local law. The text-to-speech guide states: "Our usage policies require you to provide a clear disclosure to end users that the TTS voice they are hearing is AI-generated and not a human voice."
That is a contractual requirement on the developer, not a watermark and not a statutory duty, and it applies to every voice on the card at every price. It sits beside rather than inside the obligations in our EU AI Act labeling guide, and it is a different mechanism again from the licence gates catalogued in commercial use rights for AI voice and video — OpenAI is not restricting what you may do with the audio, it is requiring you to say what the audio is. CartSignal could not retrieve the usage policies page itself (HTTP 403), so the requirement is quoted from the developer guide that references it, and the policy text should be read directly before shipping.
What the OpenAI audio API actually sells
- Text to speech on three models, 13 stock voices, 4,096 characters a request, MP3/Opus/AAC/FLAC/WAV/PCM output, adjustable speed and chunked streaming.
- File transcription on
gpt-transcribe, with a "Files can be up to 25 MB" limit and mp3, mp4, mpeg, mpga, m4a, wav and webm inputs. - Live transcription on
gpt-live-transcribe, billed per minute of stream at 3.78x the file rate. - Speech-to-speech conversation on the
gpt-realtimefamily, and audio in and out of Chat Completions on thegpt-audiofamily. - Word and segment timestamps, plus translation into English — on
whisper-1only, and only until 26 February 2027. - Custom voices from a consent recording and a 30-second sample, capped at 20 per organization, for eligible customers at an unpublished price.
- No studio, no subscription, no free tier and no bundled allowance. Batch pricing is shown at roughly half the standard rate across the wider card; CartSignal did not verify which audio endpoints are Batch-eligible, so no batch figure is published here.
Best-fit use cases
- Narration generated programmatically, where $0.0144–$0.030 a minute and no subscription beat every studio tool in this directory
- Bulk transcription of recorded audio, where $0.27 an hour is competitive and the 25 MB file cap is the real constraint
- Prototyping a voice agent, where a first minute at $0.015–$0.048 is the cheapest way to hear the idea working
- Teams already billing OpenAI for text, who gain a voice meter without a new vendor, contract or seat
- Anyone who wants one rate card applied uniformly rather than plan tiers, credits and allowances to reconcile
Limitations to verify
- No flat agent rate exists. Budget from a modelled call length, not a per-minute figure, and confirm your cache-hit rate before trusting the low end — the same ten-minute call spans 3.58x
- The $0.0144 figure for
gpt-4o-mini-ttsis a cross-surface inference, applying the Realtime guide's 50ms tokenization to the speech endpoint; the per-million-characters figure adds a pace assumption on top - Timestamps and English translation exit with
whisper-1on 26 February 2027 with no documented successor for either - Streaming transcription is the dearest on this site at $1.02 an hour, 2.6x the nearest rival
- 4,096 characters a request caps a single generation at roughly four minutes of speech
- Custom voices cannot be bought, only approved, and carry no published price, so cloning cannot be budgeted from public data at all
- No free tier and no trial allowance for any audio model, unlike Deepgram's $200 starting credit
- Repeated reads returned different counts for the consent-phrase languages (15 in one read, 16 enumerated in another), so confirm your language is covered rather than relying on a count
- Commercial terms and the usage policies text were not verified, because
openai.comreturns HTTP 403 to CartSignal; the disclosure duty is quoted from the developer guide that cites the policy, not from the policy - CartSignal located no OpenAI statement about machine-readable marking of its generated audio, which matters for the duties in our EU AI Act labeling guide
How it fits against other tools here
OpenAI is the purest developer-API vendor in this directory, and that is both the recommendation and the warning. The four-jobs comparison keeps finding that every developer API undercuts every studio subscription, and OpenAI has no subscription to be undercut by — so for narration and file transcription it lands at the cheap end almost automatically, with no plan to pick, no credits to reconcile and no allowance to overrun. Measured against tts-1 at $0.015 a minute, ElevenLabs charges 3.3x to 6.7x more through its own API and about 13x more on a Starter subscription; Murf Studio charges $0.158 a minute because you are buying a timeline editor.
What OpenAI does not sell is the thing several rivals sell hardest. There is no studio to work in, so no timeline, no voice library and no review workflow — compare ElevenLabs against Murf for what that interface premium buys. There is no dubbing product at all, so localisation belongs to Rask AI, HeyGen or ElevenLabs rather than here. Cloning is real but unbuyable. And on voice agents the compounding meter reverses the usual advice: OpenAI is the cheapest place to prototype and, without disciplined history management, can be the dearest place to run.
FAQ
How much does a minute of OpenAI text to speech cost?
About 1.4 to 3 cents. tts-1 is $15.00 per million characters and tts-1-hd is $30.00, which at 1,000 characters to the spoken minute is $0.015 and $0.030. gpt-4o-mini-tts bills $12.00 per million audio output tokens instead, and at OpenAI's documented 1 token per 50ms of assistant audio a minute is 1,200 tokens, or $0.0144 — 4.0% cheaper per minute than tts-1 despite the different unit. Checked 19 September 2026.
How much does the OpenAI Realtime API cost per minute?
There is no flat rate, and that is the point. On gpt-realtime-2.1 a minute of caller audio is $0.0192 of input and a minute of agent audio $0.0768 of output — but OpenAI re-bills the whole conversation as input on each turn, so on a ten-minute call split evenly the first minute is about $0.048 and the tenth about $0.307, averaging $0.178. If prompt caching holds, history bills at $0.40 per million rather than $32.00 and the same call averages about $0.050. Caching is best-effort, so budget for both.
Is OpenAI cheaper than ElevenLabs, Deepgram or Cartesia for a voice agent?
On the first minute yes, over a long call no. A first minute at $0.048 is 20% under Cartesia's $0.060, 36% under Deepgram's $0.075 and 40% under the ElevenLabs Speech Engine's $0.080; a ten-minute uncached call at $0.178 a minute is about 3x Cartesia. gpt-realtime-2.1-mini stays cheapest either way, at $0.015 and $0.056. Note that the managed rows include orchestration and telephony options that OpenAI does not — you are comparing a model with a platform.
Can you clone a voice with the OpenAI API?
Yes, but you cannot buy it. Custom voices need a consent recording of the voice actor reading a fixed phrase plus a sample of 30 seconds or less, are capped at 20 per organization, and are "limited to eligible customers" who must contact sales — with no published price anywhere, so there is no cost per slot to compute and none is estimated. It is the only vendor on the cloning cost page whose documentation states the eligibility gate outright, though Murf's contact-form route is comparable in effect. Unlike ElevenLabs professional cloning it is not self-only: the documented flow names a voice actor.
Which OpenAI audio models are being shut down?
Two deprecations with opposite consequences. 20 January 2027 removes the legacy realtime and audio models, and every one of those still priced on the page shares a rate row with its replacement, so that migration is free — the exception is gpt-audio-mini, whose named replacement costs 3.2x. The four gpt-4o-era names are no longer priced publicly, so parity cannot be checked for them. 26 February 2027 removes whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-transcribe-diarize, a move worth −25% to +467% depending on which you used and which replacement you take. No text-to-speech model appears on the deprecations page.
Has CartSignal tested the OpenAI audio API?
No. This is a public-data review built from OpenAI's developer documentation read on 19 September 2026 — the API pricing page, deprecations page, text-to-speech and speech-to-text guides, realtime and cost guides, custom voices guide and createSpeech reference. No audio was generated or transcribed, so nothing here judges voice quality, latency or accuracy, and OpenAI's accuracy claims are reproduced as vendor statements. Every per-minute figure is CartSignal arithmetic over OpenAI's published rates and its own documented tokenization, with each assumption stated in place.
Source links
- Official OpenAI API pricing page (all TTS, transcription and realtime rates, cached audio input, batch column) — read 19 September 2026
- Official OpenAI deprecations page (26 February 2027 transcription removals announced 26 August 2026; 20 January 2027 legacy audio and realtime removals announced 20 July 2026, with the replacement column)
- Official realtime latency and cost guide (1 token per 100ms user audio and per 50ms assistant audio, history re-billing, truncation advice)
- Official text-to-speech guide (models, 13 voices, formats, streaming, the AI-voice disclosure requirement)
- Official createSpeech reference (4,096-character maximum, speed range 0.25–4.0, custom voice object)
- Official speech-to-text guide (25 MB file cap, formats, whisper-1 as the only timestamp and translation model, 98 languages)
- Official custom voices guide (consent recording and phrase, 30-second sample, 20 voices per organization, eligible customers only)
- Official gpt-transcribe model page ($0.0045 a minute, streaming support, no deprecation notice)