Shorts voiceover: how many characters fill 15, 30, 45 and 60 s
Planning table from script length to seconds and TTS cost, with the 15 characters per second assumption labeled and a way to measure the real value.

Before voicing a script you want to know if it fits the Short. The table below uses 15 characters per second as an assumption for a normal narration pace. Your voice and script will differ, so measure once and replace the number.
Planning table
| Target | Characters | TTS cost |
|---|---|---|
| 15 s | 225 | $0.0107 |
| 30 s | 450 | $0.0214 |
| 45 s | 675 | $0.0321 |
| 60 s | 900 | $0.0428 |
Measure your own pace
Ask TTS for word timestamps. Divide the character count by the last word's end time and use that figure next time.
Code to compute characters for a target:
rate = 15 # characters per second, assumed
price = 0.0475 / 1000
for secs in (15, 30, 45, 60):
chars = secs * rate
print(secs, "s", chars, "chars", round(chars * price, 4))
Sources
Related posts
More in Developers
- A zod schema for the Sume /v1/videos poll response, ported from Sora
Replace Sora's four-status type with a zod schema for Sume's five statuses. It rejects a completed job without unsigned_urls and a failed one without an error.
- Re-render 100 Sora prompts at 8s 720p 9:16: six Sume models priced
A 100-prompt library of 8-second 720p vertical clips costs $60.00 to $242.00 on Sume depending on the model. Exact per-clip cents and the arithmetic.
- 4K 3840x2160 for YouTube: Sume Timeline output stops at 2160 per edge
YouTube lists 35-45 Mbps for 4K. Sume Timeline allows even width and height from 256 to 2160, so 3840x2160 is refused. What you can render instead.
- 720x1280 vs 1080x1920 for a 60 s Short: 40 MB vs 63 MB
YouTube lists 5 Mbps for 720p and 8 Mbps for 1080p. A 60 second Short is 40.38 MB vs 62.88 MB with audio. Set output.width and height in Sume Timeline.
Written by Sume