Voice Design. Live today.

How to Estimate TTS Costs at Scale: A Practical Guide

14 min read

By Gradium. Data as of September 2026.

Key takeaways

  • Three inputs decide the bill: response length in characters, monthly conversations times turns, and Speech-to-Text seconds. About 750 characters make one minute of audio.
  • Gradium bills from one credit pool: 1 credit per Text-to-Speech character, 3 per Speech-to-Text second. Plans run from Free at 45,000 credits to L at 45M (pricing read September 8, 2026).
  • Worked example, 12M characters plus 400,000 Speech-to-Text seconds: 13.2M credits, covered by the M plan plus pay-as-you-go at about $508 per month, against $1,615 for L.
  • Concurrency, not credits, is usually the first limit a growing agent hits: 2, 5, 5, 10 and 15 concurrent Text-to-Speech sessions from Free through L.
  • At that volume on September 8, 2026 list prices: Inworld about $317, Deepgram about $389, Gradium about $508, ElevenLabs about $643. The cheapest line, OpenAI at about $210, recorded a 3,927 ms P95 on Coval the same day.

TTS pricing looks simple until you project costs at production volume. Providers use different billing units (characters, credits, minutes, tokens), bundle different services into the base price, cap concurrency differently by plan, and apply different rules to overage. A provider at $15 per million characters sounds far cheaper than one at $340 per month until you calculate what the monthly plan covers, what the concurrency cap allows, and what a single-vendor pipeline saves on a separate STT bill.

This guide covers how to convert between billing units, how to estimate monthly usage from product metrics, how Gradium's credit system works in detail, and how to compare total pipeline cost across providers.

The three inputs you need before estimating costs

Average response length in characters

TTS billing is per character of input text synthesized. The relevant metric is how many characters your LLM generates per response, not how many words the user hears.

A practical baseline from Gradium's docs: one minute of TTS audio requires approximately 750 characters.[1] Working backwards, multiply your average response length in words by about 5 (average word length plus a space) to get a character count. A 50-word response is roughly 250 characters. A 150-word response is roughly 750 characters, or about one minute of audio.

Monthly conversation volume

Conversations per month, multiplied by the average number of agent turns per conversation, gives your monthly TTS request count. Each request is one agent turn: one response synthesized.

Monthly TTS characters = conversations per month × turns per conversation × average response length in characters

Example: 5,000 conversations × 8 turns × 300 characters = 12,000,000 characters per month

STT volume

If your pipeline transcribes user speech in real time, STT adds to monthly credit consumption. The relevant metric is total seconds of user audio per month.

Monthly STT seconds = conversations per month × turns per conversation × average user turn duration in seconds

Example: 5,000 conversations × 8 turns × 10 seconds = 400,000 STT seconds per month

Whether STT is included in your TTS plan or billed separately is one of the largest variables in total pipeline cost.

How Gradium's credit system works

The conversion rates

Gradium uses one credit pool for every model:[2]

  • 1 TTS character = 1 credit (about 45,000 characters, or 45,000 credits, per hour of audio)
  • 1 STT second = 3 credits (10,800 credits per hour of audio)
  • 1 second of speech-to-text translation = 4 credits
  • 1 second of speech-to-speech translation = 30 credits

TTS and STT are directly comparable in credit terms: one second of STT costs the same as 3 TTS characters. For a mixed TTS plus STT workload, one pool covers both, which simplifies budgeting compared with two billing lines.

The plans

Source: gradium.ai/pricing, September 8, 2026. Effective TTS rate per million characters if the whole allocation is used for TTS: XS $57.8, S $47.8, M $37.8, L $35.9. Annual billing includes one month free (12 months for the price of 11).[3]

