Timeline's 0.5 s coverage rule on a 59-second spine: 58.5 is enough
Timeline accepts video slots that end at most 0.5 s before the end of the spine, so on a 59-second Short the slots must reach 58.5 seconds. Render is $0.10.

On a 59-second spine, Timeline wants the video slots to cover at least 58.5 seconds. The docs say coverage can stop at most 0.5 seconds before the end of the spine, so a 58.4-second total falls outside the rule and a 58.5-second total sits right on it (as of 2026-10-08). The render stays at $0.10, since 59 seconds is one started minute.
The numbers
The rule is easy to trip when you build slots from rounded durations. Four slots of 14.6 seconds sum to 58.4, which is 0.6 short of 59. Four slots of 14.7 sum to 58.8, which passes. Setting one slot a little longer, or the spine a little shorter, is the usual fix.
| Slots | Sum | Gap to 59 s | Result |
|---|---|---|---|
| 4 x 14.6 s | 58.4 s | 0.6 s | Outside the rule |
| 4 x 14.625 s | 58.5 s | 0.5 s | Passes at the limit |
| 4 x 14.7 s | 58.8 s | 0.2 s | Passes |
| 59 x 1 s | 59.0 s | 0.0 s | Passes |
Why a Short wants it
A Short under a minute avoids the global block that YouTube applies to claimed Shorts over a minute, so you want 59 seconds and not 60. At that length, a refused render costs nothing, but a render that quietly slides to a 61-second spine costs a second minute, $0.20, and loses the sub-minute status. Set audio.duration_seconds to 59 explicitly and let the plan call confirm billable_minutes of 1.
Slot durations must be 0.2 seconds or longer in Timeline, so keep that in mind when you split a spine into many small pieces.
Plan, then render
The plan call is unbilled and returns billable_minutes before you spend anything; compare it with your own slot sums. Run it in your build step, fail the build on any value other than 1 for a Short, and only then POST the render with an Idempotency-Key.
Worked example
Say you have a 59-second Short built from clips of 20, 20 and 18.6 seconds. The sum is 58.6 seconds, which is 0.4 seconds short of the spine and inside the 0.5-second allowance. Trim the last clip to 18.4 and the sum is 58.4, outside it. The difference is 0.2 seconds of footage, about five frames at 24 fps, so the rule is generous. When in doubt, lengthen the last slot by half a second rather than shortening the spine, and keep the numbers in one place in your build script so they cannot drift apart. The same arithmetic applies at any length: for a 170-second episode the slots must reach 169.5 seconds, and for a 3-minute spine, 179.5. Write the check as spine minus sum is at most 0.5, and run it before you call the plan endpoint, so that the plan call confirms the minutes instead of finding your typo. Keep clip lengths to one decimal place where you can, since a binary float sum such as 0.1 + 0.2 can land a hair off the value you meant.
Sources
Related posts
More in Developers
- Timeline plan call: price a narrated render before you spend
POST /v1/timeline-1.0/plan is unbilled and returns billable_minutes and estimated_cost_usd_micros. How to price a narration plus music render first.
- Timeline plan needs no Idempotency-Key; render does: a wrapper
POST /v1/timeline-1.0/plan is free and takes no Idempotency-Key. Render is paid and requires one. A wrapper plans first, then renders with a derived key.
- Transcribing a 3-minute Short: duration_seconds 180 reserves $0.03
Video inspect with transcribe true reserves 1 audio minute of STT by default. Send duration_seconds 180 for a 3-minute Short so the hold is 3 x $0.01 = $0.03.
- Transcribe a 90-second clip with video inspect: cost and reservation
Video inspect with transcribe true adds Sume STT at $0.01 per audio minute; send duration_seconds 90 so the hold fits, or it reserves one minute.
Written by Sume