Choosing a text-to-speech API in 2026

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.
| Provider | $ per 1M characters | Free tier |
|---|---|---|
| 2.50 flat | first month free | |
| 4 Standard / 16 Neural / 30 Generative | 5M chars/mo (Standard) | |
| 4 Standard / 16 Neural2 / 30 Chirp 3 HD | 1M-4M chars/mo per tier | |
| 15 tts-1 / 30 tts-1-hd | tts-1 only, 3 req/min | |
| 15 Neural (7.50 committed-use) | 0.5M chars/mo | |
| 15 flat | not published | |
| 15 Aura-1 / 30 Aura-2 | $200 credit | |
| 15, billed per 1M bytes | free model tier, fair-use gated | |
| 15 Mini / 25 TTS-2 / 35 Max | 70 min of synthesis | |
| 35-50 by plan | 15,000 chars | |
| 37-59 via plan credits | 20k credits/mo | |
| 50 flat | 3,000 minutes | |
| 50 Flash / 100 Multilingual, v3 | 10k credits/mo, non-commercial | |
| 50-150 by plan | 10k chars/mo, non-commercial | |
| 60 Turbo / 100 HD | not published | |
| n/a, billed per minute | 30 min/mo | |
| n/a, per second, rate not published | none 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:
- Lemonfox's $2.50 is a subscription conversion: $5 per month includes 2 million characters, and overage is $0.50 per 200k, both of which work out to $2.50 per million. Its site never names the model behind the API, though its voice list matches the open Kokoro model's voices name for name.
- Cartesia sells no metered rate. The figures are what its plan credits work out to: Pro at $5 per 100k credits is $50/1M, Scale at $299 per 8M is $37.38/1M, and cloned voices bill 1.5 credits per character. The overage rate past a plan's credits is not published.
- LMNT and Hume are subscription plus overage, with no pure pay-as-you-go. LMNT's overage runs from $50/1M on Indie down to $35/1M on Premium. Hume's runs from $150/1M on Creator down to $50/1M on Business.
- Fish Audio's $15 is per million UTF-8 bytes. That equals per-character for English and roughly triples for CJK scripts.
- Azure's $7.50 requires a 2,000M-characters-per-month commitment.
- Rime's live page sells a flat $0.05 per 1k characters. Its December 2025 pricing post lists per-model rates instead (Arcana $40/1M, Mist $30/1M), and a March 2025 post a subscription ladder. All three are still up, none retracted.
- Free tiers come with strings. ElevenLabs' and Hume's are non-commercial only, and ElevenLabs also requires attribution. Fish's free model (s2.1-pro-free) is full quality but time-boxed, and its data may be retained. MiniMax publishes no free tier for speech at all.
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.
| Provider | WebSocket | Voice cloning | Languages | SSML |
|---|---|---|---|---|
| Yes | Instant $6/mo+, Pro $22/mo+ | 29-74 by model | Breaks only, not v3 | |
| Yes | Instant 10s; Pro paid | 42 | No | |
| Yes | No | 7 | No | |
| Yes | Instant 10-30s | 83 | No | |
| Yes | ~15s, all plans | 2 GA, 11 preview | No | |
| Yes | Instant 5-15s | 15 GA | Break tags | |
| No | No | 8 | No | |
| Yes | Instant 5-10s | 31 | No | |
| Yes | 10s, $1.50/voice | 30-40 | No | |
| Yes | Instant 30s; Pro $49/mo+ | 36 | Legacy voices | |
| Yes | Rapid 10s-3min | 23 | Subset | |
| Yes | Enterprise only | 7 | Own syntax | |
| Yes | Instant, 120s sample | 20 (site: 25+) | No (speech tags) | |
| SDK | Application-gated | 140+ locales | Full | |
| No | Managed program | 40+ | Full | |
| gRPC, Chirp 3 HD | Instant, $60/1M | 75+ | Classic, sync only | |
| No | Gated | 57 | No |
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:
- WebSocket "SDK" (Azure) means streaming goes through the Speech SDK rather than a documented raw protocol. "gRPC, Chirp 3 HD" (Google) means streaming synthesis exists, but only via gRPC and only for the Chirp 3 HD voices. Amazon Polly streams over chunked HTTP and a bidirectional HTTP/2 API on the Generative engine but has no browser WebSocket. OpenAI's speech endpoint streams chunked HTTP only; its WebSocket lives in the separate Realtime API.
- Cloning "Gated" and "Application-gated": OpenAI's custom-voice endpoints exist in the docs but access still requires approval, and Azure's Personal Voice and custom neural voice both require applications. Polly's Brand Voice is a managed engagement with your AWS account team.
- Five vendors publish conflicting language counts. Rime's site says "50+" while its docs enumerate 7. Inworld's docs claim 200+ locales while its launch post says 15 GA plus 90+ experimental. MiniMax's docs say 40 while marketing says 30+. PlayAI documents 36 for its flagship model while the homepage counts "142 languages and accents" across its voice library. xAI's docs enumerate 20 while its marketing site says "25+".
- Voice counts inflate the same way, so we left them out of the table: ElevenLabs' "10,000+" and Fish's "2M+" count community libraries, not first-party voices, and Rime advertises 600+ while its docs sum to 372.
- xAI Grok's "speech tags" are bracketed delivery tags (laughter, whispers, pauses) rather than SSML.
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:
| Engine (model) | P50 TTFA |
|---|---|
| 155 ms | |
| 188 ms | |
| 264 ms | |
| 288 ms | |
| 313 ms | |
| 337 ms | |
| 450 ms | |
| 1,232 ms | |
| 2,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.
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.
| Engine (model) | Median (P50) | 90th percentile (P90) |
|---|---|---|
| 109 ms | 130 ms | |
| 134 ms | 173 ms | |
| 145 ms | 163 ms | |
| 159 ms | 218 ms | |
| 165 ms | 188 ms | |
| 168 ms | 215 ms | |
| 170 ms | 177 ms | |
| 170 ms | 192 ms | |
| 176 ms | 213 ms | |
| 320 ms | 341 ms | |
| 352 ms | 361 ms | |
| 410 ms | 511 ms | |
| 492 ms | 510 ms | |
| 531 ms | 610 ms | |
| 616 ms | 677 ms | |
| 728 ms | 884 ms | |
| 1,357 ms | 1,688 ms | |
| 1,558 ms | 1,789 ms | |
| 6,712 ms | 14,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:
- xAI's TTS endpoint rejects a plain text-only request with a 422; a `language` field is required, not optional.
- Fish Audio selects the model through an HTTP header (`model: s2.1-pro`), not the request body. Omit it and you silently get the default model.
- Cartesia's SSE streaming endpoint only outputs raw PCM; ask for mp3 and it errors. The mp3 formats live on the non-streaming bytes endpoint.
- MiniMax returns audio hex-encoded inside JSON rather than as bytes, and there is no free allowance: every call fails with "insufficient balance" until you fund the account.
- Groq's Orpheus hosting refuses requests until an org admin clicks through a model-terms acceptance in the console, and its voice names (autumn, diana, hannah) are Groq's own, not the ones the open model shipped with.
- Hume's free tier throttles at 15 requests per minute, and our first measurement pass lost 6 of 20 runs to intermittent errors even below that rate; the numbers in our table come from a later pass in which all 20 calls succeeded.
- Resemble's `/synthesize` endpoint returns one JSON blob with base64 audio; the actual streamed WAV lives at a separate `/stream` endpoint on a different host.
- The OpenAI compatibility layer is real: Lemonfox and Groq both worked on the first request with an unmodified OpenAI-style client.
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:
| Provider | Concurrency | Request rate |
|---|---|---|
| 2-4 free, to 15/30 by plan | not published | |
| 2 free, to 15 on Scale | not published | |
| 15 or 45 (docs disagree) | no cap published | |
| 5, to 50 by spend | not published | |
| 1 on free | 15/min, to 225 by plan | |
| 5 (50 WebSocket) | cloning 2/min | |
| not published | not published | |
| none on paid plans | none on paid plans | |
| not published | 60/min | |
| not published | 500/min (Tier 1) | |
| not published | 10/min stream; 35k chars/min | |
| 20 WebSocket sessions | 40/sec | |
| 20 (blog said 5) | not published | |
| 50 WebSocket sessions per team | not published | |
| 26 Generative / 80 Standard | 8/sec Gen. / 80/sec Std. | |
| not published | 30 or 200/sec (docs disagree) | |
| 100 streaming sessions | 1,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:
- ElevenLabs counts concurrency per model family: 2 on Multilingual v2 and 4 on Flash for free accounts, rising to 15 and 30 on Scale and Business.
- Fish Audio scales concurrency by cumulative spend: 5 below $100 total, 15 above it, 50 above $1,000.
- "Docs disagree" is literal. Deepgram's rate-limit page says 15 concurrent REST requests on pay-as-you-go while its pricing page says 45 combined; Azure's quota doc says 30 transactions per second by default while its TTS FAQ says 200; Rime's live pricing gives Starter 20 concurrent streams while its December 2025 pricing post said 5. Where pages conflict we report both numbers; test the key you actually get.
- Azure's free F0 tier is additionally capped at 20 TTS transactions per 60 seconds.
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.
- Training on your data by default: Amazon Polly uses customer input to improve its services unless you opt out via an AWS Organizations policy. Cartesia's terms use customer content for training by default with a prospective-only opt-out. ElevenLabs retains data by default outside enterprise; its Zero Retention Mode is enterprise-gated. Fish Audio's terms permit platform-wide training on usage data.
- The explicit opposites: Azure and Google Cloud TTS state no training on customer data. OpenAI's training is off by default. Deepgram trains only through an opt-in partnership program. Rime trains only on requests flagged with a parameter that defaults to false.
- Self-host and on-prem: Azure ships a neural TTS Docker container with an approved disconnected mode; Cartesia offers Kubernetes and SageMaker deployments including air-gapped; Rime and Inworld document on-prem GPU deployments; Deepgram, ElevenLabs, and PlayAI offer enterprise private deployments. Resemble's Chatterbox models are MIT open-source, so full self-hosting is free of any vendor contract. Fish Audio's open weights allow self-hosting only under a paid commercial license it quotes at $10k setup plus $10k per month.
- Certifications: SOC 2 plus a HIPAA BAA path is documented at Azure, Google Cloud, OpenAI, Deepgram, Inworld, Rime, and ElevenLabs (enterprise tier). Still in progress as of July 2026: Fish Audio (SOC 2 audit underway), Resemble (SOC 2 in observation, report expected August 2026), and PlayAI (its own pages disagree on whether SOC 2 is held or in progress). MiniMax publishes no SOC 2 or HIPAA claim we could find.
- Free tiers with strings attached: ElevenLabs' and Hume's free tiers are licensed for non-commercial use only, and ElevenLabs requires attribution on free output.
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:
| Model | Elo |
|---|---|
| 1,209.6 | |
| 1,205.8 | |
| 1,178.0 | |
| 1,163.7 | |
| 1,128.7 | |
| Kokoro-82M (open) | 1,056.2 |
| 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.
| Model | Weights license | Size | Runs on | Cloning | Languages |
|---|---|---|---|---|---|
| Kokoro-82M | Apache-2.0 | 82M | CPU, even browser | No | 8 |
| MIT | 0.5B | GPU | 5-20s sample | 23 | |
| Apache-2.0 | 0.6B / 1.7B | consumer GPU | 3s sample | 10 | |
| Dia-1.6B | Apache-2.0 | 1.6B | consumer GPU | audio prompt | English |
| Apache-2.0 | 3B | datacenter GPU | zero-shot | English | |
| Apache-2.0 (gated) | 1B | consumer GPU | not stated | English | |
| Piper | MIT (check voices) | varies by voice | CPU, Raspberry Pi | No | 30+ |
| F5-TTS | CC-BY-NC-4.0 | 336M | consumer GPU | zero-shot | multilingual |
| non-commercial | not published | GPU | Yes | 80+ | |
| XTTS v2 | CPML, non-commercial | ~443M | GPU | 6s sample | 17 |
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:
- Microsoft's VibeVoice is MIT, but Microsoft pulled the code in September 2025, leaving the weights on mirrors with an uncertain future.
- Higgs Audio v2's weights carry a Llama-derived community license with attribution, naming, and usage clauses rather than plain Apache.
- Sesame's widely praised web demo runs a larger unreleased model, not the open CSM-1B.
- NVIDIA's Magpie sits at rank 26 on the arena snapshot, but we could not confirm its license, so verify before use.
- Piper's code is MIT, but individual voice packs can differ, and the repo is archived.
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.
- Voice agents and live output: you want a WebSocket and an independently measured time to first audio under ~350ms. Cartesia, ElevenLabs Flash and Turbo, Deepgram Aura-2, and Rime all clear that bar in Coval's May 2026 data. Cartesia measured fastest in our July 2026 run at 109ms, with LMNT, Rime, Azure, Deepgram Aura-2, Fish Audio, Inworld, Groq-hosted Orpheus, and Google Chirp 3 also under 200ms; still, measure from your own region before committing.
- Cheapest bulk narration: Lemonfox at $2.50 per million characters if a budget host that does not name its model is acceptable; Amazon Polly Standard and Google Standard/WaveNet at $4 if the older voice quality passes your ear; OpenAI tts-1, Azure Neural, Deepgram Aura-1, and Inworld's Mini at $15 for current-generation voices.
- Self-serve voice cloning: ElevenLabs, Cartesia, Fish, Hume, Inworld, LMNT, MiniMax, PlayAI, Resemble, and xAI Grok (from up to 120 seconds of reference audio) all clone on self-serve plans. The big clouds mostly gate it behind applications or managed programs; Google's Instant Custom Voice is the exception at $60 per million characters.
- Regulated data: Azure (containers with a disconnected mode), Google Cloud TTS, OpenAI, Deepgram, Rime (zero retention by default), and Inworld have the mature compliance stories. Avoid the Gemini Developer API endpoint for anything regulated; the same models behave differently on the Cloud path.
- Widest language coverage: Azure at 140+ locales, Fish at 83, Google at 75+, ElevenLabs v3 at 70+, by each vendor's own list. Counts say nothing about quality in your specific language, so test it.
- Long-form narration: the dedicated SKUs are priced at a premium, Polly Long-Form at $100 per million characters and Google Studio at $160. Compare against a flagship engine reading the same chapter before paying that.
- Hard on-prem requirement: start with the permissive open models (Chatterbox under MIT, Kokoro and Qwen3-TTS under Apache-2.0), then the vendor containers (Azure, Cartesia, Rime, Inworld) if you need support and cloning pipelines.
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.