TTS cost by character: the same sentence in four languages
Sume bills TTS per character, not per second. One sentence counted in English, French, German and Korean, with the 1-cent floor and the 20,000-character cap.

Sume's text to speech is billed by characters in the transcript, so translating a script changes what you pay even when the spoken length barely moves. TTS 1.0 lists $0.0475 per 1,000 characters, spaces and punctuation included, with a floor of 1 cent per job and a ceiling of 95 cents at the 20,000-character maximum.
The rate and limits are from the Sume catalog and the API reference, read 2026-10-03. The sentence counts below are real counts of the strings shown, not estimates.
How many characters is one sentence in four languages?
Take the line "Free shipping on every order" and translate it. The characters counted here include spaces. Multiply by $0.0475 and divide by 1,000 for the raw cost of that single line.
| Language | Text | Characters | Raw cost at $0.0475 per 1,000 |
|---|---|---|---|
| English | Free shipping on every order | 28 | $0.00133 |
| French | Livraison gratuite sur toutes les commandes | 43 | $0.00204 |
| German | Kostenloser Versand bei jeder Bestellung | 40 | $0.00190 |
| Korean | 모든 주문 무료 배송 | 11 | $0.00052 |
Why does the floor matter for short lines?
Each of those lines costs a fraction of a cent on its own, but a TTS job has a minimum of 1 cent, so a single short sentence per job is billed at the floor. If you generate a hundred one-line jobs per language you pay the floor a hundred times. Batch the lines of one video into one transcript, then ask for sentence segments, and you pay for characters instead of for jobs.
That is also how you keep timing: segmentation with mode: "sentence" (it needs timestamps.words: true) returns per-sentence audio slices from one request, so a voiceover with twenty lines is one job, not twenty.
What does a full script cost?
| Characters in the script | Cost |
|---|---|
| 500 | $0.02375 |
| 1,000 | $0.0475, shown in the catalog as a 5-cent estimate |
| 2,000 | $0.095 |
| 5,000 | $0.2375 |
| 20,000 (maximum) | $0.95 |
Why do non-Latin and compound languages count differently?
Characters are counted on the string, so the same idea can cost less in a language that writes more in fewer symbols. The Korean line above is 11 characters against 28 in English, which is why per-character billing can look cheap for Korean and Chinese text. It does not mean the audio is shorter by the same ratio: speech length depends on the words spoken, and Sume publishes no speaking-rate figure.
Compound-heavy languages and languages with long function words go the other way. French and German came out longer than English in the table. Plan for the translated script to be a different size from the source, and re-price it after translation instead of before.
A worked example for a 30-second ad
Suppose your English voiceover for a 30-second ad is 450 characters. At $0.0475 per 1,000 characters that is about $0.021 for English. If the French script comes to 600 characters it is $0.0285, and a German script of 560 characters is $0.0266. These three numbers are illustrations of the arithmetic with assumed lengths, not measurements of any real script, so substitute your own counts.
The per-job floor of 1 cent never applies at these sizes; it only matters for very short lines. The render that goes over the video is priced separately by output minute, so the voice is the smaller part of a localization bill once you add the video.
Where do you read the live rate?
Rates in this post are as read on 2026-10-03. Sume's catalog is the source of truth, and a submit response carries the billable amount in its usage block. If the number in your response differs from the table above, trust the response and treat this post as out of date.
A last habit worth keeping: log characters and billed amount side by side for every job. After a few hundred jobs you will have your own price per finished second for each language, measured on your scripts, which is a better planning number than any rate card.
How do you check the price before you spend?
Speech length and character count are different units, so a vendor that prices per minute and Sume cannot be compared without knowing your characters per minute. Run your own script through both; this post prints no speaking-rate figure because Sume's docs publish none. For per-minute rivals see Murf Falcon vs Sume per-character cost.
- Over Sume's hosted MCP,
dry_runpreviews the cost andmax_spend_usdcaps it for a call. - Every submit response includes a
usageblock with the billable amount, so log it per language. - Count characters in your own code before you submit:
len(text)of the final string is the number that counts. - Remember that a generated clip over 1,200 seconds fails with
tts_duration_exceededand captures no credit.
Sources
Related posts
More in Pricing
- Which Sume API calls are free: balance, usage, catalog, filter check
Balance, usage and catalog reads cost nothing on Sume, and neither does the video-filter check. What is billed, what is refunded, and what a 402 means.
- How Sume pricing works: plans, one wallet, published model rates
Sume plans set access and concurrency. Usage draws from one prepaid wallet at each model's published USD rate, for generation, the Agent, Formats, and the API.
- AI avatar video API pricing: cost per second and per minute
Sume bills AI avatar video per second by quality tier, with separate rates when you send a product image. Per-minute costs for standard, plus, and max.
- AI video generation cost per video: what one Sume API run cost
To see what one Sume run or video job cost, call GET /v1/usage with run_id or job_id and read debited_usd: the wallet deduction, agent turns included.
Written by Sume