Keep 0.24 s of breath: shorten pauses instead of deleting them
Pad each kept range by 0.12 s per side and 9 pauses totalling 6.35 s lose 4.19 s, not 6.35 s. The speech keeps a 0.24 s breath at every join.

Deleting every gap makes speech sound clipped. Instead pad each kept range by a hold of 0.12 s before and after, so every pause that you cut still leaves 0.24 s. Nine pauses totalling 6.35 s then lose 4.19 s, and each join keeps a short breath.
Instagram says First Draft cuts the pauses and trims your clips, with everything reversible (read 2026-10-09). It publishes no numbers, so any hold value is your own choice.
The arithmetic
A gap of g seconds between two words, with a hold h on each side, leaves min(g, 2h) and removes max(g - 2h, 0). With h = 0.12 a 0.35 s gap loses 0.11 s and a 2.0 s gap loses 1.76 s.
| Pause | Kept (2 x 0.12) | Removed |
|---|---|---|
| 0.35 s | 0.24 s | 0.11 s |
| 0.60 s | 0.24 s | 0.36 s |
| 1.20 s | 0.24 s | 0.96 s |
| 2.00 s | 0.24 s | 1.76 s |
Over a whole clip
Take nine gaps of 0.4, 0.6, 0.6, 0.9, 1.2, 0.5, 0.35, 0.8 and 1.0 s, which sum to 6.35 s. Deleting them all removes 6.35 s; keeping 0.24 s at each of the nine joins removes 4.19 s (6.35 - 9 x 0.24 = 4.19). The same Reel runs 2.16 s longer and sounds more natural.
def pad(ranges, hold=0.12, duration=None):
"""Widen each kept (start, end) by hold on both sides; clamp and merge."""
out = []
for s, e in ranges:
s, e = max(s - hold, 0), e + hold
if duration is not None:
e = min(e, duration)
if out and s <= out[-1][1]:
out[-1] = (out[-1][0], e)
else:
out.append((s, e))
return [(round(s, 3), round(e, 3)) for s, e in out]Notes
- The merge step matters: a gap under 0.24 s overlaps after padding and becomes one range, so it is not cut at all.
- STT word times can run slightly tight to the audio. The speech-to-text sentence
segments[]option has aboundary_lead_mssetting (default 70 ms, range 0 to 500) for sentence starts; check the inspect docs before relying on it for word padding. - A longer hold on your padded ranges raises each trim by the same amount, so the 0.2 s trim floor is easier to clear.
- Pick one hold per Reel; changing it re-cuts everything.
Sources
Related posts
More in Media tools
- Does Kling motion control follow my prompt? Only for appearance
On Sume's Kling 3.0 Motion Control the optional prompt (up to 2,000 characters) steers appearance only; motion and framing follow the driving video.
- Korean captions: slam returns 400, so use korean-ad with language ko
Latin caption styles have no Hangul glyphs, so Korean text on slam, punch or tiktok-green returns 400 caption_hangul_text_latin_style. Use korean-ad.
- LinkedIn 1200x675 video ad: Sume needs even sizes, so use 1280x720
LinkedIn lists 1200x675 as a 16:9 size, but 675 is odd. Sume timeline sizes must be even, so render 1280x720 or 1920x1080, both inside LinkedIn's range.
- LinkedIn 30-minute video: 24 spot-check stills, one every 75 seconds
LinkedIn allows videos up to 30 minutes. Video inspect takes 1,800 seconds and 24 stills per call, so at[] with 37.5 + 75k covers the whole file in one job.
Written by Sume