Developers

Best Text to Speech API for Developers in 2026

Best text to speech API for developers in 2026: compare OpenAI, Google, Azure, Amazon Polly, ElevenLabs and Deepgram on dated, published prices.

10 min read
By OndaLabs Team

There is no single best text to speech API. The right choice depends on billing unit, voices, response speed and compliance rules. As of October 2026, per-character list prices start at $4 per 1 million characters for Polly Standard and Google Standard, and reach $80 for ElevenLabs v4 (derived).

This guide sets out how to compare the APIs, shows the published prices side by side and matches each vendor to the jobs it fits. All prices and limits were checked on the vendor pages on 2026-10-17.

How to pick the best text to speech API

Compare vendors on billing unit, free tier, limits, streaming, languages and voices, cloning terms and licensing before you read any price table. Billing unit matters most, because per-character, per-token, per-byte and per-1,000-character prices are not interchangeable.

Text to speech API prices compared

The table below uses list prices from each vendor's pricing page. Where a vendor bills per 1,000 characters, or per token, the per-1-million-character figure is derived and labelled.

| API or model | Billing unit | List price | Per 1M characters | Free tier | |---|---|---|---|---| | Amazon Polly Standard | Per 1M characters | $4.00 | $4 | 5M characters per month | | Google Standard and WaveNet | Per 1M characters | $4 | $4 | 4M characters per month | | Azure Standard (Neural) | Per 1M characters | $15 | $15 | 0.5M characters per month (F0) | | OpenAI tts-1 | Per 1M characters | $15.00 | $15 | None stated | | Amazon Polly Neural | Per 1M characters | $16.00 | $16 | 1M per month, first 12 months | | Google Neural2 | Per 1M characters | $16 | $16 | 1M per month | | Azure Neural HD | Per 1M characters | $22 | $22 | None stated | | Amazon Polly Generative | Per 1M characters | $30 | $30 | 100K per month, first 12 months | | Google Chirp 3 HD | Per 1M characters | $30 | $30 | 1M per month | | OpenAI tts-1-hd | Per 1M characters | $30.00 | $30 | None stated | | Deepgram Aura-2, pay as you go | Per 1,000 characters | $0.030 | $30 (derived) | $200 credit | | ElevenLabs v4 Turbo | Per 1,000 characters | $0.04 | $40 (derived) | Free plan | | ElevenLabs v4 | Per 1,000 characters | $0.08 | $80 (derived) | Free plan | | OpenAI gpt-4o-mini-tts | Per 1M tokens | $0.60 text in, $12.00 audio out | Not comparable | None stated | | Gemini 3.8 Flash TTS | Per 1M tokens | $0.50 in, $9.00 out, to 2026-12-31 | About $0.0135 per audio minute (derived) | Gemini API free tier |

Sources: OpenAI pricing, Google Cloud text to speech pricing, Gemini API pricing, Amazon Polly pricing, ElevenLabs API pricing and Deepgram pricing. The Azure rows come from the Azure Retail Prices API for East US, and are covered in our Azure text to speech guide.

Two cautions apply. Token-priced models are not directly comparable with character-priced ones, and the per-minute figure for Gemini excludes text input tokens. Some vendors also count SSML differently: Azure bills SSML markup, Google counts most SSML tags, and Polly does not bill SSML tags. A short script with heavy markup can cost more on one vendor than on another.

Best for low cost at scale

If your priority is the lowest list price per character, the strongest candidates are Amazon Polly Standard, Google Standard and WaveNet at $4 per 1 million characters, followed by Azure Neural and OpenAI tts-1 at $15. Free tiers help with prototypes, and they differ in size and duration, so check the terms before you build around them.

Keep the quality test in the loop. A cheaper voice that your users reject costs more than the price difference.

Best for expressive, instruction-driven speech

Expressive control is where the APIs differ most in how they work, not only in price.

  • OpenAI gpt-4o-mini-tts accepts an instructions parameter for tone, accent and emotional range. The parameter does not work on tts-1 or tts-1-hd.
  • Gemini 3.8 Flash TTS takes a turn-level style in speech_metadata.style and inline tags for short pauses, laughs or sighs. Its text field is a verbatim transcript.
  • Azure Dragon HD Omni supports bracket tags and the express-as element. DragonHD supports bracket tags but not express-as.

Because the controls are different, switching vendors usually means rewriting the direction layer of your scripts.

Best for real-time voice agents

Voice agents need fast first audio, streaming and enough concurrency to handle many calls. Latency claims in this market are self-reported and use different definitions, so compare them only with a test in your own region.

  • ElevenLabs says v4 Turbo has a median inference latency of about 100 ms and a median time to first speech of about 150 ms. These are ElevenLabs' own measurements against competitors.
  • Microsoft lists "less than 300 ms" for Azure Speech HD voices, and gives the same figure for non-HD voices in its table.
  • Amazon Polly Generative offers a bidirectional streaming API in eight regions, with a default of 8 transactions per second.
  • Deepgram lists concurrency of up to 45 requests on pay-as-you-go and 60 on Growth, for REST and WebSocket combined.
  • OpenAI streams audio with stream_format set to sse or audio, though it publishes no latency numbers.

Ask each vendor for a concurrency limit that matches your peak call volume, not just the default in its documentation.

Limits that bite in production

These limits are the ones most likely to break a live product. Limits are in different units, so read each row as a separate fact.

| Vendor | Maximum input per request | Throughput or concurrency | |---|---|---| | OpenAI | 4,096 characters, and 2,000 input tokens for gpt-4o-mini-tts | gpt-4o-mini-tts Build tier: 2,000 requests per minute | | Azure (real-time) | Up to 10 minutes of audio per request | S0: 30 transactions per second by default, adjustable to 1,000 | | Amazon Polly | 3,000 billed characters per synchronous request, 100,000 per asynchronous task | Standard 80 per second; Neural, Long-Form and Generative 8 per second by default | | Google Gemini TTS (general Cloud limits) | 4,000 bytes per text field; about 655 seconds of output | Not stated for 3.8 models | | Gemini API 3.8 | 8,192 input tokens | Not stated for TTS on the rate-limits page | | ElevenLabs | 5,000 characters (v3), 40,000 (Flash and Turbo), 10,000 (v2 Multilingual) | Per plan | | Deepgram Aura-2 | Not stated in this comparison | Up to 45 concurrent (pay as you go), 60 (Growth) |

Check the current limits on each vendor page before you design around them. The Google Cloud row describes general Gemini-TTS limits on Cloud, not limits stated specifically for the 3.8 models.

Voice cloning and custom voices by API

Cloning is gated at most vendors, and it is not offered at all at some.

  • OpenAI: custom voices are limited to eligible customers, and voices created from text prompts are "supported only in Live."
  • Azure: custom and personal voice require limited-access approval. MAI-Voice-2.1 offers gated instant cloning from a consented clip of 5 to 60 seconds, in public preview.
  • Google Gemini: voice replication needs a 30-second sample and verbal consent. AI Studio replication is not available in Illinois, Texas, the EEA, the UK, Switzerland and India.
  • Amazon Polly: the docs describe Brand Voice as a custom engagement, and do not describe self-serve cloning.

This guide did not verify cloning terms for ElevenLabs or Deepgram, so check their pages directly.

Where OndaLabs fits

This is a developer API roundup. OndaLabs, based on its published facts, is an AI voice studio for finished audio, not an API product, and this guide makes no API claims for it. It is a better fit for a team that has realized it needs voiceovers, dialogue or narration rather than an endpoint to call from code.

OndaLabs offers 30 prebuilt voices usable in every supported language, two-speaker dialogue, speech to text, custom voices, image generation and music generation. Onda Lite costs 1 credit per character on all plans. Onda Flash costs 1.5 credits per character on paid plans and is its most expressive model. Plans run from Free at $0 with 2,000 credits to Business at $199 per month, and commercial use is included from Starter. These plan prices are for reference only and are not a ranking against the APIs above. Review the text to speech page and the pricing page for current details.

Frequently asked questions

What is the best text to speech API in 2026?

There is no single best API. Polly, Azure, Google and OpenAI each lead in a different area, such as price per character, compliance terms, expressive control or latency. Shortlist two or three vendors that match your billing unit and limits, then test them with your own scripts.

Which text to speech API is cheapest per million characters?

Amazon Polly Standard and Google Standard and WaveNet list at $4 per 1 million characters, the lowest in this comparison. Azure Neural and OpenAI tts-1 list at $15. Token-priced models such as OpenAI gpt-4o-mini-tts and Gemini TTS cannot be compared on the same basis.

Is there a free text to speech API?

Several vendors have free tiers, but none is free forever. Azure F0 includes 0.5 million characters per month, Polly Standard includes 5 million per month, and Google includes 4 million or 1 million per month depending on the voice type. Polly's Neural, Long-Form and Generative allowances last 12 months, and Deepgram's $200 is a one-time credit.

Which TTS API has the lowest latency for voice agents?

No independent comparison in this guide settles it. ElevenLabs, Microsoft and others publish their own latency figures under different definitions. Measure time to first audio from your own region, with your own voice and your expected concurrency.

Which TTS API supports the most languages?

Each vendor states its language count differently, so the figures are not comparable. Google's Gemini docs list over 130 languages for Flash, ElevenLabs lists 90+ for v4, and Azure lists 100+ languages and locales. Check each vendor's per-language table for the languages you need.

How do I compare per-character, per-token and per-byte pricing?

Convert each vendor's price into the unit your product uses, and label any conversion as derived. Per-token prices depend on how many tokens your text and audio produce, so use the vendor's stated ratio, such as 25 tokens per second of audio for Gemini. Per-byte pricing gives a different result from per-character pricing for non-English text, so test with your actual scripts.