TTS API concurrency and rate limits, October 2026: which plans run 20 concurrent streams
On 1 October 2026, SpeechifyAI's $10 Starter plan allowed 15 concurrent text-to-speech requests and its $99 Pro plan 30. Concurrency and rate limits for 14 text-to-speech APIs, plan by plan, read from each provider's own pages that day.

On 1 October 2026, SpeechifyAI’s $99 Pro plan allowed 30 concurrent text-to-speech requests, streaming included, where ElevenLabs’ $99 Pro plan allowed 20 on its Flash models and no cheaper subscription plan from any provider reached 20. SpeechifyAI’s $10 Starter plan allowed 15, and no other provider’s subscription plan under $99 a month allowed more than 10 (snapshot).
| Provider and model | Concurrent requests | Cheapest plan with 20 or more |
|---|---|---|
| Rime | 20 | Starter, no plan fee |
| Amazon Polly SynthesizeSpeech, generative | 26 | Any account, no plan fee |
| Deepgram Aura-2, streaming | 45 | Pay as you go, no plan fee |
| Google Cloud TTS, Chirp 3 HD streaming | 100 sessions | Any project, no plan fee |
| ElevenLabs, Flash | 20 | Pro, $99 a month |
| SpeechifyAI | 30 | Pro, $99 a month |
| Inworld | 50 | Builder, $100 a month |
| Hume | 20 | Scale, $200 a month |
| Fish Audio | 50 | High Volume, $1,000 or more prepaid |
The cheapest routes to 20 concurrent streams carry no plan fee at all. Rime’s usage-billed Starter plan allows 20, Amazon Polly’s generative voices 26 over SynthesizeSpeech (its bidirectional streaming API allows 8), Deepgram’s pay-as-you-go streaming API 45 and Google Cloud’s Chirp 3 HD streaming 100 sessions per project (snapshot). Among monthly subscriptions, $99 is the floor: SpeechifyAI’s Pro plan allows 30 and ElevenLabs’ Pro plan 20 on Flash, while Inworld’s $100 Builder plan allows 50.
At 15 concurrent requests, the cheapest subscription after our $10 Starter plan was ElevenLabs’ $99 Pro plan, on its Flash models. Cartesia needs its $299 Scale plan for 15, and Hume its $200 Scale plan, which allows 20 (snapshot).
Below: every plan’s limit side by side, the request-rate limits, how each provider counts a request, what happens past the limit, the availability commitments each one publishes, and where SpeechifyAI is behind.
Every plan’s limit
Each self-serve plan’s monthly price and the concurrent text-to-speech requests it allows, as each provider published them on 1 October 2026 (snapshot).
| Provider and model | Plan (price): concurrent requests |
|---|---|
| SpeechifyAI | Free ($0): 3, Starter ($10): 15, Pro ($99): 30, Scale ($499): 60, Enterprise: from 100 |
| ElevenLabs, Flash | Free ($0): 4, Starter ($6): 6, Creator ($22): 10, Pro ($99): 20, Scale ($299): 30, Business ($990): 30, Enterprise: custom |
| ElevenLabs, Multilingual v2 | Free ($0): 2, Starter ($6): 3, Creator ($22): 5, Pro ($99): 10, Scale ($299): 15, Business ($990): 15, Enterprise: custom |
| Cartesia | Free ($0): 2, Pro ($5): 3, Startup ($49): 5, Scale ($299): 15, Enterprise: custom |
| Inworld | On-Demand (no plan fee): 5, Creator ($25): 10, Builder ($100): 50, Developer ($300): 150, Growth ($1,500): 500, Enterprise: custom |
| Hume | Free ($0): 1, Starter ($3): 5, Creator ($14): 5, Pro ($70): 10, Scale ($200): 20, Business ($500): 30, Enterprise: custom |
| Gradium | Free ($0): 2, XS ($13): 5, S ($43): 5, M ($340): 10, L ($1,615): 15, Enterprise: custom |
| Rime | Starter (no plan fee): 20, Enterprise: custom |
| Deepgram Aura-2, streaming | Pay as you go (no plan fee): 45, Growth ($4K+ / year): 60, Enterprise: from 100 |
| Deepgram Aura-2, REST | Pay as you go (no plan fee): 15, Growth ($4K+ / year): 15, Enterprise: from 25 |
| Fish Audio | Starter (under $100 prepaid): 5, Elevated ($100 or more prepaid): 15, High Volume ($1,000 or more prepaid): 50, Enterprise: custom |
| Google Cloud TTS, Chirp 3 HD streaming | Any project (no plan fee): 100 sessions |
| Amazon Polly SynthesizeSpeech, generative | Any account (no plan fee): 26 |
| Amazon Polly SynthesizeSpeech, neural | Any account (no plan fee): 18 |
Concurrent requests are not concurrent calls
A voice agent synthesizes speech only while it is talking, so one concurrent request can carry several calls. Cartesia puts the parallel conversations a plan supports at “effectively 4X your concurrency limit”, and Inworld puts concurrent user sessions at “typically at least 4x your concurrent request limit” (snapshot). That ratio is arithmetic, not a feature, and it holds for every API in this post, ours included, because it depends on how much of each call is spent speaking. Microsoft’s quota guide works the same arithmetic for a call center: 1,000 concurrent calls, with agents speaking half the time in five-second replies, need 100 text-to-speech transactions a second. On the SpeechifyAI API, a request holds its slot until its response has finished, so a long `/v1/audio/stream` response holds one for the whole stream.
Request-rate limits
A concurrency limit caps how many requests run at once, and a rate limit caps how many start each second or minute. Azure, OpenAI and MiniMax publish only a rate limit, and Google, Amazon and Hume publish both (snapshot).
| Provider | Published request-rate limit |
|---|---|
| SpeechifyAI | Free: 1 a second, burst 10; Starter: 20, burst 60; Pro: 40, burst 120; Scale: 80, burst 240; Enterprise: from 150, burst 450 |
| Google Cloud TTS | 1,000 requests a minute per project; 200 a minute for Chirp 3 HD |
| Amazon Polly | SynthesizeSpeech: 8 a second for generative and neural voices (neural bursts to 10), 80 for standard voices |
| Azure Speech | Free (F0): 20 a minute, fixed; Standard (S0): 30 a second by default, adjustable up to 1,000 |
| OpenAI tts-1 | Free: 3 a minute; Tier 1 ($5 paid): 500; Tier 5 ($1,000 paid): 10,000 |
| OpenAI gpt-4o-mini-tts | Tier 1: 500 a minute and 50,000 tokens a minute; Tier 5: 10,000 and 8,000,000 |
| Hume | 15 a minute on Free and Starter, 75 on Creator and Pro, 150 on Scale, 225 on Business |
| MiniMax | Pay as you go: 60 a minute, with no concurrency (CONN) figure; audio subscriptions from 10 a minute ($5) to 800 ($999) |
How each provider counts a request
Two plans with the same number can behave differently, because providers count different things (snapshot):
- Per account, across endpoints: SpeechifyAI counts every synthesis endpoint, streaming included, against one budget per account, and Inworld’s limits “apply per account and are shared across your API keys”.
- Per model family: ElevenLabs sets one limit for its Flash models and a lower one for Multilingual v2, and states no separate figure for Eleven v3.
- Per connection type: Deepgram allows 15 concurrent REST requests on its self-serve plans and 45 or more streaming ones, and Cartesia counts the contexts active at once, where every HTTP request is its own context.
- Per project, or per account and region: Google’s quotas apply to each Cloud project and Amazon Polly’s to each account in each region, and both are raised through a console request.
- By total spend: Fish Audio’s tiers unlock “as soon as your total prepaid amount reaches the threshold”.
What happens past the limit
Past the limit a provider either refuses the request or holds it, and the two fail differently under load (snapshot):
- Refused with 429: SpeechifyAI, Cartesia and Inworld return
429 Too Many Requests, and ours carries aRetry-Afterheader and an error code,rate_limitedorconcurrency_limit_reached, that says which limit was hit. - Queued: ElevenLabs processes requests past its limit “in a queue alongside lower-priority requests”, which it says “typically only adds ~50ms of latency”.
- Throttled with HTTP 400: Amazon Polly returns a
ThrottlingException. - Refused for capacity, not quota: Microsoft says most 429 errors on Azure’s standard voices come from “limited backend service capacity for a specific voice in the selected region”, which a higher quota does not cure.
- Not stated: The pages we read from Rime, Deepgram, Hume, Gradium, Fish Audio and Google do not say.
A refusal shows up in a load test as errors and a queue as latency, so test at the concurrency you expect and watch both.
Published availability commitments
On the pages we read on 1 October 2026, the providers’ availability commitments were these (snapshot):
- Amazon Polly is covered by AWS’s Machine Learning Language SLA, which credits 10% of a month’s charges when a region’s monthly uptime falls below 99.9%, 25% below 99.0% and 100% below 95.0%.
- Deepgram lists “Standard Uptime” on its self-serve plans, without a percentage.
- ElevenLabs, Inworld and Rime offer SLAs on Enterprise contracts.
- Cartesia, Hume, Gradium and Fish Audio show no SLA on the pricing and limits pages we read.
- Google and Microsoft publish SLA documents for their speech services, but neither rendered for our reader, so their terms are not quoted here.
- SpeechifyAI publishes neither an uptime percentage nor an SLA, and our pricing page lists dedicated support on the Scale plan.
Where SpeechifyAI is behind
The same reading shows where we are behind (snapshot):
- The free plan: Ours allows 3 concurrent requests and 1 request a second, and pauses at 500,000 characters a month, while Rime’s Starter allows 20 and Deepgram’s pay-as-you-go streaming API 45, billed per use with no plan fee.
- Around $100 a month: Inworld’s $100 Builder plan allows 50 concurrent requests, against 30 on our $99 Pro plan.
- Ceilings raised on request: Azure raises its Standard text-to-speech rate up to 1,000 transactions a second on request, and Google and Amazon raise their quotas through a console, while our limits rise with the plan and Enterprise limits are set in the contract.
- No uptime commitment: AWS publishes the 99.9% line where its Polly credits start, and we publish neither an uptime percentage nor an SLA.
SpeechifyAI’s limits by plan
Our limits are counted per account and shared by every text-to-speech endpoint: /v1/audio/speech, /v1/audio/stream and /v1/audio/stream/with-timestamps (API limits).
| Plan | Monthly price | Concurrent requests | Requests a second | Burst |
|---|---|---|---|---|
| Free | $0 | 3 | 1 | 10 |
| Starter | $10 | 15 | 20 | 60 |
| Pro | $99 | 30 | 40 | 120 |
| Scale | $499 | 60 | 80 | 240 |
| Enterprise | Custom | from 100 | from 150 | from 450 |
Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset, so a client can pace itself before it is refused.
Upgrading in the console raises the limits immediately.
Inside those limits, we can also set a limit for each end user of your own app, on request.
How we read the limits
We read each provider’s own documentation and pricing pages on 1 October 2026 and kept every figure, with a verbatim quote and its source page, in the snapshot. Every concurrency figure was read at least twice, and where two reads disagreed, the snapshot records which one we kept and why. Prices are the monthly-billed price in US dollars, before tax. Pages our reader could not open are listed in the snapshot, and nothing from them is used: ElevenLabs’ help center article on request limits, Google’s SLA and pricing pages, Microsoft’s SLA document and OpenAI’s Scale Tier page. Enterprise contracts, regional differences and quotas raised on request are out of scope. What these APIs cost at 1M, 10M and 100M characters a month is in our TTS API pricing comparison. How text-to-speech models score with blind listeners is in our comparison of TTS APIs by Elo and price.
Size for your busiest minute
Count the streams your product holds open in its busiest minute, add headroom, and choose the plan that covers them, knowing whether its provider refuses or queues the rest. You can start free with 3 concurrent requests and 500,000 characters a month, then move to Starter for 15 or Pro for 30 when your traffic needs them.
Common questions
Which TTS APIs can handle 20 concurrent streaming requests?
How many concurrent requests does the SpeechifyAI TTS API allow?
How many concurrent TTS requests does a $10 monthly plan buy?
What happens when a TTS API's concurrency limit is reached?
This post is narrated by Harper on Simba 3.2 through our text to speech API. How the player works: add read-aloud to your docs and turn speech marks into captions.
Related reading
Build guidesOct 15, 2026
Limit one end user, not your whole workspace.
Build guidesOct 15, 2026
Per-user rate limits for a text-to-speech API: limit or block one end user with safety_identifier
Benchmarks & pricingUpdated Sep 28, 2026
$91a month for 10M characters
Benchmarks & pricingUpdated Sep 28, 2026
TTS API pricing 2026: what 1M, 10M and 100M characters a month really cost
Build guidesUpdated Oct 12, 2026
49 msfrom a finished sentence to first sound
Build guidesUpdated Oct 12, 2026
WebSocket TTS streaming for voice agents: LLM tokens in, speech out, measured in October 2026
Benchmarks & pricingUpdated Oct 16, 2026
1,237Elo on Artificial Analysis
Benchmarks & pricingUpdated Oct 16, 2026
Best TTS APIs 2026: 10 models compared by Elo and price