Character limits in free text to speech, and how to compare them honestly
Every free text-to-speech tool has a limit. The number matters far less than what it resets against — and a monthly allowance and a daily one of the same size behave nothing alike.
Every free text-to-speech tool has a cap. Any tool claiming otherwise either has one it hasn’t told you about, or is about to acquire one, because an open text box on the public internet gets found by automated traffic within days of launching.
That part is uncontroversial. The problem is that the caps are quoted in units that can’t be compared — 10,000 credits, 5,000 characters, 15,000 a month, three minutes of audio — and picking the biggest number is almost always the wrong call.
The four shapes a limit comes in
Per request. The most you can convert in one go. This one is the least interesting, because it’s usually a responsiveness guard rather than a rationing device, and long text can simply be run in passes.
Per day. A fresh allowance every morning. Generous to anyone working in bursts, because yesterday’s heavy session has no bearing on today.
Per month. A single pool for thirty days. This is the shape that causes the most trouble, and the reason is arithmetic rather than stinginess.
Per account, ever. A trial wearing a free tier’s clothes. Fine for evaluating something, useless for relying on it.
Why a monthly pool is worse than it sounds
Take a 15,000-character monthly allowance. That reads as roughly three average blog posts, which sounds fine until you notice the failure mode: it is a single pool, so one afternoon of iteration empties it.
And iteration is the normal case. Nobody converts a script once. You convert it, hear that a sentence lands wrong, fix the sentence, convert it again. Four passes over a 3,000-character script is 12,000 characters — you are done for the month, on one script, having produced one usable file.
A daily cap of the same size survives this comfortably, because the same four passes cost you one day and you start tomorrow whole. When you compare two tools, convert both to the unit you actually work in: how many times can I redo this before I’m stuck, and how long until I’m unstuck?
What the limits are here
Stated exactly, because a cap you have to discover by hitting it is a bad cap:
- 5,000 characters per request. Past that the request is refused outright with a clear message, not silently truncated.
- 20,000 characters per day, per IP address. Resets at midnight UTC.
Two honest details about the second one. It counts against you even when the result comes from cache, because serving that audio still costs something. And it’s keyed to your IP address, which means a shared or office network shares the allowance.
For scale: 20,000 characters a day is around six average blog posts, or about twenty minutes of speech, every day, renewing. The limit exists to stop automated abuse, not to make a paid plan look attractive — there is no paid plan here to make attractive.
The per-request cap is not a synthesis limit
Worth knowing, because it explains why long text behaves the way it does.
Internally, text is split into chunks of about 2,000 characters, synthesised piece by piece, and stitched back together — with every subtitle timing offset so the cues stay aligned across the joins. You never see this happen. It means the 5,000-character request cap is a policy decision about request size, not a limit on how much speech the system can produce in one file, and a 5,000-character paragraph comes back as one continuous piece of audio with one continuous set of timings.
What to actually ask
When comparing free tiers, three questions get you further than the headline number:
- What does it reset against, and when? Daily, monthly, or never.
- Does a retry cost you? Almost always yes — so multiply the length of your script by the number of attempts you realistically need.
- Does a cached or repeated request count again? Tools differ, and few say so anywhere findable.
A smaller allowance that renews daily beats a larger one that renews monthly for nearly everyone who is producing something rather than sampling it. The exception is a single large one-off job, where the monthly pool wins once and then leaves you waiting.
