Ten hook voiceovers of 120 characters: Sume TTS cost per variant

A 120-character hook costs 1 cent on Sume TTS after per-job rounding, so ten variants are 10 cents. Set against MAI-Voice-2.1 and Flash list prices.

5 min readSume
All posts

Short answer

Ten spoken ad hooks of 120 characters each cost 10 cents on Sume text-to-speech: each job is 120 characters at $47.50 per million, which is 0.57 cents, and Sume rounds each job up to a whole cent. For per-character list prices, the same ten hooks are 1,200 characters, which is $0.0264 at MAI-Voice-2.1's quoted $22 per million and $0.018 at Flash's $15.

The MAI prices are from the Unite.AI report on the October 1, 2026 launch (read 2026-10-07). The report does not describe a minimum charge, so none is applied below.

Hook testing is the case where per-character pricing and per-job rounding pull apart, because the lines are short and numerous.

Ten 120-character hook voiceovers, one voice each (list prices read 2026-10-07)
OptionPrice basisTen hooks
Sume TTS$47.50 per 1M characters, rounded up to a cent per job$0.10 (ten jobs at 1 cent)
MAI-Voice-2.1$22 per 1M characters$0.0264 before any rounding
MAI-Voice-2.1-Flash$15 per 1M characters$0.018 before any rounding

Reading the table

On the numbers alone the MAI list prices are lower per character, and for a batch this small the dollars in both columns are close to nothing. The decision for a hook test is rarely the voice bill. It is the cost of everything after: the 6-second video, the captions and the review time.

Test voices, not only words

Voice choice changes click-through more than most things you can afford to test. Three voices across ten hooks is 30 jobs, or 30 cents on Sume. Treat the voice as a variable in the same sheet as the hook text, and keep the sheet by job id.

Limits that do not apply here

Under 45 seconds, Flash's 45-second ceiling is not a constraint for a hook. Sume's limit on one TTS request is 20,000 characters and 1,200 seconds of audio, so hooks are far under either. Give each variant its own Idempotency-Key so it is its own job.

Workflow notes

  • Write each hook as its own request. A joined file makes it harder to attach a result to a hook.
  • Count characters as the API does, with spaces and punctuation included.
  • Check the voice's language against the language field; a mismatch returns a 409 before any charge.
  • If you later cut ten 6-second videos from these lines, feed each audio_url to its own render; the lines need no join.

Counting the characters before you send

Hooks drift over the limit you set for yourself when a copywriter adds one more word. Count with the same rule Sume uses, the JavaScript string length, where spaces and punctuation count and an emoji can count as more than one. A hook that is 118 characters in a document may be 121 when it reaches the request.

Cents are rounded per job, so a hook of 120 characters costs 0.57 cents and bills as 1 cent. A hook of 210 characters is 0.9975 cents and still bills as 1 cent, so you can often let a hook run longer without paying more. Above 210 characters it passes to 2 cents.

Keep a sheet with one row per hook and voice, with the character count and the job id, so you can match a winning hook to the audio that was tested.

  • Count with JavaScript string length rules.
  • Up to 210 characters bills as 1 cent; above that, 2 cents.
  • Log hook, voice and job id together.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume