Audiobook chapter of 60,000 characters: three TTS requests, $2.85

One request holds 20,000 characters, so a 60,000-character chapter takes three Sume TTS jobs at $0.95 each, $0.95 in total. Split on paragraphs.

4 min readSume
All posts

A 60,000-character audiobook chapter takes three TTS requests on Sume, because one request holds at most 20,000 characters, and it costs $0.95 at $0.0475 per 1,000 characters. Each full-size request is $0.95.

Chapter lengths and request counts

Requests are the character count divided by 20,000, rounded up. The price is linear in characters, so splitting costs the same as one big job.

Sume TTS, $0.0475 per 1,000 characters (read 2026-10-09)
Chapter charactersRequestsTotal
15,0001$0.7125
20,0001$0.95
45,0003$0.95
60,0003$0.95

Split on paragraph breaks, not at 20,000

Cut at the last paragraph break under the cap so no sentence is voiced in two jobs. Send the parts with the same voice, language and generation_config, and give each a key such as ch07-part2.

Then join the parts in order. Timeline audio concat accepts 1 to 20 parts and up to 1,800 seconds of output, for $0.01 per job.

def split_chapter(text, cap=20000):
    parts, cur = [], ""
    for para in text.split("\n\n"):
        if cur and len(cur) + len(para) + 2 > cap:
            parts.append(cur)
            cur = ""
        cur += ("\n\n" if cur else "") + para
    if cur:
        parts.append(cur)
    return parts

Gotchas

A single paragraph longer than 20,000 characters needs a sentence split; the code above would leave it oversize. A job that would produce more than 1,200 seconds of audio fails with tts_duration_exceeded, so about 20,000 characters of slow narration can hit that limit before the character cap does.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume