Choosing a text-to-speech API in 2026

GuideJuly 18, 2026 · 16 min read
A hand-drawn tailor fits an unfinished teal coat to a customer on warm dotted paper.

We build live transcription and translation. Part of the product reads translations aloud during the call, and that voice comes from a text-to-speech (TTS) engine. So we faced the same buying decision here that we had with speech-to-text. This post is the TTS version of our speech-to-text API comparison: everything you can verify about the major hosted engines from the outside.

It covers 17 TTS providers plus the open-weight models you can self-host. The first question is what each one charges and in which unit; the unit turns out to be the real story. After that: whether it streams over a WebSocket, whether you can clone a voice without a sales call, and how many languages it speaks. The fine print matters too: how hard each provider rate-limits you, whether your text trains their models by default, and what the license on an open model actually allows.

One difference from the speech-to-text post up front: there is no word error rate for speech synthesis. Every public quality signal is a preference vote, and published latency numbers disagree with each other by more than 3x depending on who measured. So we measured time to first audio ourselves for sixteen of the seventeen providers, lean on what can be verified everywhere else, and treat every vendor claim as exactly that.

How to read this

Every pricing, feature, and limit figure below comes from the provider's own pricing page or docs, pulled on July 17, 2026; the latency and quality sections name their own sources. We then re-read each page a second time to make sure every number was copied correctly. Prices and model lineups in this market change monthly, so treat these as a snapshot from that date.

Pricing: five units, one column

Speech-to-text pricing was messy; TTS pricing is worse. Across these 17 providers we found at least five billing units. Most bill per character. Fish Audio bills per UTF-8 byte, so a 3-byte CJK character costs three times an ASCII one. Google's Gemini TTS and OpenAI's gpt-4o-mini-tts bill per token, and neither publishes a characters-per-token ratio. PlayAI meters minutes of subscription time. Resemble bills per second of generated audio, and its live pricing page currently shows no TTS rate at all. Still, a comparable number exists for 15 of the 17 providers, though four of those are conversions from plan credits or overage rates rather than metered prices.

TTS pricing at a glance
Provider$ per 1M charactersFree tier
Lemonfox2.50 flatfirst month free
Amazon Polly4 Standard / 16 Neural / 30 Generative5M chars/mo (Standard)
Google Cloud TTS4 Standard / 16 Neural2 / 30 Chirp 3 HD1M-4M chars/mo per tier
OpenAI15 tts-1 / 30 tts-1-hdtts-1 only, 3 req/min
Azure AI Speech15 Neural (7.50 committed-use)0.5M chars/mo
xAI Grok15 flatnot published
Deepgram15 Aura-1 / 30 Aura-2$200 credit
Fish Audio15, billed per 1M bytesfree model tier, fair-use gated
Inworld15 Mini / 25 TTS-2 / 35 Max70 min of synthesis
LMNT35-50 by plan15,000 chars
Cartesia37-59 via plan credits20k credits/mo
Rime50 flat3,000 minutes
ElevenLabs50 Flash / 100 Multilingual, v310k credits/mo, non-commercial
Hume50-150 by plan10k chars/mo, non-commercial
MiniMax60 Turbo / 100 HDnot published
PlayAIn/a, billed per minute30 min/mo
Resemblen/a, per second, rate not publishednone documented

Published or plan-derived rates from each vendor's pricing page, July 17, 2026, converted to USD per 1M characters where the vendor's own numbers allow. The conversions and free-tier fine print are spelled out under the table.

A single per-character column flattens a lot of fine print. The conversions and catches worth knowing:

Cheapest comparable per-character rate by provider
Cheapest comparable per-character rate by provider03366$ per 1M charsLemonfox2.50Amazon Polly (Standard)4.00Google Cloud (Standard)4.00OpenAI (tts-1)15.00Azure (Neural)15.00xAI Grok15.00Deepgram (Aura-1)15.00Fish Audio (per 1M bytes)15.00Inworld (Mini)15.00LMNT (Premium overage)35.00Cartesia (Scale credits)37.38Rime50.00ElevenLabs (Flash)50.00Hume (Business overage)50.00MiniMax (Turbo)60.00

Each provider's lowest published or plan-derived per-character rate, July 17, 2026. PlayAI and Resemble are omitted (no published per-character rate), as are the token-billed Gemini TTS and gpt-4o-mini-tts.

Across every SKU in the table, the spread is 40x: from $2.50 per million characters at Lemonfox, through $4 for Amazon Polly Standard and Google Standard/WaveNet, to $100 for premium flagships like ElevenLabs Multilingual and MiniMax HD. The bottom rates buy a budget host or each cloud's oldest voice technology; the current transformer-based flagships cluster between $25 and $100.

Per-character rates are easier to feel converted to the unit you actually consume: an hour of generated audio. ElevenLabs' model docs equate 10,000 characters with about 10 minutes of speech, so an hour of audio at a normal reading pace is roughly 60,000 characters. At that pace, an audio hour costs about $0.15 on Lemonfox, $0.24 on Amazon Polly Standard or Google Standard, $0.90 on the cluster of $15 engines (OpenAI tts-1, Azure Neural, Deepgram Aura-1, Inworld Mini), $3.00 on ElevenLabs Flash, and $6.00 on the $100 flagships. Concretely: narrating a ten-hour audiobook runs about $60 on a premium flagship and $1.50 on Lemonfox.

The odd ones out: token-billed LLM voices

Two entries refuse the per-character column entirely because they are language models that speak. Google's Gemini TTS models and OpenAI's gpt-4o-mini-tts bill per token, and neither vendor publishes a characters-per-token ratio, so there is no honest conversion. What Google does publish is an audio output rate of 25 tokens per second, which makes Gemini 2.5 Flash TTS about $0.90 per hour of generated audio and the Pro tier about $1.80. By the audio-hour conversion above, $0.90 puts Flash level with the $15 per-character engines. Token billing has a quirk worth knowing: a slower, more deliberate read produces more audio tokens, so the same sentence costs more when you ask for it slowly.

Gemini TTS has a second trap: the same model names live on two endpoints that behave differently. The Gemini Developer API path carries no SOC 2 or HIPAA coverage and its free tier uses your data for training with human review; Google's own migration doc points regulated workloads to the Vertex/Cloud path, where the compliance answers change. Streaming support differs between the two endpoints as well.

Features

Two engines at the same price can serve completely different products. The splits that matter: does it stream over a WebSocket so audio can start playing while the rest is still generating, can you clone a voice yourself or only through a gated program, and does it accept SSML or a proprietary control syntax.

Feature matrix
ProviderWebSocketVoice cloningLanguagesSSML
ElevenLabsYesInstant $6/mo+, Pro $22/mo+29-74 by modelBreaks only, not v3
CartesiaYesInstant 10s; Pro paid42No
DeepgramYesNo7No
Fish AudioYesInstant 10-30s83No
HumeYes~15s, all plans2 GA, 11 previewNo
InworldYesInstant 5-15s15 GABreak tags
LemonfoxNoNo8No
LMNTYesInstant 5-10s31No
MiniMaxYes10s, $1.50/voice30-40No
PlayAIYesInstant 30s; Pro $49/mo+36Legacy voices
ResembleYesRapid 10s-3min23Subset
RimeYesEnterprise only7Own syntax
xAI GrokYesInstant, 120s sample20 (site: 25+)No (speech tags)
Azure AI SpeechSDKApplication-gated140+ localesFull
Amazon PollyNoManaged program40+Full
Google Cloud TTSgRPC, Chirp 3 HDInstant, $60/1M75+Classic, sync only
OpenAINoGated57No

Feature support from each vendor's docs, July 17, 2026. Language counts are the vendor's own documented lists.

The short labels compress a lot; here is what they stand for:

The SSML column is the quiet surprise. Full SSML support now survives only on the big-cloud engines (Amazon, Azure, Google's classic voices, plus PlayAI's legacy voices and a Resemble subset). The newer engines dropped it on purpose: Deepgram says SSML is not on the roadmap for Aura, and Cartesia, Fish, Hume, Lemonfox, LMNT, MiniMax, OpenAI, and Rime never had it. Control is moving to speed parameters, bracketed emotion tags ([laughs], [whispers] on ElevenLabs v3 and Fish), and plain-language steering (OpenAI's instructions field, Inworld's and Hume's prompt-based direction). If your pipeline depends on SSML, the field narrows to three clouds before any other criterion applies.

Latency: claims versus measurements

Vendor latency claims are sub-something-milliseconds figures with no methodology attached. ElevenLabs claims ~75ms for Flash v2.5 with a footnote doing heavy lifting: "excluding application and network latency." The one exception on disclosure is Rime, which states its hardware (a single H100) and reports percentiles by concurrency, including a 37ms P50 for Mist v3 on that GPU. Credit where due, and still a vendor-run number.

The closest thing to an independent measurement is Coval's continuous benchmark, which hits production endpoints repeatedly and reports the median time to first audio. The table is mirrored on the site of Gradium, a TTS vendor that is also its fastest entry, so read the hosting with that stake in mind; the measurement itself is Coval's. A May 4, 2026 snapshot:

Measured median time to first audio (Coval, May 4, 2026)
Engine (model)P50 TTFA
Gradium TTS155 ms
Cartesia Sonic-3188 ms
ElevenLabs Turbo v2.5264 ms
ElevenLabs Flash v2.5288 ms
Deepgram Aura-2313 ms
Rime Mist-v3337 ms
Rime Arcana450 ms
ElevenLabs Multilingual v21,232 ms
OpenAI tts-1-hd2,295 ms

P50 time to first audio from continuous runs against production endpoints, snapshot dated May 4, 2026. No tail percentiles, single unnamed region.

Coval measures from its own infrastructure, so we also measured from ours. Overnight on July 17-18, 2026, from a Mac on an ordinary office connection, we sent each provider the same 106-character sentence 20 times in a row over a kept-alive connection, after one discarded warmup call, and timed every request to its first audio bytes. We measured sixteen of the seventeen providers, each on its advertised low-latency or flagship conversational model; OpenAI's two speech models and both of Google's TTS surfaces (Cloud TTS and Gemini) get separate rows. PlayAI is the gap: we had no account with its minute-billed platform. One extra row is not among the seventeen, but the key was on hand: Orpheus, the open-weight model from the open-source section, as served by Groq.

Time to first audio we measured, P50 (July 17-18, 2026)
Time to first audio we measured, P50 (July 17-18, 2026)0856.91713.8msCartesia Sonic 3.5109.00LMNT134.00Rime Mist v3145.00Azure (Ava neural)159.00Deepgram Aura-2165.00Fish Audio s2.1-pro168.00Inworld TTS-1170.00Orpheus (Groq-hosted)170.00Google Chirp 3: HD176.00MiniMax Speech-2.8 Turbo320.00Amazon Polly (generative)352.00xAI Grok TTS410.00ElevenLabs Flash v2.5492.00Resemble (streaming)531.00Hume Octave616.00Lemonfox TTS728.00OpenAI tts-11357.00OpenAI gpt-4o-mini-tts1558.00

Gemini is not on the chart: its TTS models return only complete files, so it has no time to first audio to plot. Full percentiles are in the table below.

Time to first audio we measured ourselves (July 17-18, 2026)
Engine (model)Median (P50)90th percentile (P90)
Cartesia Sonic 3.5109 ms130 ms
LMNT134 ms173 ms
Rime Mist v3145 ms163 ms
Microsoft Azure (Ava neural)159 ms218 ms
Deepgram Aura-2165 ms188 ms
Fish Audio s2.1-pro168 ms215 ms
Inworld TTS-1170 ms177 ms
Orpheus (Groq-hosted)170 ms192 ms
Google Chirp 3: HD176 ms213 ms
MiniMax Speech-2.8 Turbo320 ms341 ms
Amazon Polly (generative)352 ms361 ms
xAI Grok TTS410 ms511 ms
ElevenLabs Flash v2.5492 ms510 ms
Resemble (streaming)531 ms610 ms
Hume Octave616 ms677 ms
Lemonfox TTS728 ms884 ms
OpenAI tts-11,357 ms1,688 ms
OpenAI gpt-4o-mini-tts1,558 ms1,789 ms
Gemini 3.1 Flash TTS6,712 ms14,203 ms

20 sequential requests per provider on a warm connection, single location, 106-character English input.

Our numbers include the network path from our machine to each vendor, so treat the ordering as the finding rather than the absolute values. The ordering agrees with Coval where the two tables overlap: dedicated real-time engines answer fastest, and OpenAI's speech endpoint sits an order of magnitude behind them. Nine engines came in under 200ms from our location: Cartesia, LMNT, Rime, Azure, Deepgram Aura-2, Fish Audio, Inworld, Groq-hosted Orpheus, and Google's Chirp 3: HD. The run also fills a gap, since xAI's Grok TTS launched in April 2026 and appears in no third-party table we found; it landed at 410ms.

Where the tables meet, the definition problem turns concrete. ElevenLabs Flash v2.5 advertises ~75ms, measured 288ms in Coval's benchmark, and 492ms from our machine; each number is honest under its own definition of where the clock starts. Discount the Gemini row entirely: its TTS models expose no streaming method, so the figure is the wait for the complete audio file, and that wait swung from 5.3 to 55 seconds across 20 runs.

Even measured numbers disagree with each other. Async's benchmark (vendor-run, it sells a competing engine) clocked Cartesia at 640ms where Coval got 188ms: different model version, different setup, 3.4x apart. Our own 109ms P50 sides with Coval. And Vexyl's comparison times total audio generation rather than first byte, which makes the same engines look several times slower and is not comparable to either table. Three different definitions of "latency" circulate in TTS marketing; before comparing two numbers, check they measure the same thing, and then measure from your own region anyway.

What it was like to actually call these APIs

Measuring latency meant writing a working client for sixteen of the seventeen providers, and the docs rarely mention the parts that cost the time. The quirks we hit, in case you are wiring these up yourself:

Rate limits and concurrency

Price tells you what a million characters costs; rate limits decide whether you can serve your traffic. Two axes again: concurrent requests or streams, and requests per unit time. The entry self-serve tier numbers:

Documented default limits on the entry self-serve tier
ProviderConcurrencyRequest rate
ElevenLabs2-4 free, to 15/30 by plannot published
Cartesia2 free, to 15 on Scalenot published
Deepgram15 or 45 (docs disagree)no cap published
Fish Audio5, to 50 by spendnot published
Hume1 on free15/min, to 225 by plan
Inworld5 (50 WebSocket)cloning 2/min
Lemonfoxnot publishednot published
LMNTnone on paid plansnone on paid plans
MiniMaxnot published60/min
OpenAInot published500/min (Tier 1)
PlayAInot published10/min stream; 35k chars/min
Resemble20 WebSocket sessions40/sec
Rime20 (blog said 5)not published
xAI Grok50 WebSocket sessions per teamnot published
Amazon Polly26 Generative / 80 Standard8/sec Gen. / 80/sec Std.
Azure AI Speechnot published30 or 200/sec (docs disagree)
Google Cloud TTS100 streaming sessions1,000/min

Defaults from each provider's rate-limit or quota docs, July 17, 2026. We did not load-test these engines ourselves.

The rows that need unpacking:

Deployment, privacy, and compliance

The text you send a TTS engine may be the least sensitive data in your pipeline, but voice cloning changes the picture: you are uploading recordings of a real person's voice. What a vendor may do with your text and audio by default varies more here than it did in speech-to-text.

What about quality?

There is no word error rate for synthesis, so there is no number a vendor can be objectively wrong about. What exists instead: vendors publish MOS scores (mean opinion scores from human raters), which are not comparable across vendors because each uses its own panel, its own samples, and its own rubric, with no shared test set. And two public arenas collect blind preference votes and compute Elo ratings, the same mechanism as chess rankings: Artificial Analysis' Speech Arena, which also tracks measured price and generation speed, and the community-run TTS Arena V2 on Hugging Face.

Both arenas render live and their leaders rotate, so any printed ranking is stale by design. A third-party snapshot of TTS Arena V2 from May 2026, covering about 74 models:

TTS Arena V2 naturalness Elo (third-party snapshot, May 2026)
ModelElo
Inworld TTS 1.5 Max1,209.6
Google Gemini 3.1 Flash TTS1,205.8
ElevenLabs v31,178.0
MiniMax Speech 2.8 HD1,163.7
Fish OpenAudio S2 Pro1,128.7
Kokoro-82M (open)1,056.2
Resemble Chatterbox (open)1,006.4
Coqui XTTS v2 (open)885.9

Selected rows from a snapshot published by offlinetts.com in May 2026; the live arena moves continuously, so verify current standings there.

Two cautions on that table. A second aggregator, madebyagents.com, ranks ElevenLabs v3 first on a different normalized scale, which says something about reading too much into small Elo gaps. And no open-weight model appears in the top 10; Fish's S2 Pro at rank 11 is the best open entry, and its weights are non-commercial (see the next section). Still, the direction of travel is worth more than any single ranking: per the same snapshot source, the Elo gap between the best closed and best open model narrowed from 223 points in 2023 to about 81 in early 2026. The gap has narrowed enough that quality alone no longer rules open models out; the license is now the harder question.

Open-source and self-hosted

With open TTS, the license fine print is the entire game, and the trap is that the code license and the weights license are often different. F5-TTS ships MIT code with CC-BY-NC weights, so commercial use is off the table. Fish Speech weights are research-only, with commercial use routed to the paid API or that $10k-a-month license. XTTS v2 is non-commercial and, since Coqui shut down in January 2024, there is no commercial license left to buy. Kyutai open-sourced its TTS code but withheld the voice-cloning module. Read the weights license, not the repo badge.

Open-weight models worth knowing
ModelWeights licenseSizeRuns onCloningLanguages
Kokoro-82MApache-2.082MCPU, even browserNo8
Chatterbox MultilingualMIT0.5BGPU5-20s sample23
Qwen3-TTSApache-2.00.6B / 1.7Bconsumer GPU3s sample10
Dia-1.6BApache-2.01.6Bconsumer GPUaudio promptEnglish
Orpheus 3BApache-2.03Bdatacenter GPUzero-shotEnglish
Sesame CSM-1BApache-2.0 (gated)1Bconsumer GPUnot statedEnglish
PiperMIT (check voices)varies by voiceCPU, Raspberry PiNo30+
F5-TTSCC-BY-NC-4.0336Mconsumer GPUzero-shotmultilingual
Fish S2-Pronon-commercialnot publishedGPUYes80+
XTTS v2CPML, non-commercial~443MGPU6s sample17

Licenses are for the weights, verified on each model's repo or model card, July 17, 2026.

More license traps from the same verification pass:

Running an open model costs whatever your GPU costs, and hosted per-character pricing for the same weights varies wildly by host. fal serves Kokoro at $0.02 per 1k characters, which is $20 per million, while Artificial Analysis lists Kokoro at about $0.62 per million via DeepInfra (a figure we could not confirm directly). Same model, roughly 30x apart depending on who serves it, so the model name tells you nothing about the price. For dedicated serving, Baseten one-clicks Orpheus onto an H100 MIG at $3.75 per hour and claims around 128 concurrent streams on it, and Replicate runs Kokoro for a few hundredths of a cent per generation on a T4.

How we would approach the choice

The same closing move as the speech-to-text post: match the engine to the job, because no engine leads on more than a couple of these axes at once.

And whatever you pick, snapshot the pricing page and pin the model version when you sign up. Seven of these seventeen vendors have live pages that contradict their own docs on price, limits, or language counts, and the arena leaders rotate; the numbers in this post carry a date for a reason.

See live transcription and translation in action

Verli transcribes and translates any audio your computer plays, live. Free for 60 minutes a month.

Frequently asked questions

Why can't text-to-speech prices be compared directly?

Because vendors bill in at least five different units: per character, per UTF-8 byte (Fish Audio, where non-Latin scripts cost up to 3x), per token (Gemini TTS and OpenAI's gpt-4o-mini-tts, with no published characters-per-token ratio), per minute of plan time (PlayAI), and per second of generated audio (Resemble). Several others sell only subscription credits with unpublished overage rates. As of July 2026, a rate that converts to dollars per million characters exists for 15 of the 17 providers, but four of those are derived from plan credits or overage rates rather than metered pricing.

Which TTS APIs stream over a WebSocket?

As of July 2026: ElevenLabs, Cartesia, Deepgram, Fish Audio, Hume, Inworld, LMNT, MiniMax, PlayAI, Resemble, Rime, and xAI Grok document raw WebSocket streaming, and Azure streams through its Speech SDK. The gaps are notable: Amazon Polly streams over chunked HTTP and a bidirectional HTTP/2 API but has no WebSocket, OpenAI's speech endpoint is chunked HTTP only (its WebSocket is the separate Realtime API), and Google Cloud's streaming synthesis is gRPC and limited to Chirp 3 HD voices.

Which providers let you clone a voice without talking to sales?

ElevenLabs (from the $6/month Starter plan), Cartesia (10 seconds of audio), Fish Audio, Hume, Inworld, LMNT, MiniMax ($1.50 per voice), PlayAI, Resemble, and xAI Grok (up to 120 seconds of reference audio) all offer instant cloning on self-serve plans. The big clouds mostly gate it: Azure and OpenAI require applications, and Amazon's Brand Voice is a managed engagement. Google is the exception with self-serve Instant Custom Voice at $60 per million characters. Rime and Deepgram offer no self-serve cloning at all.

Do TTS providers train on my data?

Four of the providers we checked do by default: Amazon Polly (opt out via an AWS Organizations policy), Cartesia (prospective opt-out), ElevenLabs outside enterprise plans, and Fish Audio per its terms. Azure, Google Cloud TTS, OpenAI, Deepgram, and Rime state they do not train on customer data by default. One sharp edge: Google's Gemini Developer API free tier does use your data for training with human review, while the same models on the Cloud path do not.

Are open-source TTS models good enough for production?

On quality, nearly: the Elo gap between the best closed and best open model on the community arena narrowed from 223 points in 2023 to about 81 in early 2026, though no open model was in the top 10 as of the May 2026 snapshot. The real filter is licensing. The best open entry, Fish's S2 Pro, is non-commercial, as are F5-TTS and XTTS v2. The production-safe permissive options are Chatterbox (MIT, with cloning), Kokoro (Apache-2.0, runs on a CPU), and Qwen3-TTS (Apache-2.0).

What is the cheapest way to generate speech at scale?

Among hosted APIs with published rates, Lemonfox at $2.50 per million characters, a budget host that does not name the model behind its API; among the engine developers, Amazon Polly Standard and Google Standard/WaveNet at $4 per million, though those are the oldest voice generations. Current-generation voices start around $15 per million (OpenAI tts-1, Azure Neural, Deepgram Aura-1, Fish Audio, Inworld Mini). Below all of that sits self-hosted or cheaply hosted open source: Kokoro is small enough to run on a CPU, and hosted prices for the same weights range from about $0.62 per million characters (as listed by Artificial Analysis for DeepInfra) to $20 per million on fal, so at the low end the model is effectively free and you are paying for the serving.

More from Verli