Timeline render: 61 seconds bills 2 minutes ($0.20), 60 bills $0.10
Timeline 1.0 bills $0.10 per ceil(output minute), minimum one. A 60 s render is $0.10; 61 s rounds up to 2 minutes, $0.20. Use the free plan call to check.

Timeline 1.0 charges $0.10 per output minute, rounded up, with a one-minute minimum. A 60-second render is 1 minute and $0.10; a 61-second render is ceil(61 / 60) = 2 minutes and $0.20. One extra second doubles the bill.
The rounding
The reserve is ceil(audio.duration_seconds / 60) minutes, per the Timeline docs read 2026-10-09.
| audio.duration_seconds | Billable minutes | Arithmetic | Cost |
|---|---|---|---|
| 1 | 1 (minimum) | 1 x 0.10 | $0.10 |
| 60 | 1 | ceil(60/60) x 0.10 | $0.10 |
| 61 | 2 | ceil(61/60) x 0.10 | $0.20 |
| 120 | 2 | 2 x 0.10 | $0.20 |
| 121 | 3 | 3 x 0.10 | $0.30 |
Check before you render
POST /v1/timeline-1.0/plan is unbilled. It returns duration_seconds, segment_count, billable_minutes and estimated_cost_usd_micros without creating a job or reserving credit. It needs no idempotency key. It cannot predict short-source pad or loop warnings.
curl -X POST https://api.sume.com/v1/timeline-1.0/plan \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":{"mode":"silence","duration_seconds":61},"video":[{"source_url":"https://media.sume.com/artifacts/artf_demo/a.mp4","start":0,"duration":61}]}'Trimming the spine
audio.duration_seconds sets the output length. If your voiceover is 61.4 seconds, either cut it to 60 with audio.source_in and a 60-second duration, or accept 2 minutes. Coverage by video[] slots may stop at most 0.5 s before the end of the spine, so shorten the slots too.
Notes
- Render uses worker ffmpeg only; there is no provider inference.
- Default output is 1080x1920 MP4.
- Soft warnings, such as padded or looped short sources, are not failures.
Worked example
A 61.4 second voiceover with 60-second visuals is billed as 2 minutes ($0.20). Cutting the tail by 1.4 seconds brings the render to 60 seconds and $0.10. For a series of 50 episodes that each run 61 seconds, the difference is 50 x $0.20 = $10.00 versus 50 x $0.10 = $5.00. Plan the script length to land at or under a whole minute. Every media job follows the same lifecycle: submit with an Idempotency-Key, receive a job, poll GET /v1/jobs/:id/status until it is ready, then read GET /v1/jobs/:id/result. A retry with the same key does not queue a second job, so a network error during submit never doubles a charge.
Sources
Related posts
More in Media tools
- Cut a 30-minute recording into two 15-minute files: 2 trims, $0.04
Sume video trim accepts a 1,800-second source but returns at most 900 seconds per job. Two trims at $0.02 split a 30-minute file; the range rules explained.
- Trim a 10 s moment and stack a product still: two jobs, $0.04
Video trim ($0.02) cuts the moment, and Timeline compose ($0.02) stacks a still above it as a 9:16 MP4. A 200-clip batch is $8.00 in worker jobs.
- Trim a 200-second take to a 180-second YouTube Short for 2 cents
YouTube Shorts can run up to three minutes. A 200-second take needs one exact video-trim job (start 0, duration 180) at $0.02. Here is the request.
- Trim a Reel clip's dead start and end from first and last word
Take the first word's start and the last word's end from STT, then add 0.15 s lead and 0.30 s tail: a 29.9 s clip becomes 1.69-27.92 s for $0.03.
Written by Sume