Pause cuts from STT words: a 0.35 s gap rule and the 0.2 s trim floor
Turn STT word times into keep-ranges: cut gaps over 0.35 s, drop slivers under the 0.2 s trim minimum, and price 8 trim jobs at $0.02 each.

A pause cut is a list of kept ranges. Walk the speech-to-text words, end a range whenever the gap to the next word is longer than your threshold (0.35 s is a workable start), and send each range to video trim as start and end. The trim API refuses any output shorter than 0.2 s, so drop slivers before you submit, and each surviving range is one $0.02 job.
Instagram describes First Draft as cutting the pauses and trimming your clips with one tap, with everything reversible (read 2026-10-09). Sume's media tools take ranges, so the threshold itself lives in your code, and the numbers below are your choices, not Instagram's.
The rule in code
Words come from video_inspect with transcribe: true, which returns words[] with word, start and end in seconds from the start of the video. Skip any word that has no timing (the schema marks start and end optional). The function below merges words that sit within the gap, then drops ranges under the floor.
def kept_ranges(words, gap=0.35, floor=0.2):
"""words: STT words [{"word", "start", "end"}] in seconds.
Returns [(start, end)] to keep. Gaps longer than `gap` are cut."""
timed = [w for w in words if "start" in w and "end" in w]
ranges, cur = [], None
for w in timed:
if cur and w["start"] - cur[1] <= gap:
cur[1] = w["end"] # same breath: extend the range
else:
if cur:
ranges.append(cur)
cur = [w["start"], w["end"]]
if cur:
ranges.append(cur)
# video-trim refuses an output under 0.2 s, so drop slivers here
return [(round(s, 3), round(e, 3)) for s, e in ranges if e - s >= floor]
def trim_body(video_url, start, end):
return {"video_url": video_url, "start": start, "end": end}What it costs on a 42-second clip
Example numbers, not a measurement: assume a 42 s talking clip with 9 gaps over 0.35 s. That gives 10 candidate ranges. Two are lone fragments under 0.2 s and are dropped, which leaves 8 trims. The STT reserve is one minute because a clip under a minute still reserves a full minute when you omit duration_seconds.
| Step | Jobs | Rate | Total |
|---|---|---|---|
| Speech to text on a 42 s clip (reserves 1 minute) | 1 | $0.01 | $0.01 |
| Video trim, one per kept range | 8 | $0.02 | $0.16 |
| Total for the cut ranges | $0.17 |
Limits that shape the rule
These are the documented trim limits that your code should respect before it posts anything.
- Send an
Idempotency-Keyper range so a retried batch does not double-bill. - Trimmed MP4s are new files; the source stays untouched, so you can rerun with a different
gap.
| Limit | Value | What to do |
|---|---|---|
| Output length | 0.2 s to 900 s | Drop ranges under 0.2 s |
| Source length | up to 1800 s | Split longer recordings before import |
| Range fields | start plus only one of end or duration | Send end, never both |
| Precision | exact by default, frame-accurate | Keep exact so a cut does not start early |
| Rate | $0.02 per job | 8 ranges = $0.16 |
Where eight trim jobs are overkill
If all you need is the stitched Reel, a Timeline render can take the same ranges as source_in and duration slots over one source and skip the trim jobs entirely. See the Timeline-only version for the cost comparison.
Sources
Related posts
More in Media tools
- HEVC phone clip for LinkedIn: exact trim re-encodes, keyframe copies
LinkedIn lists H.264 or VP8. Sume's exact trim re-encodes to libx264, while keyframe trim copies the stream, so a phone HEVC source stays HEVC with keyframe.
- Pin lyria-3-pro or leave sume/music-auto? Both cost $0.125
On the Sume Music Router, sume/music-auto, lyria-3.5 and lyria-3-pro all bill $0.125 a generation, so price will not pick the model. Pin one for repeatability.
- Pinterest 1:1, 2:3, 4:5, 9:16 video ads: four Sume renders, $0.40
Pinterest recommends four ratios for standard video ads. A 15-second ad in 1080x1080, 1080x1620, 1080x1350 and 1080x1920 is four Sume renders at $0.10.
- Pinterest Idea ad safe zone 270 top, 440 bottom: place captions
Pinterest's Idea ad safe zone leaves 820 by 1210 pixels on a 1080x1920 video. Work out the caption band, then test Sume's anchor_ratio against a still.
Written by Sume