A 61-second audio spine reserves 2 timeline minutes, 60 s reserves 1

Timeline 1.0 reserves $0.10 per ceil(audio minute). A 60 second spine reserves $0.10, 61 seconds reserves $0.20, and 1,800 seconds is the $3.00 ceiling.

5 min readSume
All posts

A 60 second audio spine reserves one timeline minute at $0.10, and a 61 second spine reserves two minutes at $0.20. The Timeline 1.0 guide states the public rate as $0.10 per ceil(output minute) and the reserve as ceil(audio.duration_seconds / 60) minutes.

What is reserved and what is captured

The reserve is a ceiling. The catalog notes in the repo describe the render as captured at its own Modal compute with a platform fee, never above the reservation. The guide says the job uses no provider inference, only worker ffmpeg. So a small overshoot of a minute mostly affects how much balance is held, not necessarily what you finally pay. Check billable_minutes in the result.

Ladder around the boundaries

The numbers below show the reserve at and just above each minute boundary.

Timeline reserve by audio length, rates as of 2026-10-08
Audio spineBillable minutesReserve
45 s1$0.10
60 s1$0.10
61 s2$0.20
90 s2$0.20
120 s2$0.20
121 s3$0.30
600 s10$1.00
1800 s30$3.00

Trimming a script to a boundary

If you control the script, aim the voiceover just under the minute. A 59 second read reserves $0.10 while a 61 second read reserves $0.20, so two seconds of padding can double the hold. At 100 videos that is $10 versus $20 reserved.

The ceiling for one render is 30 minutes (1,800 seconds), a $3.00 reserve. Longer shows are split into several renders. The guide describes GET /v1/jobs/:id/result returning billable_minutes, which is the value to compare against your plan.

Fleet-level effect

For a fleet of 200 short videos, the spine length sets the reserve. At 59 seconds each, the reserve is 200 x $0.10 = $20.00. At 61 seconds it is 200 x $0.20 = $40.00. Since the render is captured at its own compute and never above the reservation, the final bill may be lower than either, but your balance must cover the hold at submit.

This matters for balance checks. A preflight that assumes the spine is one minute fails with a 402 when a script runs two seconds long. Compute the reserve from the real audio.duration_seconds, not from a target length.

  • Reserve = ceil(seconds / 60) x $0.10.
  • Maximum per render: 30 minutes, $3.00.
  • Result field to compare: billable_minutes.

Planning a script to a boundary

Speech rate varies, so read the final audio length rather than estimating from words. Generate the voiceover first, measure duration_seconds, and only then build the timeline request. If the audio is 61.4 seconds, tighten the script by a sentence or accept the second minute.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume