Fit a voiceover to 30 seconds: tune TTS speed between 0.6 and 1.5
generation_config.speed runs 0.6 to 1.5 on Sume TTS. Three takes of a 450-character script cost $0.064125 total, so measure the file and retune.

To fit a voiceover into a 30-second slot, set generation_config.speed (0.6 to 1.5) on Sume TTS and retake until the file fits; three takes of a 450-character script cost $0.064125. Each take is $0.021375 at $0.0475 per 1,000 characters.
Retake math
Speed is a multiplier, so a take that runs 36 seconds at 1.0 needs about 36 / 30 = 1.2. Round up a little, then verify. This is arithmetic on the measured file, not a model guarantee.
| Take | Speed | Measured length (example) | Cost |
|---|---|---|---|
| 1 | 1.0 | 36 s | $0.021375 |
| 2 | 1.2 | 30.4 s | $0.021375 |
| 3 | 1.25 | 29.2 s | $0.021375 |
| All three | $0.064125 |
Request body
Keep the transcript, voice and language fixed so only speed changes, and key each take separately (vo-30s-take2).
{
"transcript": "Meet the lightest rain jacket we have ever made. ...",
"avatar_handle": "@narrator",
"language": "en",
"generation_config": {"speed": 1.25, "volume": 1.0},
"metadata": {"take": 3}
}Gotchas
The top-level speed field (slow, normal, fast) is deprecated; use generation_config.speed. Speeds near 1.5 can sound rushed, so if you need more than about 1.3, cut words instead. The 30-second target is yours; a Shorts clip can run up to 3 minutes per YouTube's own help page, so 30 seconds is a design choice.
Sources
Related posts
More in Media tools
- Five audio-logo options for a product ad: $0.625 with Music Router
Five Music Router generations cost $0.625, since every music model is a flat $0.125. There is no duration field, so you steer the length in the prompt.
- A four-scene score on Sume Music Router: tempos 24 BPM apart, $0.50
Four 15-second scenes need four contrasting Lyria tracks. The docs ask for at least 12 BPM between scenes. Four prompts at 72, 96, 120 and 144 BPM cost $0.50.
- One frame at 12.5 s: video-frames vs video-inspect
Video frames returns a frame at its source size from clips up to 300 s. Video inspect defaults to 768 px, caps at 2160, and takes clips up to 1,800 s.
- Poster frame at 2.5 seconds: video-frames returns source-size stills
Sume POST /v1/video-frames extracts up to 24 exact stills at source size. Always async (202); a failed instant gives a null url and the job still succeeds.
Written by Sume