TTS word timestamps for captions: timestamps.words and what you get
Set timestamps.words true on Sume TTS and the result carries words[] with start and end seconds. A 600-character caption script costs $0.02850.

Send timestamps: {"words": true} on a Sume TTS request and the completed job result includes words[] with start and end seconds for every word. A 600-character caption script costs $0.02850 at $0.0475 per 1,000 characters, and timings add no separate line.
Cost for caption scripts
The timing request is a flag on the same TTS job, so the price follows characters only.
| Script characters | Cost |
|---|---|
| 300 | $0.01425 |
| 600 | $0.02850 |
| 1,200 | $0.05700 |
| 3,000 | $0.14250 |
Turn words into caption lines
words[] is monotonic. Group words into lines of about seven and use the first start and the last end.
def lines(words, per=7):
for i in range(0, len(words), per):
chunk = words[i:i + per]
yield chunk[0]["start"], chunk[-1]["end"], " ".join(w["word"] for w in chunk)
res = requests.get(f"{API}/v1/jobs/{job_id}/result", headers=H).json()["data"]["result"]
for start, end, text in lines(res["words"]):
print(f"{start:6.2f} {end:6.2f} {text}")Gotchas
The exact key names inside each words[] item should be confirmed against a real result before you ship; the schema documents start and end seconds. Timings describe the audio you got, so a retake with a different speed needs fresh timings.
Sources
Related posts
More in Media tools
- Vertical clip as long-form YouTube: 1920x1080 blur keeps 31.6% sharp
YouTube says use 16:9 to keep a video from becoming a Short. A 9:16 clip in 1920x1080 with blur fit keeps 608 px (31.6%) sharp; a 5-minute render is $0.50.
- Video filter check passed but the encode failed: what to do next
Sume's free video-filter check covers schema, allowlist and source, not the worker. A valid program can still fail on expressions, memory or time. Next steps.
- Video filter limits: 8 ops, 2,048 characters, 32 filters
Video filter takes up to 8 dim/crop ops plus a filters-only graph of 2,048 characters and 32 filters. See what is allowed, what is refused, and the free check.
- Video frames on 300 s: fps 0.08 gives 24 stills, 12.5 s apart
The video-frames route takes clips up to 300 s and 24 frames per call. At fps 0.08 a 300-second clip yields 24 source-size stills, from 6.25 s to 293.75 s.
Written by Sume