Instagram First Draft cuts pauses: the same rough cut off the phone
Instagram's First Draft trims clips and cuts pauses on iPhone. Sume has no pause-remover, but trim and timeline give you a scripted rough cut.

Instagram's First Draft is an in-app tool that, in Instagram's words, "cuts the pauses and trims down your clips" so you start from a rough cut. Sume does not ship a one-tap pause remover; what it ships is the pieces to script the same result: transcript timings from video inspect, range cuts from video trim, and assembly in Timeline 1.0.
Instagram's description comes from its own creators post on Threads, read on 2026-10-02 (linked in the sources). That post says you select your clips and get a starting point in seconds. Press coverage adds that it began on iPhone; this article relies only on Instagram's own wording and does not claim anything about Android, desktop or the API. Sume facts come from the video inspect, video trim and Timeline 1.0 docs.
What does First Draft do, and what does it not do?
According to Instagram's post, First Draft takes clips you selected, cuts pauses and trims them, and hands you a starting point you can keep editing. It is positioned as a first pass, not a finished Reel.
What the post does not say is how it decides what a pause is, whether it keeps your audio untouched, or whether any of it is exposed to developers. Nothing on the Instagram Platform pages we read this week describes a Content Publishing parameter for it, so treat it as an app feature you cannot call from code.
- It works on clips you already picked inside Instagram.
- It produces an editable draft, not a published Reel.
- Nothing confirms an API, Android or desktop equivalent.
Can Sume cut pauses automatically?
Not as a single call. Sume has no silence-removal endpoint. The honest recipe is three steps you control: get word timings, decide which gaps are pauses, then cut and join.
Step one is video inspect with transcribe: true. Probe and stills are unbilled; the transcript is billed at $0.01 per audio minute per the docs (confirm live in GET /v1/catalog). The result carries transcript.words[]; the docs do not spell out the field names, so read a real response before you hard-code them. A silent clip returns inspect_source_has_no_audio, so check probe.has_audio first.
Step two is your code: walk the words and mark any gap longer than your threshold as a pause. Step three is video trim, one call per keep-range, then Timeline 1.0 to join them.
What does the gap-finding code look like?
This helper turns word timings into keep-ranges. It assumes each word is a dict with start and end in seconds; rename them to match the transcript you actually receive.
def keep_ranges(words, max_gap=0.45, pad=0.08):
"""Merge words into ranges, splitting at pauses longer than max_gap."""
ranges = []
for w in words:
s, e = w["start"], w["end"]
if ranges and s - ranges[-1][1] <= max_gap:
ranges[-1][1] = e
else:
ranges.append([s, e])
return [(max(0, s - pad), e + pad) for s, e in ranges]
words = [
{"start": 0.2, "end": 0.7}, {"start": 0.8, "end": 1.4},
{"start": 3.0, "end": 3.5}, {"start": 3.6, "end": 4.2},
]
print(keep_ranges(words))How do I cut and join the ranges?
Each keep-range becomes one trim. start is required plus exactly one of end or duration; the default precision is exact, a frame-accurate re-encode, and trim is priced at $0.02 per job. Defaults to mode: async, so poll GET /v1/jobs/:id/status, then read GET /v1/jobs/:id/result for the new video_url.
Then place the trims back to back in Timeline 1.0 video[] with source_in 0. Timeline needs one audio spine with audio.duration_seconds; to keep the clips' own sound you would first extract it with audio detach, which is more plumbing than First Draft hides. Run a free POST /v1/timeline-1.0/plan before you pay for the render.
| Question | First Draft | Sume recipe |
|---|---|---|
| Where it runs | Inside Instagram | Your code calling the API |
| Finds pauses | Automatic | You, from transcript word timings |
| Output | Editable draft in the app | New MP4 artifacts you join in a timeline |
| Cost | Not stated in the post | Trim $0.02 per job, transcript $0.01 per minute, timeline $0.10 per output minute |
When is the scripted route worth it?
Use First Draft when you are on the phone with a handful of clips. Script it when you cut the same kind of footage every week, want the threshold in version control, or need the result on a machine with no Instagram app. Neither route replaces judgement: a pause can be a deliberate beat.
Keep clips under the platform's own limits afterwards; the 3-second floor is covered in Instagram Reels 3-second minimum clip length.
What should I check before relying on either route?
Run a short test before a real batch. Pick one clip with deliberate pauses, such as a dramatic beat, and see whether your threshold or First Draft removes it. A 0.45 second gap threshold is only a starting value for the sketch above; speech pace differs by language and speaker, so tune it on your own footage.
Also check cost and time. Every keep-range is a separate trim job, so a clip with forty pauses is forty jobs. Merge ranges that are closer than a quarter second, and use the free timeline plan call to see the billable minutes before rendering. Neither route is a substitute for watching the result once end to end.
Sources
Related posts
More in Media tools
- Instagram Reels ad length: up to 15 minutes, 500 px over 30 s
Meta's ads guide lists Instagram Reels ads from 0 seconds to 15 minutes, 4 GB, and a 500 px minimum width at 30 seconds or more. How a Sume cut fits.
- Instagram ad text limits: 44 characters on Reels, 125 on Feed
Meta's ads guide lists 44 characters of primary text for Instagram Reels ads and 125 for Feed video ads. Where on-video captions from Sume fit in.
- Instagram Reels length: 20 minutes, but 3 for new viewers
Instagram says you can build a Reel up to 20 minutes, but Reels over 3 minutes are not recommended to new audiences. How to cut a 3-minute version with Sume.
- Keyframe trim starts early: fix it with actual_start_seconds
A video-trim with precision keyframe can begin a GOP before your start time. The result reports actual_start_seconds; use it to re-base the next step.
Written by Sume