OpenAI TTS Pricing: 7 Models Tested Before Jan 6
OpenAI TTS pricing changes shape on 6 January 2027. That is the day OpenAI shuts down all three of its text-to-speech models, tts-1, tts-1-hd and gpt-4o-mini-tts, and the model it names as their replacement, gpt-realtime-2.1-mini, does not run on the same API. Its audio is also priced higher per token: $20 per million audio tokens, against $12 for gpt-4o-mini-tts.
A higher per-token price does not tell you what a spoken answer will cost, because each model turns a second of speech into a different number of tokens. So on 23 October 2026 we measured it. We took 12 real answers from the FAQ behind the MxChat chatbot on this site, each the length of a typical chatbot reply, and had every OpenAI model that can speak read each answer aloud twice: 168 recordings in all, about 56 minutes of audio. For each recording we logged what OpenAI billed, how long the audio ran and how long it took to arrive.
- An hour of speech costs $0.86 on tts-1, $1.07 on gpt-4o-mini-tts and $1.72 on tts-1-hd. On gpt-realtime-2.1-mini, the replacement, the same hour cost $1.50.
- Measured per hour of audio, the replacement is 40% dearer than gpt-4o-mini-tts and 74% dearer than tts-1. It is 13% cheaper than tts-1-hd. The per-token price went up 67%, but the new model uses fewer tokens per second of speech (20 against 24.7), which takes back about half of the increase.
- The replacement was the fastest to start talking: the first audio arrived in a median 0.51 seconds, against 1.51 s for tts-1 and 0.66 s for gpt-4o-mini-tts.
- Moving to it means rewriting the integration, not changing a model name. We sent gpt-realtime-2.1-mini to the Speech API endpoint and got an HTTP 404. It only runs over the Realtime API, which is a WebSocket, WebRTC or SIP session rather than a single HTTP request.
OpenAI TTS pricing: every speech model, October 2026
These prices come from OpenAI’s API pricing page, read on 23 October 2026. The three Speech API models are the ones most WordPress plugins and scripts call today. The rest produce speech through other endpoints, and OpenAI names one of them, gpt-realtime-2.1-mini, as the replacement for all three.
| Model | Endpoint | How it bills | List price | Status |
|---|---|---|---|---|
| tts-1 | Speech API (/v1/audio/speech) | Per character of input text | $15 per 1M characters | Shuts down 6 January 2027 |
| tts-1-hd | Speech API | Per character of input text | $30 per 1M characters | Shuts down 6 January 2027 |
| gpt-4o-mini-tts | Speech API | Text in + audio out, per token | $0.60 text in / $12 audio out per 1M tokens | Shuts down 6 January 2027 |
| gpt-realtime-2.1-mini | Realtime API (WebSocket, WebRTC or SIP) | Text in, text out and audio out, per token | $0.60 text in / $2.40 text out / $20 audio out | Current; OpenAI’s named replacement |
| gpt-realtime-2.1 | Realtime API | Per token | $4 text in / $24 text out / $64 audio out | Current |
| gpt-audio-mini | Chat Completions | Per token | $0.60 text in / $2.40 text out / $20 audio out | Shuts down 20 January 2027 (replacement: gpt-audio-1.5) |
| gpt-audio-1.5 | Chat Completions | Per token | $2.50 text in / $10 text out / $64 audio out | Current |
Two things in that table are easy to miss. First, the per-token models bill the spoken audio and a written transcript of it: the Realtime and Chat Completions models return text tokens alongside the audio, and those text tokens are charged at the text output rate. Second, gpt-audio-mini, which looks like a like-for-like alternative at the same rates as the Realtime mini, is itself on the retirement list for 20 January 2027, and its named successor costs more than three times as much per audio token.
What shuts down on 6 January 2027, and what replaces it
OpenAI announced the retirement on 1 October 2026 on its deprecations page. The text-to-speech guide now carries a banner saying the three models will shut down on 6 January 2027 and points to the Realtime API. The guide is blunt about the size of the change: gpt-realtime-2.1-mini “isn’t a supported model for /v1/audio/speech.” Until the shutdown, existing Speech API code keeps working.
| Model or snapshot | Shutdown date | OpenAI’s named replacement |
|---|---|---|
| tts-1 | 6 January 2027 | gpt-realtime-2.1-mini |
| tts-1-hd | 6 January 2027 | gpt-realtime-2.1-mini |
| gpt-4o-mini-tts-2025-03-20 | 6 January 2027 | gpt-realtime-2.1-mini |
gpt-4o-mini-tts-2025-12-15 (the current gpt-4o-mini-tts) | 6 January 2027 | gpt-realtime-2.1-mini |
| gpt-audio-mini (Chat Completions) | 20 January 2027 | gpt-audio-1.5 |
| gpt-realtime-mini | 20 January 2027 | gpt-realtime-2.1-mini |
We checked the endpoint ourselves before relying on the guide. The same request that returns audio for tts-1 returned HTTP 404 with the message “Invalid URL (POST /v1/audio/speech)” when the model was gpt-realtime-2.1-mini, gpt-realtime-mini or gpt-audio-1.5. The Speech API has no model left to point at after 6 January.
How we tested
The 12 texts are the opening sentences of 12 answers in the MxChat FAQ, covering API keys, refunds, page speed, privacy, licences, WooCommerce costs and GDPR requests. They run from 148 to 426 characters, 307 on average, which is about what a chatbot says in one turn. Each model read each text twice with the alloy voice, which every model offers, and returned raw 16-bit PCM audio at 24 kHz, so audio length is simply bytes divided by 48,000.
- Speech API models (tts-1, tts-1-hd, gpt-4o-mini-tts) were called from our WordPress server in the US, the way a plugin would call them. gpt-4o-mini-tts was streamed with server-sent events, because that is the only way the Speech API reports its token counts.
- Chat Completions audio models (gpt-audio-mini, gpt-audio-1.5) were called from the same server with
modalities: ["text","audio"]and a system message telling the model to read the user’s text aloud word for word. - Realtime models (gpt-realtime-2.1-mini, and gpt-realtime-2.1 for comparison) were driven over a WebSocket from a desktop in the US, with the same read-aloud instruction. Each text was sent as an out-of-band response (
conversation: "none"), so no recording was billed for the ones before it.
Cost is computed from the usage each call reported, at the list prices above: characters for tts-1 and tts-1-hd, tokens for everything else. For the Realtime models, the reported text output already includes the model’s reasoning tokens, and we billed all of it at the text output rate.
Results: what each model cost per reply, per 1,000 replies and per hour
| Model | Recordings | Avg audio per reply | Billed per reply (avg) | Cost per reply | Per 1,000 replies | Per hour of audio |
|---|---|---|---|---|---|---|
| tts-1 | 24 | 19.2 s | 307 characters | $0.0046 | $4.60 | $0.86 |
| gpt-4o-mini-tts | 21 | 20.5 s | 503 audio tokens | $0.0061 | $6.08 | $1.07 |
| tts-1-hd | 24 | 19.3 s | 307 characters | $0.0092 | $9.21 | $1.72 |
| gpt-realtime-2.1-mini | 24 | 21.0 s | 419 audio + 121 text tokens | $0.0087 | $8.74 | $1.50 |
| gpt-audio-mini | 24 | 18.2 s | 364 audio + 90 text tokens | $0.0076 | $7.56 | $1.50 |
| gpt-audio-1.5 | 24 | 21.2 s | 424 audio + 94 text tokens | $0.0284 | $28.37 | $4.81 |
| gpt-realtime-2.1 | 24 | 21.7 s | 435 audio + 126 text tokens | $0.0313 | $31.30 | $5.18 |

