Free checks before a TikTok ad: Timeline plan, filter check, not trim

Timeline plan and Video filter check are unbilled on Sume. Trim has no check. A 10-minute ad with one trim, one filter and one render totals $1.04.

5 min readSume
All posts

Two Sume media steps have a free check and one does not. POST /v1/timeline-1.0/plan and POST /v1/video-filter/check create no job, reserve no credits and run no encoder. The Video trim docs describe no check route, so a trim is validated only by sending it. For a 10-minute TikTok ad with one trim ($0.02), one filter encode ($0.02) and one render (10 minutes x $0.10 = $1.00), the paid total is $1.04 as of 2026-10-08, and the checks add nothing.

What each step offers

TikTok's non-Spark specs allow up to 10 minutes, 500 MB or less, at least 516 kbps, and the file types .mp4, .mov, .mpeg, .3gp and .avi. A paid mistake on a long file is more annoying than on a short one, so it is worth knowing which Sume calls you can test first.

Sume media steps and their dry runs, read 2026-10-08
StepFree checkPaid priceWhat the check returns
Timeline renderYes, /v1/timeline-1.0/plan$0.10 per output minute, ceilduration_seconds, segment_count, billable_minutes, estimated cost, filtergraph summary
Video filterYes, /v1/video-filter/check$0.02 per encode jobvalid, diagnostics, compiled filter names, estimate, next_action
Video trimNone documented$0.02 per jobNot applicable
Timeline composeNone documented$0.02 per jobNot applicable

The 10-minute example

Say you build a 600-second ad from a 25-minute recording. Trim one 200-second clip out of it (the output cap is 900 seconds, the source cap 1800). Dim that clip with a Video filter op, since the filter accepts sources up to 300 seconds. Then render the sequence as 600 seconds of output.

  • Video trim, one job: $0.02
  • Video filter, one encode job: $0.02 (the check before it: $0.00)
  • Timeline render, 600 s: ceil(600 / 60) = 10 minutes x $0.10 = $1.00 (the plan before it: $0.00)
  • Total: $0.02 + $0.02 + $1.00 = $1.04

What a passing check does not promise

Both docs say so. A filter program that passes the check can still fail on the worker box because of a bad expression, memory or time, and you then get a structured job error. A plan cannot predict warnings about short sources being padded or looped. Neither check looks at TikTok's 516 kbps floor or the 500 MB cap, because Sume does not let you set bitrate and does not report the file size in the plan.

So use the checks for what they cover (schema, allowlists, host preflight, minutes and cost), and measure the finished MP4 yourself against the TikTok page before you upload. The trim has no check, but it is also the cheapest step, and the same $0.02 whether it cuts 5 seconds or 500.

A habit that keeps the bill at $1.04

Order the calls so that the free ones come first and the expensive one comes last. Check the filter program, run the filter, trim, and only then plan and render. A bad crop fraction or a filtergraph with an unknown filter is caught for nothing before a single job exists. The one step that can still cost you is the render itself, at $1.00 for 600 seconds, which is why the plan call, with its billable_minutes figure, goes right before it. Sixteen-hundred-second sources and 200-slot lists are accepted by Timeline, but each extra started minute is another $0.10.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume