ai-machine-learning

9 Best Text-to-Speech APIs for Developers (2026): Real Latency & Cost-per-Minute Compared

Written by Mert Batur
Jul 16, 2026
15 read
9 Best Text-to-Speech APIs for Developers (2026): Real Latency & Cost-per-Minute Compared

9 Best Text-to-Speech APIs for Developers (2026): Real Latency & Cost-per-Minute Compared

The best text-to-speech API for developers isn't the one with the slickest demo reel. It's the one that hits your latency budget without wrecking your bill. We know, because we build voice agents on top of these APIs. Last quarter, Cartesia's Sonic-3 advertised 40 to 90ms time-to-first-audio, yet the Coval independent benchmark measured its real P50 at roughly 188ms. Prices run from $4 to $100 per 1M characters. Vendor latency numbers rarely survive a live phone call. So here's an honest ranking of 9 text-to-speech APIs, with the figures vendors leave out of their own lists.

We don't sell a TTS API. We build voice agents on top of these, so there's no product for us to push in this ranking. And to be clear about scope: this is about the text-to-speech synthesis API, the layer that turns text into audio, not full voice-agent platforms or creator video tools. New to the space? Start with what an AI voice agent actually is.

Quick Answer: The Best TTS APIs at a Glance

  • Best overall voice quality: ElevenLabs (Flash ~75ms claimed), the priciest here at $50 to $100 per 1M characters.
  • Best value and simplest integration: OpenAI gpt-4o-mini-tts, roughly $0.015 per minute of audio.
  • Lowest latency for real-time agents: Cartesia Sonic, native streaming websockets, 40 to 90ms claimed time-to-first-audio.
  • Cheapest and self-host: Google Cloud and Amazon Polly at $4 per 1M chars; OmniVoice is $0 self-hosted.

The 9 Best TTS APIs at a Glance

Here's every API side by side, ranked for a developer integrating text-to-speech into an app or voice agent. Per-minute figures are our estimate, not a vendor number (the math is below the table).

APIPricing ($/1M chars)Est. $/min*Free tierStreamingVoice cloningSelf-hostBest for
ElevenLabs$50 Flash / $100 Multilingual~$0.045trialYesInstant by IDNoTop voice quality
OpenAI$15 tts-1 / gpt-4o-mini-tts ~$0.015/min~$0.015$5 creditYesLimitedNoValue and simplest
Cartesia~$39 (Sonic)~$0.035~27 min/moYes (websocket)Instant (Pro)NoLow-latency agents
Deepgram$15 Aura-1 / $30 Aura-2~$0.014-0.027$200 creditYesNo (preset)Yes (enterprise)STT plus TTS, one vendor
Google Cloud$4 Std/WaveNet / $16 Neural2~$0.004-0.0144M chars/mo (Std)YesNoNoMultilingual plus free tier
Amazon Polly$4 Std / $16 Neural~$0.004-0.0145M/1M chars/moYesNoNoCheap, reliable at scale
Azure AI Speech$16 Neural / $22 Neural HD~$0.014-0.020500K chars/moYesCustom Neural VoiceYes (air-gapped containers)Compliance / on-prem
PlayHTsubscription ~$39-99/mo (est)~$0.07 (est)trialYesInstant (3-10s)NoBig multilingual library
OmniVoice$0 (Apache-2.0)GPU cost onlyunlimited (self-run)No (batch)Zero-shot ~3sYes (fully local)Self-host / rare langs

OmniVoice is the outlier in that table: it trades streaming for local control and unusually broad language coverage. Our hands-on OmniVoice review covers the installation, GPU behavior, and quality limits behind that row.

*Per-minute is our estimate: price per 1M chars times ~900 chars/min (about 150 wpm). Not a vendor number.

How Did We Rank These (and Why We Sell No TTS API)?

We weighed five things: voice quality, latency and streaming support, cost (per character and per minute), SDK surface, and self-host options. We build production voice agents on several of these, so the order reflects fit, not favoritism. Nobody paid for a spot.

That neutrality is the whole point. Every "best TTS API" list you'll find is written by a TTS vendor ranking its own product first. We sell agents, not synthesis, so we've got nothing to push here. Where a tool loses on price, latency, or cloning, we say so in its "Skip it if" line. No strawmen, no favorites.

1. ElevenLabs: Best Overall Voice Quality

ElevenLabs makes the most natural synthetic voices you can buy through an API right now, with a large voice library and instant cloning by voice ID. Its Flash v2.5 model is the real-time option.

Per ElevenLabs' API pricing page (as of July 2026), Flash and Turbo run $50 per 1M characters and Multilingual v2/v3 run $100 per 1M, roughly $0.045 to $0.09 per minute by our math. ElevenLabs claims about 75ms latency on Flash. Streaming works over REST and websocket. Cloning is instant from any voice ID.

Building a full phone agent? See how it compares against voice-agent platforms like Vapi and Synthflow.

bash
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/JBFqnCBsd6RMkjVDRZzb?output_format=mp3_44100_128" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Your table for two is confirmed for 8pm.", "model_id": "eleven_flash_v2_5"}' \
  --output speech.mp3

Pick this if voice quality is non-negotiable and budget isn't your first constraint. Skip it if cost per character is the blocker, because it's the priciest option here.

2. OpenAI TTS: Best Value and Simplest Integration

OpenAI TTS is the path of least resistance if you already call the OpenAI API. The gpt-4o-mini-tts model adds steerability, meaning you prompt how a line should sound ("say it like a warm, patient teacher"), not just what it says.

Per OpenAI's pricing docs (as of July 2026), tts-1 is $15 per 1M characters, tts-1-hd is $30 per 1M, and gpt-4o-mini-tts bills $0.60 per 1M text tokens plus $12 per 1M audio tokens, which lands near $0.015 per minute of audio. Streaming is supported. Cloning is limited.

Building a real-time phone agent? Pair it with OpenAI's Realtime API for voice agents.

python
from openai import OpenAI
client = OpenAI()  # reads OPENAI_API_KEY from env

with client.audio.speech.with_streaming_response.create(
    model="gpt-4o-mini-tts",
    voice="alloy",
    input="Say it like a warm, patient teacher.",
) as response:
    response.stream_to_file("speech.mp3")

Pick this if you want cheap, good-enough audio inside a stack you already run. Skip it if you need many distinct voices or real voice cloning.

3. Cartesia (Sonic): Best for Ultra-Low-Latency Real-Time Agents

Cartesia's Sonic is built for conversation. It ships native streaming websockets and the lowest time-to-first-audio we've measured from a hosted API.

Per Cartesia's pricing page (as of July 2026), the Startup plan is about $39 per 1M characters (~$0.035/min), with roughly 20,000 free credits a month (about 27 minutes of audio). Cartesia claims 40 to 90ms time-to-first-audio on Sonic-3. The streaming API is websocket-native, and cloning is instant on Pro tiers. Here's the pattern agents actually use, streaming PCM chunks straight to the caller:

python
from cartesia import Cartesia
import os

client = Cartesia(api_key=os.environ["CARTESIA_API_KEY"])
ws = client.tts.websocket()

for chunk in ws.send(
    model_id="sonic-3",
    transcript="Booking confirmed. See you at eight.",
    voice={"id": "a0e99841-438c-4a64-b679-ae501e7d6091"},
    output_format={"container": "raw", "encoding": "pcm_f32le", "sample_rate": 44100},
    stream=True,
):
    play(chunk.audio)  # push audio to the caller as it arrives

Pick this if you're building sub-second conversational voice agents. Skip it if you don't need real-time and want a bigger voice catalog.

4. Deepgram (Aura-2): Best Single-Vendor STT + TTS

Deepgram is the one vendor that does both halves of a voice bot well: the listening (speech-to-text) and the speaking (TTS). Aura-2 is character-billed and tuned for conversational latency.

Per Deepgram's pricing page (as of July 2026), Aura-1 is $15 per 1M characters and Aura-2 is $30 per 1M (~$0.014 to $0.027/min), with a $200 signup credit and self-host on enterprise plans. Deepgram cites sub-250ms for conversational AI. Streaming is supported; cloning is not, so you're limited to preset voices.

Pick this if you want one vendor for the whole listen-and-speak loop. Skip it if you need voice cloning.

5. Google Cloud Text-to-Speech: Best Multilingual Breadth and Fat Free Tier

Google Cloud Text-to-Speech covers 380+ voices across 50+ languages, and its free tier is the most generous for prototyping.

Per Google Cloud's pricing page (as of July 2026), Standard and WaveNet are $4 per 1M characters, Neural2 is $16 per 1M, Chirp 3 HD is $30 per 1M, and Studio is $160 per 1M. The free tier gives you 4M Standard characters a month, but only 1M per month each on WaveNet, Neural2, and Chirp 3 HD, so check which voice type you're actually on. Streaming is supported; there's no cloning (custom voice is a separate product).

Pick this if you need lots of languages cheaply and live on GCP. Skip it if you want top-tier expressive quality without paying Studio's $160 per 1M.

6. Amazon Polly: Best Boring, Reliable, Cheap-at-Scale

Amazon Polly is the dependable workhorse: predictable, cheap, and deeply wired into AWS. It's ideal for IVR and transactional prompts where you don't need drama, you need uptime.

Per AWS's Polly pricing page (as of July 2026), Standard is $4 per 1M characters, Neural is $16 per 1M, Generative is $30 per 1M, and Long-Form is $100 per 1M (~$0.004 to $0.09/min). The free tier covers 5M Standard and 1M Neural characters a month for your first 12 months. Streaming is supported; there's no cloning.

Pick this if you're on AWS and want predictable TTS at volume. Skip it if you want expressive, cloneable voices.

7. Azure AI Speech: Best for Compliance and On-Prem

Azure AI Speech's differentiator isn't the voices, it's where you can run them: standard Neural, Custom Neural Voice, and disconnected (air-gapped) containers for data that legally can't leave your network.

Per Azure's Speech pricing page (as of July 2026), standard Neural is $16 per 1M characters and Neural HD is $22 per 1M (reduced from $30 in March 2026). The F0 free tier covers 500K characters a month and never expires. Air-gapped disconnected containers run around $47,424 a year for 4.8B characters (sign-up required), which is the number your compliance team will care about. Streaming is supported; cloning is Custom Neural Voice.

Pick this if you need on-prem or air-gapped synthesis, or you're a Microsoft shop. Skip it if you're not on Azure and don't need compliance controls.

8. PlayHT: Best Big Multilingual Voice Library

PlayHT's pull is breadth: 900+ voices, 142 languages, sub-300ms Turbo latency, and instant cloning from a 3 to 10 second sample.

Here's the honest caveat on pricing. Per PlayHT's pricing page (as of July 2026), plans run roughly $39/mo (Professional) to $99/mo (Premium/unlimited), and API access sits on the higher and enterprise tiers. A clean per-character API rate isn't published, so treat any per-minute figure (we estimate about $0.07) as exactly that, an estimate. Streaming is supported; cloning is instant from a short clip.

Pick this if you want voice breadth for a conversational product and ElevenLabs is too costly. Skip it if you want transparent pay-as-you-go per-character billing.

9. OmniVoice: Best When Data Can't Leave Your Servers

OmniVoice (from the k2-fsa team) is Apache-2.0, $0 per character, 646 languages, and zero-shot cloning from a ~3 second clip, running fully local. We put it through a hands-on test on our own hardware.

There's no per-character bill at all. You pay for the GPU and electricity, nothing else. The tradeoff: OmniVoice is batch synthesis (real-time factor around 0.03), not sub-300ms streaming, so it isn't a fit for live conversation. Cloning is zero-shot from a few seconds of reference audio. For setup details and quality notes, read our hands-on OmniVoice review.

Pick this if you need on-prem, HIPAA, rare languages, or you hate per-character billing at very high volume. Skip it if you need real-time conversational latency.

What Does a TTS API Actually Cost Per Minute?

A text-to-speech API costs roughly $0.004 to $0.09 per minute of synthesized audio in 2026. The cheapest are Google Cloud and Amazon Polly Standard at about $0.004/min; OpenAI's gpt-4o-mini-tts sits near $0.015/min; ElevenLabs' top voices reach $0.09/min. Self-hosted OmniVoice is $0 per character.

Every per-minute figure here is our math, not a vendor number. We convert price per 1M characters into cost per minute by assuming ~900 characters per minute (about 150 words per minute of natural speech). That single conversion changes how you budget: voice-agent builders don't budget in dollars per million characters, they budget in dollars per minute of talk time. Here's the conversion nobody publishes.

"Estimated TTS cost per minute of audio (USD, ~900 chars/min)"

Data table
"Estimated TTS cost per minute of audio (USD, ~900 chars/min)"
"Provider (representative model)""USD per minute"
"Google Cloud (WaveNet)"0.004
"Amazon Polly (Standard)"0.004
"Azure (Neural)"0.014
"OpenAI (gpt-4o-mini-tts)"0.015
"Deepgram (Aura-2)"0.027
"Cartesia (Sonic)"0.035
"ElevenLabs (Flash)"0.045
"PlayHT (Turbo, est)"0.07
"OmniVoice (self-host)"0

Per-minute is our estimate (price per 1M chars times ~900 chars/min). PlayHT is subscription-based, so its figure is an estimate; OmniVoice is $0 per character (you pay GPU and electricity only). TTS is only one line item, though. For the full picture, see our full-stack voice-agent cost breakdown.

What We Learned Wiring TTS Into Production Voice Agents

Claimed latency is not measured latency. On a restaurant-booking voice agent we shipped in 2026, ElevenLabs Flash's advertised 75ms was real in isolation, but in our pipeline, once LLM token generation, network hops, and audio buffering stacked on top, the first audio the caller heard landed closer to 300 to 400ms. That gap is the difference between a natural reply and an awkward pause.

The Coval independent benchmark backs this up. It measured Cartesia Sonic-3 at about 188ms P50 time-to-first-audio (100ms IQR), ElevenLabs Turbo v2.5 near 264ms, and Flash v2.5 near 288ms, all higher than the vendor-claimed numbers. That's why we default to streaming websocket APIs (Cartesia, Deepgram) over batch REST for anything conversational. Watch the metric, too: the first bytes a streaming API returns are container and header metadata, not playable audio. Time-to-first-byte flatters the vendor; time-to-first-audio is what the caller actually hears.

The cost surprise we didn't budget for: on a high-volume line running ElevenLabs Multilingual v3 (~$0.09/min), an agent talking 40% of a six-minute call synthesizes about 2.4 minutes of audio, roughly $0.22 per call. At 1,500 calls a day that's near $9,700 a month in TTS alone. Switching that line to gpt-4o-mini-tts ($0.015/min) cut it to under $1,700. And one gotcha that bit us: the model mispronounced a client's restaurant name until we added a phoneme alias, so budget time for a pronunciation dictionary before launch.

Can You Self-Host or Run Open-Source TTS?

Yes, and it's a real option in 2026, not a science project. Self-hosting means running the model on your own GPUs so audio never touches a third-party API. The main open-source picks are OmniVoice (646 languages, zero-shot cloning), Piper (fast, lightweight, great on a Raspberry Pi), Kokoro (small and high-quality), and the older Coqui TTS.

There are managed self-host paths too. Azure's disconnected (air-gapped) containers and Deepgram's enterprise on-prem let you run vendor-grade voices inside your own network without a raw open-source deployment.

Self-hosting wins when data legally can't leave your servers (HIPAA, air-gapped), when you need rare or low-resource languages, or when per-character billing gets brutal at very high volume. It loses when you need real-time conversational latency or you're a small team without GPU ops to spare. For those, a streaming API is the cheaper answer once you price in engineering time.

How Do You Choose the Right TTS API?

Pick by your single biggest constraint, not by a feature checklist. Here's the fast decision tree we use with clients:

  • Building a real-time voice agent? Cartesia or Deepgram (streaming websockets, lowest measured latency).
  • Voice quality is non-negotiable? ElevenLabs.
  • Cheap and multilingual? Google Cloud or Amazon Polly.
  • On-prem or air-gapped? Azure disconnected containers or OmniVoice.
  • Already deep in an ecosystem? OpenAI, AWS Polly, or Google Cloud, whichever matches your existing stack.
  • Need the widest voice library? PlayHT.

Start with the constraint that would kill the project if you got it wrong. Optimize the rest after.

How Techsy Approaches This

We build voice agents, we don't sell a TTS API, which is exactly why we can be neutral here. In practice we pick a different TTS per client based on their latency budget, cost ceiling, and compliance rules, then wire it into the full agent: speech-to-text, the LLM, telephony, and the streaming glue in between. A restaurant booking line and a HIPAA-bound clinic line rarely use the same synthesis engine.

If you're weighing build versus buy, we build production voice agents end to end and can tell you which TTS actually fits your call volume.

Frequently Asked Questions

What is the best text-to-speech API for developers?

It depends on your single biggest constraint. For top voice quality, pick ElevenLabs. For lowest real-time latency, Cartesia. For cheap multilingual audio, Google Cloud or Amazon Polly. For on-prem or air-gapped data, Azure disconnected containers or self-hosted OmniVoice. There's no universal winner.

Which TTS API has the lowest latency for real-time voice agents?

Cartesia claims 40 to 90ms time-to-first-audio, ElevenLabs Flash claims ~75ms, and Deepgram cites sub-250ms. But claimed is not measured: the Coval independent benchmark put Cartesia Sonic-3 near 188ms P50 and ElevenLabs Flash near 288ms in real conditions. For agents, favor streaming websocket APIs.

How much does a text-to-speech API cost per minute of audio?

Roughly $0.004 to $0.09 per minute in 2026. Google and Polly Standard sit near $0.004/min, OpenAI gpt-4o-mini-tts near $0.015/min, and ElevenLabs' premium voices reach $0.09/min. These are our estimates at ~900 characters per minute; self-hosted OmniVoice is $0 per character.

Is there a free text-to-speech API? Which free tier is best?

Yes. Google Cloud gives 4M Standard characters a month (1M each on higher voice types), Amazon Polly offers 5M Standard and 1M Neural characters for 12 months, Azure F0 covers 500K a month forever, and Cartesia includes ~27 minutes monthly. OpenAI and Deepgram give signup credits instead.

What's the cheapest text-to-speech API?

For a hosted API, OpenAI's gpt-4o-mini-tts at $0.015 per minute is the cheapest quality option, while Google Cloud and Amazon Polly Standard are $4 per 1M characters ($0.004/min). If you can run a GPU, self-hosted OmniVoice costs $0 per character, only your compute and electricity.

Can I self-host a text-to-speech model instead of using an API?

Yes. OmniVoice, Piper, Kokoro, and Coqui are open-source and run fully local. For managed on-prem, Azure offers disconnected (air-gapped) containers and Deepgram offers enterprise self-host. Self-hosting is worth it for HIPAA, air-gapped data, rare languages, or very high volume where per-character billing hurts.

Which TTS APIs support streaming or websockets?

Cartesia, Deepgram, OpenAI, ElevenLabs, and PlayHT all support streaming, with Cartesia and Deepgram being websocket-native and best suited to live conversation. OmniVoice is batch-only, so it synthesizes a full clip before returning audio and isn't a fit for real-time voice agents.

Does OpenAI or ElevenLabs have the better TTS API?

Different jobs. OpenAI wins on price and steerability (prompt how a line should sound) and it's already in your stack. ElevenLabs wins on raw voice quality, a bigger library, and instant cloning. For full agents, compare both against orchestration options in our voice-agent platform breakdown.

How do I clone a voice through a TTS API, and how long a clip do I need?

Clip length varies. ElevenLabs clones instantly from any voice ID, Cartesia and OmniVoice need about a 3 second sample, and PlayHT wants 3 to 10 seconds. Amazon Polly, Deepgram, and Google Cloud use preset voices only (Azure's Custom Neural Voice requires a formal enrollment process).

What's the difference between per-character and per-token/per-minute pricing?

Most TTS APIs bill per character of input text, which is easy to predict. OpenAI's gpt-4o-mini-tts bills per audio-output token instead, so cost tracks the length of the generated speech, not the source text. For voice agents, convert both to dollars per minute of talk time to compare fairly.

Sources

Tags

text to speech apitts apibest tts apiselevenlabs apiopenai tts

Share this article

Start Your Project

Ready to build something extraordinary?

Let's turn your vision into reality. Our team is ready to help you create software that makes a difference.