Plan Price per month Credits TTS hours STT hours TTS concurrency STT concurrency Instant clones Pro clones Extra 100k credits
Free $0 45,000 ~1 ~4 2 3 5 (no commercial use) 0 not available
XS $13 225,000 ~5 ~21 5 20 1,000 0 $6.90
S $43 900,000 ~20 ~83 5 20 1,000 0 $5.00
M $340 9,000,000 ~200 ~833 10 40 1,000 5 $4.00
L $1,615 45,000,000 ~1,000 ~4,167 15 60 1,000 20 $3.80
Enterprise Custom Unlimited Unlimited Unlimited Custom Custom Unlimited Unlimited Custom

Overage handling

Paid plans include pay-as-you-go billing above the monthly allocation. From Gradium's pricing FAQ: "Most of our plans offer a usage-based billing option, allowing you to exceed your plan quota and pay as you go. To activate this, go to your settings. If not activated, you will not be able to access the models once all credits have been used. The applicable rate is indicated at the bottom of the pricing table, per 100k credits."[2] The rate depends on the plan: $6.90 per 100k credits on XS, $5.00 on S, $4.00 on M, $3.80 on L.

Credit rollover

Plan credits do not roll over. From the FAQ: "Credits from your plan must be used within the current month and cannot roll over to the next month. Any remaining pay-as-you-go credits will roll over to the next month."[2] Unused plan credits are lost at the end of each billing cycle; pay-as-you-go credits are kept.

How to calculate your required plan

TTS-only workload

If your pipeline uses only TTS through Gradium, your monthly credit requirement equals your monthly character volume.

Example: 5,000 conversations × 8 turns × 300 characters = 12,000,000 credits per month.

Two ways to cover 12M credits: the L plan ($1,615, 45M credits, most of it unused at this volume), or the M plan plus pay-as-you-go: $340 for 9M credits, then 3M extra credits at $4.00 per 100k = $120, for $460 per month. Below roughly 32M credits per month, M plus overage is cheaper than L; above that, L wins. Check the concurrency column before deciding (see below).

Mixed TTS plus STT workload

When STT draws from the same pool:

  • TTS: 12,000,000 credits
  • STT: 5,000 × 8 × 10 seconds × 3 credits = 1,200,000 credits
  • Total: 13,200,000 credits per month

On the M plan plus pay-as-you-go: $340 + (4.2M × $4.00 per 100k) = $340 + $168 = $508 per month for TTS and STT together, an effective $38.5 per million credits.

Pro Voice Clone costs

Pro Voice Clones add two cost components. From the pricing FAQ: "Pro Voice Clones involve two costs: a one-time training fee of 1M credits and a usage rate of 1.2 credits per character."[2] Synthesis with a Pro Voice Clone costs 20% more per character than standard TTS. For 12M characters per month synthesized with a Pro Voice Clone, the credit cost is 14.4M instead of 12M. Pro Voice Clones are available from the M plan (5 included) and L plan (20 included); the training fee is charged once per clone.

Comparing total pipeline cost across providers

The right unit: total pipeline cost per month

The most common mistake in TTS cost comparison is using only the per-character rate. The correct comparison accounts for TTS character cost, STT cost (included or separate), voice cloning access (included, separate, or per clone), and concurrency limits (whether your peak load forces a plan upgrade).

Provider comparison at 12M characters plus 400k STT seconds per month

List prices on September 8, 2026; STT converted from 400,000 seconds = 111 hours = 6,667 minutes.[4]

Sources: gradium.ai/pricing; elevenlabs.io/pricing/api; inworld.ai/tts-api; cartesia.ai/pricing; deepgram.com/pricing; openai.com/api/pricing and Inworld's pricing comparison for tts-1. Cartesia overage depends on plan and is not published as a flat rate.

Provider TTS cost STT cost Total Notes
Gradium, M plan + pay-as-you-go $340 + $120 overage $48 (1.2M credits at overage rate) ~$508 One credit pool; 10 concurrent TTS sessions on M
ElevenLabs Flash v2.5 or v3 Conversational 12M × $50 per 1M = $600 Scribe v2 Realtime $0.39 per hour × 111 h = ~$43 ~$643 API pricing; subscription tiers cap characters and concurrency separately
Inworld Realtime TTS-2 (on-demand) 12M × $25 per 1M = $300 $0.15 per hour × 111 h = ~$17 ~$317 Falls to $5 per 1M at enterprise commit
Cartesia Sonic 3.6 (Scale plan) $299 for 8M credits + overage for 4M Ink-2 STT draws from the same credits $299 + overage 15 concurrent TTS sessions on Scale
Deepgram Aura-2 12M × $30 per 1M = $360 Nova-3 $0.0043 per minute × 6,667 min = ~$29 ~$389 Separate products, one invoice
OpenAI tts-1 12M × $15 per 1M = $180 GPT-Transcribe $0.0045 per minute × 6,667 min = ~$30 ~$210 Not designed for real-time agents (see below)

The cheapest line is not the answer. On the Coval dashboard on September 8, 2026 (1-day window), OpenAI's GPT-4o mini TTS recorded a 3,927 ms P95 TTFA, which rules it out for real-time voice agents regardless of price.[5] Cartesia Sonic 3.6 recorded 440 ms median TTFA the same day, above the 300 ms budget most voice-agent pipelines allow for TTS. The cost comparison is only meaningful between providers that meet the same production requirements: TTFA, structured-content accuracy, language coverage, and concurrency. How Coval measures perceived time to first audio, and the June 3, 2026 change that introduced the metric, is explained in How a benchmark change produced a faster TTS model.

Concurrency and session architecture

Concurrency limits by plan

Concurrency is the number of TTS sessions a plan allows at the same time, and it is the constraint most likely to force a plan change before credits do. Gradium publishes it per plan: 2 concurrent TTS sessions on Free, 5 on XS and S, 10 on M, 15 on L, custom on Enterprise (STT: 3, 20, 20, 40, 60).[2] Cartesia's plans allow 2, 3, 5 and 15; ElevenLabs Flash allows 4 to 30 depending on subscription tier; Deepgram allows 45 on pay-as-you-go.[4]

To size concurrency, estimate peak simultaneous conversations rather than monthly volume: peak concurrent sessions ≈ conversations per hour at peak × average conversation duration in hours. A product handling 60 conversations in its busiest hour, each lasting 3 minutes, needs about 3 concurrent sessions on average and headroom for bursts; 600 conversations per hour needs about 30. Credit consumption is identical whether requests arrive sequentially or concurrently: 1 credit per TTS character, 3 per STT second.

Session duration

A Gradium TTS or STT session can run up to 3,000 seconds (50 minutes) per WebSocket connection.[6] For longer content, open a new session and pass the same voice or clone ID in the setup message; voice identity is stable across sessions, as keeping a voice consistent across sessions walks through. Session boundaries do not change cost: credits are consumed per character synthesized and per second transcribed, not per session opened. The free tier additionally caps each session at 1,500 characters.

WebSocket multiplexing and cost

WebSocket multiplexing reuses one persistent connection across multiple TTS streams. It reduced Gradium's effective TTFA from 258 ms to 214 ms P50 in Gradium's March 2026 benchmark (see WebSocket multiplexing on Gradium TTS) and has no billing impact: credits are consumed on synthesized audio, not on connection overhead.[7] It also reduces the number of open connections per unit of throughput, which matters when you approach a plan's concurrency limit.

Enterprise

Enterprise plans include unlimited credits, custom concurrency, multi-region deployment, a 99.9% uptime SLA, private cloud or on-premise options, and direct engineering support.[8] Zero Data Retention is available self-serve on all paid plans since September 2026, with enterprise extending it to voice-design prompts and cloning samples.[9]

A cost estimation worksheet

