Instagram Reels Align tool: get the last frame of a clip with Sume

Instagram's Align tool overlays your last clip's final frame. To get that frame from a finished file, probe the duration, then ask Sume video frames for it.

5 min readSume
All posts

Align is Instagram's camera tool that shows a transparent overlay of your last clip's final frame so the next shot starts from the same pose. Sume has no Align, but it can give you the frame Align would show: read the clip's duration and frame rate with a free probe, then request one still just before the end with video frames.

Align is described in Instagram's Reels guide, read on 2026-10-02. The extraction side is video frames and video inspect. The use case is a clip you already shot, or generated, and want a matching next shot for.

Why is the last frame not at the duration?

Because the video frames route needs every at time to satisfy 0 <= t < duration; a time equal to the duration fails with frame_time_out_of_range and the error names the probed duration. The last real frame starts one frame interval before the end, so with a duration of 7.2 seconds at 30 fps, ask for 7.2 minus 1/30, which is 7.1667. A slightly smaller value such as 7.15 is safer when the probe rounds.

Whatever you ask for, the still comes back at the source frame size unless you set max_edge (16 to 2160), and it is a durable image on the media host. Frame extraction is unbilled.

What are the steps?

Three calls, two of them free. The table shows what each returns and what you do with it.

Getting an Align-style last frame with Sume (read 2026-10-02)
StepCallWhat you get
1POST /v1/video-inspect with frames: falseprobe.duration_seconds and probe.fps, no charge
2POST /v1/video-frames with at: [duration minus 2 frames]A job id, always 202
3GET /v1/video-frames/:id until resource_status is readyframes[].url, a durable image

What does the request look like?

Both calls need an Idempotency-Key; on frames, submit is always 202 and you poll the resource. The sample asks for a frame 0.07 seconds before a 7.2-second end.

curl -X POST https://api.sume.com/v1/video-frames \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: last-frame-001" \
  -d '{"video_url":"https://media.sume.com/artifacts/artf_demo/clip.mp4",
       "at":[7.13],"format":"png"}'

curl https://api.sume.com/v1/video-frames/$REQUEST_ID \
  -H "Authorization: Bearer $SUME_API_KEY"

What do I do with the still?

Use it as a reference. Put it at low opacity in your editor or phone gallery next to the camera, line up the pose and framing, and shoot the next clip. You can also use it as a prompt reference when you generate the next shot with an image or video model that accepts a start image; check that model's own page before relying on that.

If the next shot is meant to loop back, the related loop check post compares the first and last frames the same way.

What is the limit?

Video frames accepts sources up to 300 seconds, and a source longer than 90 seconds can return the warning low_confidence_long_video, which does not fail the job. The still is a snapshot: it does not give you the live translucent overlay that Align gives on the camera, and Sume does not run on your phone. It is a way to get the same reference from a file that already exists.

When is this worth doing?

When the next shot must match the last one: a before-and-after, a wardrobe change where the pose has to hold, a product that moves from one hand to the other, or a continuation of a generated clip. For a simple jump cut, you do not need a reference.

It also helps when the first clip came from somewhere other than your phone. Align works on clips recorded in the Instagram camera, so an AI-generated or edited clip has no Align overlay. A still pulled from that file fills the gap.

Pick png when you want to compare detail, such as the exact position of a hand or product, and jpeg, the default, when you only need a rough pose. The docs list both formats. A max_edge of 1080 keeps the still light enough to open on a phone; leave it out to get the source frame size, which for a 4K file can be large.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume