Join voiceover takes into one gapless track with Timeline audio

Concatenate up to 20 Sume-hosted voice takes with Timeline audio, with no seam silence and no re-synthesis, and re-base video starts from the returned offsets.

4 min readSume
All posts

Use POST /v1/timeline-1.0/audio with operation: "concat" and an ordered parts[] of 1 to 20 takes. Sume joins them in the sample domain, so there is no re-synthesis and no silence added at the seams. It costs $0.01 per job and returns one reusable audio file plus the offset of each part.

Request rules

Timeline audio concat rules, from docs.sume.com/models/timeline-audio, read 2026-10-01.
RuleDetail
parts1 to 20, ordered; each has url, optional source_in and duration
HostingURLs must be this workspace's media.sume.com audio; import first
Idempotency-Keyrequired header
Channel layoutmust match across parts, or audio_parts_channel_mismatch
Top-level url / rangesnot allowed on concat
Outputwav or mp3, up to 1,800 s

Trim a take without re-recording

Each part can carry source_in (start inside that file, in seconds) and duration. Use them to cut a breath or a restart from the head or tail of a take. In the docs example, a part starts 0.1 s in and runs 1.8 s.

Using the offsets

The result has audio_url, duration_seconds and segments[], each with index, start and duration_seconds. Those are the concat offsets to re-base your Timeline 1.0 video[].start values against, so a scene cut lands on the line that goes with it. Pass audio_url as audio.url on a render.

When to skip the job

If the join is only needed inside one render, Timeline 1.0 accepts audio.parts[] directly, and the separate concat job is unnecessary. Mint the file only when you want to reuse it, for instance as input to another render or to avatar image-to-video.

Limits

More than 20 takes needs two concats and a third to join the results. Mixed mono and stereo parts fail, so generate every take with the same output format. Ready-made takes for a halloween-style story are in the Halloween narration post; for long scripts, see splitting scripts that exceed the duration cap.

More in Media tools

All Media tools posts

Written by Sume