Input Example value Your value
Conversations per month 5,000
Average agent turns per conversation 8
Average agent response length (characters) 300
Monthly TTS characters (= credits) 12,000,000
Average user turn duration (seconds) 10
Monthly STT seconds 400,000
Monthly STT credits (× 3) 1,200,000
Total monthly credits 13,200,000
Peak concurrent sessions conversations per peak hour × duration in hours
Plan that covers concurrency M (10 concurrent TTS)
Plan cost + overage $340 + 4.2M × $4.00 per 100k = $508
Effective rate per 1M credits $38.5
Pro Voice Clone training fee 1M credits, once per clone
Pro Voice Clone usage rate 1.2 credits per character

Fill in your own values to identify the right plan and total monthly cost.

Glossary

Credit: Gradium's billing unit. 1 TTS character = 1 credit; 1 STT second = 3 credits; 1 second of speech-to-text translation = 4 credits; 1 second of speech-to-speech translation = 30 credits. All models share one monthly pool. Plan credits do not roll over; pay-as-you-go credits do.

Per-character rate: The effective cost per million TTS characters on a given plan, calculated by dividing the plan price by the credit allocation. On Gradium it ranges from $57.8 per million on XS to $35.9 per million on L, with pay-as-you-go overage from $6.90 to $3.80 per 100k credits.

Pay-as-you-go: An optional billing mode that allows usage above the monthly plan allocation at a per-100k-credit rate that depends on the plan. Must be activated in account settings. Pay-as-you-go credits roll over month to month.

Concurrency limit: The maximum number of simultaneous sessions a plan allows. On Gradium: 2, 5, 5, 10 and 15 concurrent TTS sessions on Free, XS, S, M and L, custom on Enterprise. Usually the first constraint a growing voice agent hits, before credits.

Session duration: The maximum length of one Gradium WebSocket session, 3,000 seconds. Longer content is split across sessions with the same voice ID. Credit consumption is per character synthesized and per second transcribed, not per session.

Effective pipeline cost: The total monthly cost of TTS, STT and voice cloning across every provider in a voice agent pipeline, at the concurrency the product needs. The correct comparison unit when providers bundle different services into their base plan.

References

[1] Gradium docs, FAQ, docs.gradium.ai/guides/faq [2] Gradium pricing page and FAQ, gradium.ai/pricing, read September 8, 2026 [3] Gradium, "How to compare TTS pricing across providers in 2026", gradium.ai/content/how-to-compare-tts-pricing-across-providers-2026 [4] Vendor pricing pages read September 8, 2026: elevenlabs.io/pricing/api; inworld.ai/tts-api; cartesia.ai/pricing; deepgram.com/pricing; openai.com/api/pricing; Inworld, "TTS API Pricing Comparison (2026)", inworld.ai/resources/tts-api-pricing-comparison [5] Coval TTS benchmark, benchmarks.coval.ai/tts, 1-day window, read September 8, 2026 [6] Gradium docs, Limits, docs.gradium.ai/guides/limits [7] Gradium, "Time to First Audio", March 24, 2026, gradium.ai/blog/time-to-first-audio [8] Gradium, "Best text-to-speech API for voice agents", gradium.ai/content/best-text-to-speech-api-voice-agents [9] Gradium, "Build voice agents with EU and US residency and Zero Data Retention", September 2, 2026, gradium.ai/blog/eu-data-residency-zero-data-retention

Part of the pricing and scale cluster, hub at how to compare TTS pricing across providers. Its siblings:

Beyond this topic

Cost is one axis of the plan decision. WebSocket multiplexing on Gradium TTS covers the connection limits that usually bind before credits do, How to Clone a Voice or Create a Custom Voice with Gradium covers the one-time and per-character costs of a Pro Voice Clone, and best speech APIs 2026 covers what putting Speech-to-Text on the same bill saves. For the head-to-head the comparison table summarizes, see Gradium vs ElevenLabs for voice agents.

Gradium's free tier includes 45,000 credits per month with no credit card. API reference and quickstarts are at docs.gradium.ai. For enterprise evaluations, use our contact form.

Frequently Asked Questions