Nine 20 s voice files, one 180 s spine: Timeline audio.parts

Join nine 20-second voice files into a 180 s Short spine with Timeline 1.0 audio.parts (up to 20 slices, gapless, no re-TTS) for $0.30 inside one render.

5 min readSume
All posts

Put the nine files in audio.parts[] as nine { url } entries and set audio.duration_seconds to 180. Timeline joins them in the sample domain, with no gap at the seams and no re-synthesis, and the render bills ceil(180 / 60) = 3 minutes at $0.10, so $0.30. A Short can be up to three minutes (YouTube page read 2026-10-08), so 180 seconds is the top of the range; use 179 for margin if the files add up to more.

The rules for parts

audio.parts[] takes 1 to 20 slices. Each slice is a Sume-hosted url with an optional source_in and duration. You cannot send audio.url together with parts (audio_url_and_parts_exclusive), and you cannot use the top-level audio.source_in with parts (audio_source_in_requires_single_spine). If the declared part lengths add up to less than audio.duration_seconds, the request fails with audio_parts_shorter_than_duration.

Nine 20 s parts in one spine (as of 2026-10-08)
QuantityValue
Parts9 (limit 20)
Length of each part20 s
Sum of parts9 x 20 = 180 s
audio.duration_seconds180 (limit 1-1,800)
Timeline minutesceil(180 / 60) = 3
Timeline cost3 x $0.10 = $0.30

Part starts and video slots

Each part begins where the last one ended, so part k starts at 20 x (k - 1) seconds on the spine: 0, 20, 40, and so on to 160. If you want a picture change on every voice line, give the video slots the same starts and a duration of 20. With nine slots, the render is below the 12-slot limit for render.strategy: "single".

With parts, the join is only inside this render. If you need the joined audio as a reusable file, for example to chapter it or to reuse it for an avatar clip, use timeline audio with operation: "concat". It returns one audio_url and segments[] with the start of each part, which you use to re-base the video slots.

  • All parts must share a channel layout, or the audio job refuses with audio_parts_channel_mismatch.
  • The longest spine that 20 parts can build is limited by the 1,800 s spine cap, not by the part count.
  • Voice files must be on media.sume.com; import them first with POST /v1/media-imports.

Check before you pay

Run the same body on POST /v1/timeline-1.0/plan. It is unbilled and returns duration_seconds, segment_count, billable_minutes and estimated_cost_usd_micros, so for this program you should see 180 seconds and 3 billable minutes, which is 300,000 micros. A plan does not download media, so it cannot find a part that is too short or a wrong channel layout; those show up when the job runs.

When 20 parts is the limit

A 180-second script of 20-second lines needs 9 parts. A script of 6-second lines needs 30 parts for the same 180 seconds, which is more than the limit of 20. In that case, join in two steps: concat with timeline audio first (up to 20 parts into one file), and use the result and the remaining parts in the final render.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume