TopView says 15 seconds, reservation says 9-15: trim both for $0.04
TikTok's TopView page recommends 15 seconds and the reservation page 9-15. Cut a 9-second and a 15-second version from one master with two video-trim jobs.

Cut two files from one master: 9 seconds for reservation in-feed and 15 seconds for TopView. Both TikTok pages allow 5-60 seconds, but the TopView page recommends 15 seconds in one line and 9-15 in another, and the reservation page recommends 9-15 (read 2026-10-07). Two Sume video-trim jobs at $0.02 each cost $0.04.
The recommendations are guidance, not rules; the hard window is 5-60 s. I would still ship the shorter cut where the page says 9-15 and keep the 15-second cut as the TopView default.
What each page says
Both come from TikTok's ad help: TopView and reservation in-feed.
| Page | Allowed | Recommended | Min bitrate |
|---|---|---|---|
| TopView | 5-60 s | 15 s (also stated as 9-15 s) | 2,500 kbps |
| Reservation in-feed | 5-60 s | 9-15 s | 2,500 kbps |
Two trims from the same master
Video trim takes a media.sume.com clip, a start in seconds, and exactly one of end or duration (0.2-900 s). The default precision is exact, a frame-accurate re-encode with libx264 and yuv420p, and audio defaults to keep. The source is never changed, and each result is a new artifact.
Give each job its own Idempotency-Key so a retry does not buy a second cut. The script below prints the two request bodies.
import json
master = "https://media.sume.com/artifacts/artf_demo/master.mp4"
for name, seconds in (("reservation-9s", 9), ("topview-15s", 15)):
body = {"video_url": master, "start": 0, "duration": seconds}
print("Idempotency-Key:", name)
print(json.dumps(body))Where the cut should land
A hard trim at second 9 will cut a sentence in half. If the master has speech, run video inspect with transcribe: true and segmentation: {"mode": "sentence"}, then pick the last sentence end at or before your target. STT is $0.01 per audio minute in the docs; confirm in GET /v1/catalog.
Also keep the hook in the first seconds; neither TikTok page says where the viewer decides, so that is craft, not spec.
After the cut
Probe both outputs: duration_seconds should sit inside 5-60 s, and the whole-file average (size_bytes times 8 over seconds) should clear 2,500 kbps. A short cut of a low-motion master can fall under the floor even when the long cut passed, so check each file, not the master.
Is trimming the right tool?
A trim only removes time. If the 15-second cut loses the hook because the master opens slowly, trimming from start: 0 will not rescue it; set start to the first strong beat, or build a new cut in Timeline 1.0 from selected shots.
Use precision: exact for ads. The keyframe mode is a stream copy that can begin up to a GOP early, which means a few extra frames of the previous shot at the front of a 9-second ad, a visible share of the whole.
Sources
Related posts
More in Media tools
- TikTok TopView locks assets at preloading: freeze the cut first
TopView creatives need sales-rep pre-approval and cannot change once preloading begins. Use Timeline's unbilled plan, then render once with an idempotency key.
- Do fades shift my cuts? Timeline start times with transitions
In Timeline 1.0 a slot's declared start is its place on the audio spine, fade or no fade. The compiler compensates for the xfade overlap; gaps hold a frame.
- Trim a voiceover take with Timeline audio: source_in and duration
Cut a Sume-hosted voiceover with POST /v1/timeline-1.0/audio: one part with source_in and duration, wav by default, $0.01 flat, Idempotency-Key required.
- Trim, caption, compose: Sume returns new files, keeping your original
Sume's trim and caption tools return new MP4s and leave the source unchanged. Why that keeps the original AI generation intact, and what each step costs.
Written by Sume