Cut a 60 s clip to a 15 s TikTok ad: one video-trim call, $0.02

Take 15 s starting at second 22 of a 60 s vertical clip with Sume video-trim for $0.02, then check TikTok's 540x960 minimum and 516 kbps floor on the result.

5 min readSume
All posts

Send one POST /v1/video-trim with start: 22 and duration: 15. It returns a new 15-second MP4 for $0.02 and leaves the 60-second source alone. The TikTok non-Spark ad page (read 2026-10-08) allows up to 10 minutes, so 15 seconds is well inside the length limit. The two checks left are size and bitrate: 540x960 at minimum for 9:16 and 516 kbps or more.

The call

Import the 60-second clip first (POST /v1/media-imports), because trim only accepts a media.sume.com file from your workspace. Idempotency-Key is required.

curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: tiktok-cut-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/hero60.mp4",
    "start": 22,
    "duration": 15,
    "mode": "sync"
  }'

What you get back

With mode: "sync" the call waits up to 30 seconds and returns 200 with the finished job if it is ready, or 202 if not. The result has a new video_url, duration_seconds, actual_start_seconds, precision, audio and optional warnings[]. The default precision is exact, so the cut starts at 22.0 seconds.

Trim 15 s from 60 s against the TikTok spec (read 2026-10-08)
ItemValueCheck
Source length60 sLimit for the source is 1,800 s
Cutstart 22, duration 15, so 22-37 sDuration range is 0.2-900 s
Cost$0.02 for one jobSame for each cutdown
Minimum size540x960 for 9:16Compare with the source frame
Minimum file size at 516 kbps516 x 15 / 8 = 967.5 kBCompare with the file size
Length limit10 minutes (non-Spark)15 s is far below

Choosing the 15 seconds

The start of 22 is an example. To pick the real one, sample the 60-second clip with video_inspect (8 mid-bin stills by default, up to 24 with frames.at), look for the hook and the call to action, and note the times. A 15-second TikTok ad usually needs the hook in the first seconds, so start the cut where the hook starts and not where the clip starts. If the best moments are at 5 s and at 48 s, cut two windows and join them in Timeline 1.0 for $0.10, because a join of two trims is two jobs at $0.02 plus one render minute.

If the source is 16:9, a trim alone will not give a vertical ad. The page lists 16:9 with a 960x540 minimum as a separate case, and 9:16 with 540x960 as the recommended one. Crop the clip with video filter first, or pick the 16:9 specification on purpose.

Three cutdowns from one master

Because each cut is its own $0.02 job, three versions (15, 30 and 45 seconds, for example) cost $0.06 in total and use the same source. Keep the source: the trim never changes it. The spot you upload is the new MP4. If the result is under 540x960, a trim cannot fix it, since output conforms to a size but does not add detail; regenerate or choose a larger source.

Check the audio too. audio is keep by default. If the hook has music you do not have rights to, send audio: "drop" and add a bed later in Timeline.

  • Free check first: video_inspect with frames: false gives the probe, including has_audio.
  • If you need the 15 seconds to land on a beat, test precision: keyframe only when a small early start is fine.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume