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.
- Two-voice dialogue audio on Sume: TTS lines joined with audio concat
Build a role-play or interview track by generating one TTS line per turn in each speaker's voice, then joining up to 20 turns into one gapless file for $0.01.
- One lip-sync model per video: Fabric runs at 25 fps, measure H3 Max
Mixing Fabric and MiniMax H3 Max lip-sync clips in one Sume video risks a frame-rate mismatch. Pick one per run and check fps with ffprobe on the first clip.
Written by Sume