The cost per 1,000 replies depends on how long your replies are, so the per-hour column is the fairer comparison between models: it divides each model’s total bill by the total audio it produced. Replies of the same text came out at slightly different lengths on different models, because each voice reads at its own pace.
Why the replacement costs more, and less than the price list suggests
On the price list, audio output goes from $12 per million tokens on gpt-4o-mini-tts to $20 on gpt-realtime-2.1-mini, a 67% increase. Two measured effects move the real number.
Fewer tokens per second. gpt-4o-mini-tts billed a median 24.7 audio tokens per second of speech (24.2 to 25.1 across recordings). Every Realtime and Chat Completions model we tested billed exactly 20. So a second of speech cost 296 millionths of a dollar on gpt-4o-mini-tts (24.7 × $12 per million) and 400 on gpt-realtime-2.1-mini (20 × $20 per million): 35% more, not 67%.
A transcript you also pay for. The Realtime model writes out what it is saying as text, and bills those text tokens at $2.40 per million. In our test that came to 121 text tokens per reply, 3.3% of the bill. The Speech API models have no such line. Put together, the measured hour went from $1.07 to $1.50.
Against tts-1 the gap is wider, because tts-1 bills only the characters you send: 307 characters at $15 per million is about half a cent per reply no matter how slowly the voice reads it. Against tts-1-hd, at $30 per million characters, the replacement is actually cheaper.
Speed and reliability
| Model | Median time to first audio | Median time to full clip | Failed calls | Read the text word for word |
|---|---|---|---|---|
| tts-1 | 1.51 s | 2.17 s | 0 | n/a (reads the text by design) |
| gpt-4o-mini-tts | 0.66 s | 6.30 s | 3 | n/a (reads the text by design) |
| tts-1-hd | 2.73 s | 3.90 s | 0 | n/a (reads the text by design) |
| gpt-realtime-2.1-mini | 0.51 s | 2.79 s | 0 | 24 of 24 |
| gpt-audio-mini | 2.69 s | 2.73 s | 0 | 22 of 24 |
| gpt-audio-1.5 | 5.23 s | 5.28 s | 0 | 22 of 24 |
| gpt-realtime-2.1 | 0.73 s | 5.73 s | 0 | 24 of 24 |

For a chatbot, time to first audio is the number that matters: it is how long the visitor waits in silence after the text answer appears. The Realtime models streamed their first audio in about half a second, and gpt-4o-mini-tts, when it did not stall, in 0.66 s. tts-1 took 1.5 seconds and tts-1-hd 2.7. The Chat Completions models are the slowest by this measure, because they return the whole clip in one response: nothing plays until all of it has been generated. One caveat: the Realtime calls ran from a desktop and the others from our web server, both in the US, so treat differences of a tenth of a second as noise.
Two reliability results are worth knowing. Three of the 24 gpt-4o-mini-tts streams stalled: the first audio took 16 to 18 seconds instead of under one, and the stream then stopped delivering after about 6 seconds of speech until our 180-second timeout cut it off. Those three are counted as failures and left out of its averages. tts-1, tts-1-hd and all the newer models completed every call. And the Chat Completions models do not always do as they are told. Given the FAQ answer that begins “Yes – in every language your AI model can write”, both gpt-audio-mini and gpt-audio-1.5 replied to it instead of reading it, on both runs (“That’s right! I can converse in many languages…”). That is 2 of 24 recordings each, and it is the risk of using a conversational model as a reader: text that sounds like it is addressed to the model gets answered. The Realtime models read every text exactly as written in all 48 recordings, judging by the transcripts they returned, apart from saying “dot” for the dots in a web address.
What this means for a WordPress chatbot
MxChat answers in text today; it does not generate speech. But if you add voice replies to any WordPress chatbot, through a plugin or your own code, the speech can easily cost more than the answer. In our earlier tests a text answer from GPT-6 Luna cost about $0.57 per 1,000 replies (see our GPT-6 Luna pricing test), and Claude’s models cost more (see our Claude API pricing test). Reading those answers aloud with the cheapest OpenAI voice from January adds $8.74 per 1,000.

| Spoken replies per month | tts-1 today | gpt-4o-mini-tts today | gpt-realtime-2.1-mini from January |
|---|---|---|---|
| 1,000 | $4.60 | $6.08 | $8.74 |
| 10,000 | $46.05 | $60.81 | $87.41 |
| 50,000 | $230.25 | $304.05 | $437.06 |
Those figures use our average reply of about 21 seconds. A bot that reads out long product descriptions will pay proportionally more.
Your options before 6 January
- Move to gpt-realtime-2.1-mini. The cheapest OpenAI voice after January, and the fastest to start. The work is in the plumbing: a WebSocket session per conversation (or a WebRTC connection from the visitor’s browser with a short-lived token from your server), handling audio as streamed base64 chunks, and an instruction telling the model to read rather than reply. A typical WordPress host can open a WebSocket from PHP, but not easily keep one alive across requests, so browser-side WebRTC is the more natural fit.
- Use gpt-audio-1.5 through Chat Completions. It keeps a single HTTP request, which is the closest thing to the Speech API, but it cost $4.81 per hour in our test, it answered one of our texts instead of reading it, and nothing plays until the whole clip is ready. gpt-audio-mini is cheaper and behaves the same way, but it retires on 20 January 2027.
- Switch voice provider. Google’s Gemini TTS models still take a plain request and return audio; we measured them in our Gemini TTS pricing test, where the same lesson held: compare cost per minute of speech, not cost per million tokens.
- Let the browser read it. The Web Speech API’s
speechSynthesisis built into every major browser and costs nothing. The voices vary by device and sound plainly synthetic, but for an accessibility read-aloud button that is often enough.
Whichever route you take, budget by the minute of audio, and test with your own replies: a bot that answers in two sentences and one that pastes a paragraph will see very different bills on the same price list.
FAQ
How much does OpenAI text-to-speech cost?
Until 6 January 2027: tts-1 is $15 per million characters, tts-1-hd $30, and gpt-4o-mini-tts $0.60 per million text tokens in plus $12 per million audio tokens out. In our test that came to $0.86, $1.72 and $1.07 per hour of speech. After the shutdown, OpenAI’s replacement, gpt-realtime-2.1-mini, cost $1.50 per hour on the same texts.
When is tts-1 being shut down?
OpenAI’s deprecations page lists 6 January 2027 for tts-1, tts-1-hd and both gpt-4o-mini-tts snapshots. The notice was posted on 1 October 2026.
Can I just change the model name to gpt-realtime-2.1-mini?
No. The Speech API endpoint rejects it; we got an HTTP 404 when we tried. The model only runs through the Realtime API, which uses WebSocket, WebRTC or SIP sessions.
How many tokens is a second of OpenAI speech?
In our test, gpt-4o-mini-tts billed a median 24.7 audio tokens per second, and the Realtime and gpt-audio models billed 20. That difference is why the replacement’s 67% higher token price works out to about 40% more per hour.
Which OpenAI voice is fastest for a chatbot?
gpt-realtime-2.1-mini started playing in a median 0.51 seconds in our test, the fastest of the seven models. The Chat Completions audio models were the slowest, because they return the full clip at once.
Does MxChat support voice replies?
Not today; MxChat replies in text. If you are comparing chatbot running costs, the text side is covered in our OpenRouter vs direct API comparison and the MxChat documentation, and MxChat Pro lists what the paid plan adds.
Prices from OpenAI’s API pricing page, deprecation dates from its deprecations page and text-to-speech guide, all read on 23 October 2026. Measurements taken the same day; your bill will follow your own reply lengths and voice settings.