Tighten a stitched Omni cut: source_in and duration per timeline slot
Cut the first half-second off each Omni clip without a trim job: source_in and a shorter duration per Sume timeline slot, with the starts and spine math.

To cut the first half-second off each Omni clip before it joins a Sume timeline, set source_in: 0.5 and a shorter duration on the slot instead of running a trim job. Four 10-second clips cut to 9 seconds each give a 36-second video; slots start at 0, 9, 18 and 27, and audio.duration_seconds is 36. The in-point is applied in the one timeline render, so there is no extra job and no extra file.
Slot fields
The Timeline docs define these (Sume docs: Timeline 1.0, read 2026-10-05):
video[].source_in: the in-point into the file.video[].duration: on-screen length, at least 0.2 seconds.video[].start: on-spine start.video[0].startmust be 0, and later starts must increase. Declared starts are authoritative.- Coverage can stop at most 0.5 seconds before the end of the spine, so the last slot must reach nearly to
audio.duration_seconds.
Request
Starts are the running total of the durations: 0, 9, 18, 27. A 0.25 second fade goes only on slots after the first.
{
"audio": { "mode": "silence", "duration_seconds": 36 },
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/s1.mp4",
"start": 0, "source_in": 0.5, "duration": 9 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/s2.mp4",
"start": 9, "source_in": 0.5, "duration": 9,
"transition": { "type": "fade", "duration": 0.25 } },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/s3.mp4",
"start": 18, "source_in": 0.5, "duration": 9,
"transition": { "type": "fade", "duration": 0.25 } },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/s4.mp4",
"start": 27, "source_in": 0.5, "duration": 9,
"transition": { "type": "fade", "duration": 0.25 } }
]
}Timeline slot or trim job
The timeline route does not make a new file you can reuse. If you want the 3-second window of a clip as a video reference for the next Omni shot, which accepts references of at most 3 seconds, that is a trim job (Sume docs: Video trim, read 2026-10-05).
| Method | Where | Cost | Use when |
|---|---|---|---|
| source_in plus duration on the slot | Timeline 1.0 render | Inside the render fee | You only need the cut in this one video |
| Video trim job | POST /v1/video-trim | $0.02 per job per the docs | You want a durable trimmed file to reuse, or to send as a reference |
Why you might cut the head
You pay for each clip's full length: Omni bills per output second, so a 10-second job is 10 seconds of the rate even if 9 end up on screen (Sume docs: Video Router, read 2026-10-05). Cutting is for editing, not saving. Reasons to do it: the clip's first frames repeat the last frame of the previous shot, you want a tighter beat between shots, or the first half-second has a settling movement you do not want. Check a draft first; if the head is fine, leave it.
With a first-frame chain, the first frame of clip N+1 is the last frame of clip N. Showing both frames back to back makes a one-frame hold. Cutting a short head from the following clip removes the duplicate.
Do the sum on paper first. Four slots of 9 seconds each give starts of 0, 9, 18 and 27, and a spine of 36 seconds. With a 0.25 second fade on slots two to four, the declared starts stay the same, because declared starts are authoritative.
If a clip is cut at the tail rather than the head, leave source_in at 0 and shorten duration. If you cut both ends, set both. The slot does not need to use the whole file, and the part it does not use is simply not shown.
Plan the body before you render it. The plan call is unbilled and rejects overlapping or non-increasing starts, which are the usual mistakes when slot durations change by hand.
Sources
Related posts
More in Media tools
- TikTok import has_watermark: check it before reusing a clip
The Sume media import result includes has_watermark, size_bytes and content_type. What the field reports, what it does not decide, and a check before you trim.
- TikTok in-feed ad minimums: 540x960 and 516 kbps for a Sume MP4
TikTok non-Spark in-feed ads need 9:16 at 540x960 or more, 500 MB or less and 516 kbps or more. Sume's default 1080x1920 clears the size floor; check bitrate.
- TikTok safe zone: no single number, so test a caption anchor ratio
TikTok has no safe-zone figure I could read from its own help page. Place burned-in captions with design.placement.anchor_ratio, then check a still.
- TikTok Shop main image: no text, borders or stickers checklist
TikTok Shop wants a clean main image: white background, no watermarks, borders, promo text or stickers, 5+ images for Good. A checklist for AI-made images.
Written by Sume