47,000-character chapter: TTS in three requests, $2.2325 on Sume

Sume text to speech costs $0.0475 per 1,000 characters and one request caps at 20,000 characters ($0.95). A 47,000-character chapter needs three requests.

5 min readSume
All posts

A 47,000-character chapter costs 47 x $0.0475 = $2.2325 on Sume text to speech, and it needs three requests because one request accepts at most 20,000 characters (a $0.95 maximum request). Split it 20,000 + 20,000 + 7,000 and the three bills are $0.95, $0.95 and $0.3325. Splitting does not change the total, only the number of jobs.

The arithmetic

The catalog lists TTS at $0.0475 per 1,000 characters. Its default estimate for 1,000 characters displays as 5 cents, which is a rounded figure; the rate is $0.0475.

Splitting a 47,000-character chapter (Sume TTS list price, catalog as of 2026-10-09)
RequestCharactersMathCost
120,00020 x 0.0475$0.9500
220,00020 x 0.0475$0.9500
37,0007 x 0.0475$0.3325
Total47,00047 x 0.0475$2.2325

Split at sentence boundaries, not at 20,000

A hard cut at character 20,000 can land mid-sentence, and the audio will have a seam. Cut at the last full stop below the cap instead. That moves a few characters to the next request but does not move the total, because the price is linear in characters.

A twelve-chapter book at the same length would be 564,000 characters, or 564 x $0.0475 = $26.79, in 36 requests.

What a wallet covers

A $1.00 balance covers 21052 characters of TTS; $5.00 covers 105263. Both numbers are rounded down, because TTS is billed at $0.0475 per 1,000 characters.

Other lengths for reference: a 3,200-character product page is 3.2 x 0.0475 = $0.152; a 12,500-character podcast intro is 12.5 x 0.0475 = $0.59375; a 20,000-character chunk is the $0.95 maximum request. If you narrate 30 product pages a month at 3,200 characters each, the voice line is 30 x $0.152 = $4.56.

The request cap is a practical limit on parallelism too. Three chunk requests of one chapter can all be queued at once, but under the documented admission rules the free plan processes one job at a time, so they run in sequence there.

Budget the wallet before the first request

Each request reserves its own estimate at submit, so a wallet with $0.50 can fail the first 20,000-character request with 402 insufficient_credits even though 7,000 characters ($0.3325) would fit. Keep at least $0.95 free before you submit a full-size chunk, and store each request under its own idempotency key so a retry does not pay twice. See generation admission for the 402 and reservation behavior.

Checking a chunk before you send it

Count characters in your own code, not by eye, and stop before the 20,000 limit.

Strip markup and repeated whitespace before you count, because every character in the request is billed, including stray HTML tags.

  • Characters include spaces and punctuation; a 20,000-character chunk is exactly the $0.95 maximum request.
  • Aim for 18,000 to 19,500 characters per chunk, cutting at paragraph breaks. A 47,000-character chapter then needs 3 requests at about 15,700 characters each, still $2.2325 in total.
  • Keep a manifest of chunk index, characters, idempotency key and job id, so a failure on chunk 2 reruns only chunk 2 ($0.95 at most).

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume