What does per-character billing actually mean in text-to-speech?
The service counts the characters in the text you send and multiplies by a rate, quoted per thousand or per million. It bills the text going in, not the audio coming out, so the price is known before any sound exists. Every request is counted on its own, which is why a second take costs as much as the first.
Per character billing is the default meter for cloud text-to-speech: Google Cloud, Amazon Polly, Microsoft Azure and ElevenLabs all use it. Every pricing page shows the rate. This guide covers what they leave out: what gets counted, how the count becomes minutes, and when the same sentence is counted twice.
The bill is set before the audio exists
A character count is fixed the moment you press the button. The length of the audio is not: it depends on the voice, the pace and the pauses the model picks. Billing the input lets a provider quote a price up front. It also means the meter cannot tell a first draft from a fifth attempt at a brand name. Both are text arriving, to be counted.
Billable characters: what each service counts
Google, Azure and ElevenLabs say outright that spaces and punctuation count. They differ on
markup. Google bills every SSML tag except <mark>, Azure bills all markup except <speak> and
<voice>, ElevenLabs counts SSML and audio tags, and Amazon Polly does not bill SSML tags at all.
Azure also counts each Chinese character twice.
| Service | Spaces and punctuation | Markup | A re-take | Other rules |
|---|---|---|---|---|
| Google Cloud | Counted, newlines too | Every SSML tag counts, except <mark> | Counted again | Free monthly allowance per voice tier |
| Amazon Polly | Not spelled out on the pricing page | SSML tags are not billed | Counted again | Text converted to Speech Marks metadata is billed too |
| Azure | Counted, tabs and all other whitespace too | All markup counts, except <speak> and <voice> | Counted again | Chinese characters count twice; a language mismatch is billed with no audio |
| ElevenLabs | Counted | SSML and audio tags count | Counted again, except two free website regenerations | Pronunciation dictionaries can change the count |
| txt2mp3 | Not counted | Not counted | Free | One payment; the trial speaks 120 characters at a time |
Amazon's request limit shows its rule at work: one synchronous request may hold 6,000 characters in total, of which no more than 3,000 can be billed, because the tags are free.
Spaces are about a fifth of the bill
Whitespace is easy to forget because nobody reads it. The DAISY Consortium puts an average novel at 90,000 words and 423,000 characters. Roughly one space separates each word, so about one character in five on that bill is a space. You cannot remove them without breaking the text, but you can stop paying for the extras: double spaces, blank lines and indentation copied in from a word processor are all billed at the full rate.
How many characters is one minute of audio?
Between about 700 and 1,000. ElevenLabs maps 1,000 characters to about a minute on its own price list. A Microsoft forum answer works it out at about 750, from 150 words a minute and five characters a word. DAISY's figure of 4.7 characters per word gives about 705 at the same pace.
The spread comes from reading speed and word length. ElevenLabs' 1,000 implies a brisk read, about 213 words a minute at 4.7 characters a word. Its API help pages use the same ratio: a 10,000-character request is about 10 minutes of audio.
Why we use 1,000 for budgeting
The higher figure is the cautious one for working out what a plan covers: a slower narrator gets more minutes from the same characters, not fewer. Our cost guides use 1,000 and say so. To find your own figure, render one paragraph and divide its character count by its length in minutes. The arithmetic for a full piece of writing is in what it costs to narrate a 5,000-word article.
ElevenLabs credits are characters with a new name
ElevenLabs says credits were previously called characters and the value is unchanged. On its v2 Multilingual models one character is one credit; Flash and Turbo cost 0.5 to 1 credit through the API. The Creator plan's 121,000 credits are shown as about 121 minutes, so a thousand credits buys roughly a minute.
The rename came because speech to text, music, sound effects and dubbing now draw on the same monthly pool. For text-to-speech the old rule stands: every letter, number, punctuation mark and space counts, and so do SSML and audio tags.
Turning credits into minutes
The formula is the same for any plan: credits, divided by credits per character for your model, divided by characters per minute.
- Free: 10,000 credits, about 10 minutes.
- Creator, $22 a month: 121,000 credits, about 121 minutes, with an extra minute at about $0.18.
- The API: billed in dollars, not credits, at $0.08 per 1,000 characters on the multilingual models and $0.04 on Flash and Turbo. The Creator plan's API listing includes 275,000 characters of v4 speech, shown as about 275 minutes.
The website and the API do not use the same unit, so check which one your plan describes before you divide. Unused plan credits roll over for up to two months while you stay subscribed, and are lost if you cancel or downgrade.
Regenerating a line is billed as new text
Yes, with narrow exceptions. ElevenLabs deducts credits every time you press Generate, including after a text edit. Its website gives two free regenerations only if the text, voice and model are unchanged, within two hours, without leaving the page, and never through the API. The developer APIs simply count each request.
The free regeneration covers keeping the words and nudging the voice settings. It does not cover the common case: you hear the line, change a word, and generate again. On v3, each Generate returns two takes and charges for one. On Google, Amazon and Azure a request is simply a request.
What a re-take habit does to an allowance
Say you render every line three times before you keep one, which is ordinary for narration. The 121 minutes in a Creator plan then become about 40 minutes of finished audio. Two takes gives about 60. Nothing about the rate changed; the count simply included the takes you threw away. DAISY found the same effect at book scale: titles that needed multiple corrections could end up two or three times the price of a single conversion. The re-takes, failed renders and overage behind that multiplier get their own guide, the hidden costs of cloud TTS.
Per character versus per second of audio
Some newer models bill the output instead. Google's Gemini text-to-speech charges audio tokens at 25 per second of speech, so a slow read with long pauses costs more than a brisk one. Per-character billing has the opposite property: the same script costs the same however slowly it is read.
At Gemini 2.5 Flash TTS's rate of $10 per million audio tokens, a minute of speech is 1,500 tokens, or about $0.015, plus a small charge for the text going in. Neither model is cheaper in general. Per character suits a calm, pause-heavy read; per second suits fast copy. Both bill a re-take in full. The three shapes of pricing, side by side, are compared in text-to-speech pricing models compared.
What changes when nothing is counted
A model that runs on your own Mac has no meter, so the count stops mattering. txt2mp3 is a one-time purchase; after it, a re-take, a pronunciation fix or a full re-render of a chapter costs nothing. A cloud plan still wins for a few minutes a month, on Windows, or for a large voice catalogue.
txt2mp3 runs VoxCPM2 on Apple silicon. The price is one payment, $29 for the launch batch, rising to $69 and then $99 as copies sell. There is no character count in the app except one: the trial speaks up to 120 characters at a time, enough to judge a voice on your own sentence. After activation the meter is gone, and so is the reason to stop at the first take that is good enough. As a side effect, the script never leaves the Mac.
If you narrate ten minutes a month, ElevenLabs' free plan costs less than any purchase, and speech on a server, a phone or Windows needs the cloud. What an hour costs on each service is worked out in our guide to the text-to-speech cost per character.
Frequently asked questions
Do spaces and punctuation count toward my ElevenLabs character limit?
Yes. ElevenLabs' help centre says every letter, number, punctuation mark and space in your input counts toward the total, and that SSML and audio tags count too. In ordinary prose about one character in five is a space, so stray double spaces and blank lines are worth cleaning out first.
If I regenerate a line I didn't like, does it use more characters?
Usually, yes. ElevenLabs charges every Generate, including after you edit the text. Its website offers two free regenerations only when the text, voice and model stay the same, within two hours of the first take and without leaving the page; the API offers none. Google, Amazon and Azure bill every request. On a model running on your own Mac a re-take costs nothing.
How do I convert TTS character credits into minutes of audio?
Divide the credits by the credits your model charges per character, then by the characters in a minute. ElevenLabs maps 1,000 characters to about a minute, so its Creator plan's 121,000 credits are about 121 minutes on a one-credit-per-character model. A slower voice gets more minutes from the same credits.
Does SSML markup cost characters?
It depends on the service. Google counts every SSML tag except <mark>. Azure counts all
markup except <speak> and <voice>. ElevenLabs counts SSML and audio tags. Amazon Polly
does not bill SSML tags. A script with many pronunciation fixes written as markup pays for
them on three of the four.
Is per-minute billing cheaper than per-character billing?
Not in general. A per-second meter, like Google's Gemini audio tokens at 25 per second, charges for pauses and slow reads. A per-character meter charges the same for a script however it is read. Which one costs less depends on your pace. Both charge every re-take in full.
Can I cut my character count without changing the script?
A little. Remove double spaces, blank lines and indentation pasted from a word processor, and on Google, Azure and ElevenLabs keep markup to what you need. Render a long piece in sections, so a correction regenerates one paragraph instead of the whole text. None of it changes the rule that every take is counted.
Where the numbers came from
Google Cloud Text-to-Speech pricing
cloud.google.com/text-to-speech/pricingThat the total characters in the input are billed, including spaces and newlines, and that all SSML tags except
<mark>count; the free monthly allowances per tier; Gemini text-to-speech billed in audio tokens at 25 per second, with Gemini 2.5 Flash TTS at $10 per million audio tokens and $0.50 per million text tokens. Fetched 20 October 2026.Amazon Polly developer guide: quotas
docs.aws.amazon.com/polly/latest/dg/limits.htmlThat SSML tags are not counted as billed characters, and the SynthesizeSpeech limit of 3,000 billed characters in 6,000 total. Fetched 20 October 2026.
Amazon Polly pricing
aws.amazon.com/polly/pricingThat you are charged for the characters you convert to speech or to Speech Marks metadata. Fetched 20 October 2026.
Microsoft Learn: Text to speech overview, billable characters
learn.microsoft.com/en-us/azure/ai-services/speech-service/text-to-speechThat letters, numbers, spaces, punctuation, tabs and all whitespace are billed, as is all markup except
<speak>and<voice>; that each Chinese character counts as two; and that charges apply even when no speech is generated because of a language mismatch. Fetched 20 October 2026.ElevenLabs help: How is character length calculated?
elevenlabs.io/docs/help-center/account/general/how-is-character-length-calculated.mdEvery letter, number, punctuation mark and space counts; SSML and audio tags count; pronunciation dictionaries can change the count. Fetched 20 October 2026.
ElevenLabs help: What are credits?
elevenlabs.io/docs/help-center/account/general/what-are-credits.mdCredits were previously called characters, with the value unchanged. Fetched 20 October 2026.
ElevenLabs help: Do I use quota on every generation?
elevenlabs.io/docs/help-center/account/general/do-i-use-quota-on-every-generation.mdCredits are deducted on every Generate, including after a text change; the conditions for two free regenerations; none through the API; v3's two takes per Generate, charged once. Fetched 20 October 2026.
ElevenLabs pricing
elevenlabs.io/pricingFree plan 10,000 credits and about 10 minutes; one credit pool shared by every product; Creator $22 a month, 121,000 credits, about 121 minutes and about $0.18 an extra minute; one credit per character on v2 Multilingual and 0.5 to 1 on Flash and Turbo through the API; rollover of up to two months and forfeiture on cancelling. Fetched 20 October 2026.
ElevenLabs API pricing
elevenlabs.io/pricing/apiAPI usage billed in dollars, at $0.08 per 1,000 characters on multilingual models and $0.04 on Flash and Turbo; Creator's 275,000 characters of v4 speech shown as about 275 minutes, the 1,000-characters-a-minute mapping. Fetched 20 October 2026.
ElevenLabs help: What's the maximum amount of characters and text I can generate?
elevenlabs.io/docs/help-center/product/core-capabilities/text-to-speech/whats-the-maximum-amount-of-characters-and-text-i-can-generate.mdAPI request limits paired with audio length: 10,000 characters about 10 minutes, 40,000 about 40. Fetched 20 October 2026.
Microsoft Q&A: Need to limit the audio time using Azure Text to Speech
learn.microsoft.com/en-us/answers/questions/530697/need-to-limit-the-audio-time-using-azure-text-to-sAn average word of 4.7 characters, rounded to 5, at 150 words a minute, for about 750 characters a minute. Answer of 28 August 2021. Fetched 20 October 2026.
DAISY Consortium: AI Text To Speech Cost Comparison
daisy.org/news-events/articles/ai-text-to-speech-cost-comparisonA typical novel of 90,000 words or 423,000 characters, and corrections that can make a title two or three times the price of a single conversion. Dave Gunn, 12 May 2025. Fetched 20 October 2026.
txt2mp3, first-hand
The $29, $69 and $99 one-time price ladder, the 120-character trial, and VoxCPM2 on Apple silicon. Derived, not quoted: about 705 characters a minute (4.7 characters a word at 150 words a minute), about 213 words a minute implied by 1,000 characters a minute, one character in five being a space (one space per word in DAISY's novel), the re-take examples and Gemini's cost per minute (1,500 tokens at $10 per million).
