Dissolve Labs

Three TTS Vendors, Three Different Traps

Vendors’ price-per-character figures look comparable, but concurrency limits and downgrade penalties are gated by three completely different, non-published mechanisms.

5 min read
Four distinct sculptures with different small objects representing hidden pricing gates.

Two developers are comparing text-to-speech quotes in a shared doc. Both plans cost about $300 a month. Both vendors call it the "Scale" tier. One of them turns to the other and asks the obvious question: "so why did my bill grow 6x when volume went up, and yours barely moved?"

Neither of them is wrong about their own vendor. They're just looking at two completely different pricing philosophies wearing the same "$/month" costume, and pricing philosophy isn't even the axis that ends up deciding whether the choice was right.

Some vendors treat text-to-speech as a flat-rate commodity: pay more, get a bigger bucket, not a cheaper rate per character. Others give a real, structural discount for committing to volume, steep enough on one vendor's curve to look like the obvious winner on a spreadsheet. It isn't, not on its own, because the number that actually determines whether your product works, how many calls can run at the same time, is gated by a completely different mechanism on every vendor, and none of them publish it next to the price. One ties concurrency to your subscription tier. Another ties it to a different product plan entirely than the one setting your character rate. A third ties it to nothing about your plan at all, to cumulative lifetime spend, so a longtime customer on a cheap tier can outrank a brand-new customer on the expensive one.

And "you're not stuck at the top tier if your usage drops" is true on paper for every vendor here, with a different catch each time: credits forfeited on downgrade, a hard usage block instead of an overage option, a tier you have to buy into just to unlock pay-as-you-go pricing at all. None of it is disclosed anywhere you'd naturally look while comparing price-per-character charts.

Three axes, four vendors, no two gated the same way

Click a column header to sort. Hover a cell for why it matters

Vendor
CartesiaFlat rate, every tierSubscription tier (two separate ladders)Free tier hard-blocks; paid tiers allow overage
ElevenLabsReal volume discountA different plan than the TTS tierStandard, at billing-period boundary
Fish AudioFlat rate, every tierLifetime spend, not your planRequires a paid sub just to unlock PAYG
InworldSteepest volume discountSubscription tier (same ladder as pricing)Downgrade forfeits rolled-over credit

That's the actual buying decision: three variables that don't move together, gated by three different mechanisms, none of them visible from the pricing page you're staring at. Getting the combination wrong doesn't show up in month one, it shows up the first time your traffic spikes and the vendor that looked cheapest on paper throttles you, or the vendor with the best concurrency turns out to bill you for volume you never asked for.

Every vendor here has real strengths outside this one comparison axis. This is about reading the fine print, not ranking the vendors overall. We model all three axes against a client's actual traffic pattern before recommending a vendor, because "cheapest at scale" on a chart and "right for your product" are two different questions, and no vendor's pricing page answers both at once.