Pricing

Pay per character. No subscriptions. No hidden fees.

$5 / 1M characters

≈ 22 hours of speech

Tier 1
Default
Every account starts here after the first top-up.
60 requests / minute
5 concurrent streams
Full voice library + cloning
Dashboard analytics
Tier 2
$50 lifetime
Auto-upgrades once cumulative purchases reach $50.
600 requests / minute
25 concurrent streams
Everything in Tier 1
Priority throughput
Tier 3
High volume
For production agents at scale — contact us.
6,000 requests / minute
100 concurrent streams
Everything in Tier 2
Custom limits

Concurrency is measured per active-speech turn, not per call — most conversational workloads run many simultaneous calls within a single concurrency slot. These are current limits, not hard caps; we raise them per customer as you scale.

Pay as you go

Buy credits once, use anytime. Credits never expire.

$5 / 1M characters

$5
1M characters
$20
4M characters
$50
10M characters
$100
20M characters

Top up any custom amount of $5 or more.

Pricing FAQ

How does billing work?

You top up credits upfront (any amount from $5). Each character of input you convert to speech uses one credit. No recurring charges or subscriptions.

Do credits expire?

No. Credits you purchase never expire. Use them at your own pace.

How do the tiers work?

Rate and concurrency limits are per org and scale by tier. New accounts are tier1; once your org's cumulative purchases cross $50 it auto-upgrades to tier2. Contact us for tier3. These are current limits, not hard caps — we raise them per customer as you scale.

Do more API keys give me more capacity?

No. Rate limit, concurrency, and tier are shared across your whole org — all of your API keys draw on the same rpm bucket and concurrency pool. Extra keys are for rotation and security, not more budget; creating five keys doesn't give you five times the limits.

What counts as a concurrent stream?

A stream counts against your concurrency limit only while it's actively generating audio — roughly 0.5–4 seconds per spoken turn — and the slot is freed the instant the turn ends. Idle time between turns (the user talking, silence, thinking) costs nothing. So concurrency counts simultaneous active-speech turns, not simultaneous calls: because only ~10–30% of a live call is active TTS, one slot comfortably serves many calls at once, and Tier 1's 5 concurrent supports far more than 5 live conversations.

What counts as a request for the per-minute limit?

One request per HTTP call for /tts/bytes and /tts/sse. For /tts/websocket it's one request per connection, charged when the socket opens — not per message — so a long-lived socket streaming many turns costs a single request. Hold a socket open per call for free; you only spend concurrency on overlapping speech.

What happens if I hit the concurrency limit?

Only the one turn that overflowed is affected — it gets a concurrent_limit error while the socket and your other streams keep running. Back off and retry that turn on a fresh context; there's no partial-audio penalty, since failed generations are never charged.

Can I get a refund?

Unused credits can be refunded within 14 days of purchase. Contact support for assistance.

Do you offer volume discounts?

For high-volume usage, contact us to discuss custom pricing. Standard usage is $5 per 1M characters.

Start building

Create an account, generate an API key, and top up when you're ready.