reels_skip_rate: what the 3-second metric means and how to test hooks
reels_skip_rate is the share of Reel views that skipped in the first 3 seconds. Pull the opening frames and words with Sume video inspect to compare hooks.

reels_skip_rate is an Instagram Graph API insights metric defined as "the percentage of views from people who skipped during the first 3 seconds of the reel". Sume does not read your Instagram insights, but it can hand you the first three seconds of each cut as stills and text, so you can compare what the hook actually showed against the number.
The metric definition is from Meta's IG Media insights reference, read 2026-10-02. That page marks the metric as estimated and as in development, so expect it to change or be absent for some accounts. Sume facts come from the video inspect docs.
What exactly does reels_skip_rate measure?
Meta's page lists it next to ig_reels_avg_watch_time and reach in the Reels metrics list. The definition counts views, not people, and only the first 3 seconds, so it says nothing about how the rest of the Reel performed.
Two caveats from the same page. The metric is labeled estimated, which means it is not an exact count. And it is labeled in development, which is Meta's flag that availability or shape may change. Before you build a dashboard on it, request it on one media object and confirm the response contains it.
- Higher skip rate means more of the views left within 3 seconds.
- It is a hook metric; pair it with average watch time for the whole Reel.
- Do not compare it across accounts without checking both report it.
How do I see what the first 3 seconds contained?
Video inspect reads one clip already on media.sume.com and returns a probe, stills and an optional transcript. Ask for explicit timestamps with frames: {"at": [0, 1, 2]}, which takes 1 to 24 values. Keep the default seek: precise here, because the timestamps must match; fast snaps to the keyframe at or before each instant.
Add transcribe: true to get the opening words; transcript is billed at $0.01 per audio minute, probe and stills are free. If the video is not yet on Sume, import it first with POST /v1/media-imports, since inspect has no open-internet fetch. Source length is capped at 1800 seconds, far above any Reel.
curl -X POST https://api.sume.com/v1/video-inspect \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: hook-check-reel-a-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/reel-a.mp4",
"frames": { "at": [0, 1, 2], "max_edge": 768 },
"transcribe": true,
"language_code": "en"
}'How do I line the metric up with the cuts?
Keep a small table of your own: Instagram media id, the Sume inspect id for the cut, the skip rate you read, and a one-line note on what frame 0 and the first sentence were. Idempotency keys make reruns safe, and the inspect id is the job id, so it is a stable join key.
A sensible reading order is to sort by skip rate and open the worst and best stills side by side. Patterns worth checking: text overlay already on screen at frame 0, a face versus a product, a spoken question versus a slow lead-in.
| Field | Source | Notes |
|---|---|---|
| reels_skip_rate | Instagram insights | Estimated, in development |
| ig_reels_avg_watch_time | Instagram insights | Average time spent playing the reel |
| Frames at 0, 1 and 2 seconds | Sume video inspect | Probe and stills unbilled |
| Opening words | Sume video inspect transcript | $0.01 per audio minute |
What does this not tell me?
It does not tell you why people skipped. Stills and words describe the cut; they do not prove cause. Sume also does not generate your analytics, and it has no connector that writes insights back. Use it as a repeatable way to look at the opening, then test one change at a time.
For a broader retention comparison across versions, see comparing three Reels with probe, stills and transcript.
What is a sensible first experiment?
Take two Reels from the same account with clearly different skip rates and run both through the same inspect call. Write down three things for each: what is on screen at second 0, whether a person is speaking before second 2, and whether any text appears. Do not draw a conclusion from two videos; the point is to form one hypothesis.
Then change one element in a new cut, for example moving the key line to the first second, and publish it as its own Reel. Compare skip rate once both have had similar exposure. Because the metric is estimated and in development, small differences are not evidence.
Sources
Related posts
More in Developers
- Reels views vs crossposted_views vs facebook_views: which to report
Instagram Reels insights list views, crossposted_views and facebook_views separately. Which to report, and how to trace Sume-made variants.
- Clickable transcript from Sume STT word timestamps in Python
Turn a Sume speech-to-text result into HTML where each word seeks the audio player to its start time. Runnable Python, with the result envelope handled safely.
- Sume job error category quota or queue vs 402 and 429
A Sume job error category quota means add funds or lower cost; queue means retry with the same key. They sit on the job, apart from 402 and 429 at submit.
- Sume job failed with worker_timeout: poll again or retry?
A Sume job error in the worker_timeout or generation_timeout category means poll status or retry later. runtime_unavailable means retry later, gently.
Written by Sume