OpenAI Text to Speech: Models, Voices and Pricing
OpenAI text to speech explained: gpt-4o-mini-tts, tts-1 and tts-1-hd, 13 built-in voices, output formats, limits and per-token and per-character pricing.
OpenAI text to speech is the speech endpoint of the OpenAI API, POST /v1/audio/speech, which turns text into audio with one of three models: gpt-4o-mini-tts, tts-1 or tts-1-hd. As of October 2026, tts-1 and tts-1-hd are billed per character and gpt-4o-mini-tts per token. Only gpt-4o-mini-tts accepts style instructions.
This guide covers what each model does, the built-in voices, the request limits, the pricing units and the disclosure rule. Every figure comes from OpenAI's own pages as fetched on 2026-10-17.
What OpenAI text to speech does
You send text to the speech endpoint and receive audio back. OpenAI's text-to-speech guide describes three models. The newest is gpt-4o-mini-tts, which OpenAI calls "the newest and most reliable." The guide describes tts-1 as the lower-latency option and tts-1-hd as the higher-quality option with higher latency.
The current default snapshot of gpt-4o-mini-tts is gpt-4o-mini-tts-2025-12-15, and the earlier snapshot gpt-4o-mini-tts-2025-03-20 is also listed. The model page says the model is supported only on the Speech endpoint, not on Chat Completions, Responses, Realtime or Batch.
Output defaults to MP3. You can request other formats:
mp3(the default)opusaacflacwavpcm, which is raw 24 kHz, 16-bit signed samples with no header
WAV and PCM give the fastest responses, according to the guide. Streaming uses chunked transfer encoding, so playback can start before the whole file is generated. The stream_format parameter accepts sse or audio, but sse is not supported on tts-1 or tts-1-hd.
OpenAI TTS models compared
The table below uses OpenAI's pricing page and the model notes from the guide, both as of 2026-10-17.
| Model | Billing unit | List price | instructions parameter | Notes from OpenAI |
|---|---|---|---|---|
| tts-1 | Per 1M characters | $15.00 | Not supported | Lower latency, lower quality than tts-1-hd, 9 voices |
| tts-1-hd | Per 1M characters | $30.00 | Not supported | Higher quality, higher latency, 9 voices |
| gpt-4o-mini-tts | Per 1M tokens | $0.60 text input, $12.00 audio output | Supported | Newest model, 13 voices |
Pick gpt-4o-mini-tts when you need delivery control, and tts-1 or tts-1-hd when you need a character-priced model with a fixed voice set. The two families are not interchangeable in code, because the voice list and the instructions parameter differ.
OpenAI TTS voices
The API reference lists 13 built-in voices for the voice parameter: alloy, ash, ballad, coral, echo, fable, onyx, nova, sage, shimmer, verse, marin and cedar. The guide recommends marin or cedar for the best quality. The guide's introduction gives a different count from its voice section, so use the API reference list as the authority.
The tts-1 and tts-1-hd models support a smaller set of nine voices: alloy, ash, coral, echo, fable, onyx, nova, sage and shimmer. The guide also says the voices are "currently optimized for English."
You can also pass a custom voice object with an ID, but only approved custom voices can be used this way (see the custom voice section below).
How to control tone with instructions
The instructions field takes natural-language direction. The guide says it can shape accent, emotional range, intonation, impressions, speed, tone and whispering. A simple example from the guide is "Speak in a cheerful and positive tone."
Three rules to keep in mind:
instructionsworks only withgpt-4o-mini-tts. It does not work withtts-1ortts-1-hd.- The separate
speedparameter accepts 0.25 to 4.0, with a default of 1.0. Use it for pace and useinstructionsfor the rest of the delivery. - OpenAI publishes no latency numbers for these models on the pages reviewed, so test response times in your own region before you commit to a design.
OpenAI TTS pricing in practice
The three rows in the table use different units, so you cannot compare them directly. Here is what the published prices mean once converted, with the conversion labelled as derived:
tts-1at $15.00 per 1M characters is derived at $0.015 per 1,000 characters.tts-1-hdat $30.00 per 1M characters is derived at $0.030 per 1,000 characters.gpt-4o-mini-ttsis billed per token. The pricing page does not give a per-character or per-minute equivalent, so this guide does not publish one.
The same pricing page also lists realtime audio models and a per-minute live voice product. Those are separate products, and they are not TTS prices. Keep them out of a text-to-speech budget. The pricing page also refers to a promotional period that ends on 2026-11-21, so check the page again before you set a budget.
Limits, formats and rate limits
These are the published request limits:
- Input length: the API reference says the maximum length is 4,096 characters per request.
- Input tokens: the
gpt-4o-mini-ttsmodel page also lists a maximum of 2,000 input tokens. Both limits are published, and neither converts into the other, so respect both. - Speed: 0.25 to 4.0, default 1.0.
- Rate limits for
gpt-4o-mini-tts: Build tier 2,000 requests per minute and 150,000 tokens per minute; Launch tier 10,000 requests per minute and 2,000,000 tokens per minute; Grow tier 10,000 requests per minute and 8,000,000 tokens per minute.
Your tier determines which of the rate-limit rows applies to your organization.
Languages and quality caveats
OpenAI says languages follow the Whisper language list, which the guide describes as running from Afrikaans to Welsh. The same guide says the voices are optimized for English and that other languages "perform well." It does not state a count of supported languages, and this guide does not give one.
OpenAI's December 2025 update describes the new gpt-4o-mini-tts snapshot as having "roughly 35% lower WER on Common Voice and FLEURS." That is OpenAI's own measurement of its own snapshots. It does not compare the model with other vendors, and it should not be read that way. Run your own listening tests in the languages your users speak.
Disclosure and custom voices
OpenAI's usage policy requires "a clear disclosure to end users that the TTS voice they are hearing is AI-generated." If your product plays synthetic speech to listeners, plan for that notice in the interface or the audio itself.
Custom voices are limited. The guide says approved custom voices come from a speaker's consent recording plus a matching sample. OpenAI's December 2025 blog post says custom voices are "limited to eligible customers," and the API reference says voices created from text prompts are "supported only in Live." If you need a custom voice, check your eligibility with OpenAI before you design around it.
When OpenAI TTS fits, and when to look elsewhere
OpenAI's speech endpoint fits teams that already use the OpenAI API and want delivery control through a single parameter. It is also a fair option for teams that prefer per-character pricing on tts-1 for simple narration.
It may not fit when you need a large set of languages with dedicated voices, or when you need the voice catalogue and pricing units of a specific cloud provider. Our best text to speech API comparison lays out the trade-offs across vendors, and the Gemini text to speech guide covers Google's token-priced alternative.
Where OndaLabs fits
OndaLabs is an AI voice studio, not a developer speech endpoint. It is built for making finished audio: text to speech, two-speaker dialogue, speech to text, custom voices, image generation and music generation.
Some facts to compare with the OpenAI rows above:
- 30 prebuilt voices, usable in every supported language.
- Dedicated text to speech pages for 37 languages.
- Onda Lite costs 1 credit per character and is included on all plans. Onda Flash, the most expressive model, costs 1.5 credits per character on paid plans.
- Delivery is directed with plain words and supported expressive tags in the script.
- The Starter plan is $9 per month for 170,000 credits and includes commercial use.
Both products let you describe delivery in plain words. OpenAI exposes that through the instructions parameter, and OndaLabs uses plain-word direction and expressive tags. The two products are priced differently and serve different jobs, so neither is cheaper in every case. You can review plans on the pricing page or try the tool in the app.
Frequently asked questions
Which OpenAI text to speech model should I use?
Use gpt-4o-mini-tts if you want the newest model and the instructions parameter for delivery control. OpenAI describes it as its newest and most reliable TTS model. Use tts-1 if you want lower latency and a per-character price, and tts-1-hd if you want higher quality and accept higher latency.
How much does OpenAI text to speech cost per 1,000 characters?
On the October 2026 pricing page, tts-1 lists at $15.00 per 1M characters, which is $0.015 per 1,000 characters (derived), and tts-1-hd lists at $30.00 per 1M characters, which is $0.030 per 1,000 characters (derived). The gpt-4o-mini-tts model is billed per token, and the pricing page does not give a per-minute or per-character equivalent. Check the pricing page before you budget.
Does OpenAI text to speech support languages other than English?
OpenAI says the speech models follow the Whisper language list, but it also says the voices are optimized for English. OpenAI does not publish a language count for these models, so this guide does not give one. Test the quality in each language you need before you ship.
Do I have to tell listeners that an OpenAI voice is AI-generated?
Yes. OpenAI's usage policy requires a clear disclosure to end users that the voice they hear is AI-generated. Build that notice into your product or your audio.
Can I control tone and emotion in OpenAI text to speech?
Yes, with gpt-4o-mini-tts. The instructions parameter accepts natural-language direction for tone, emotional range, accent and speed, for example "Speak in a cheerful and positive tone." The parameter does not work with tts-1 or tts-1-hd.
What is the maximum text length for OpenAI text to speech?
The API reference sets a maximum of 4,096 characters per request. The gpt-4o-mini-tts model page also lists a maximum of 2,000 input tokens. Split longer scripts into chunks that stay under both limits.