X Ads API video_total_views: new 3-second 100% in-view rule
X redefined video_total_views as 100% in-view for 3 seconds plus manual plays. What that means for your first 3 seconds, and how to check and re-cut them.

X changed the video_total_views metric in the VIDEO group of the Ads API analytics endpoints. It now counts views that are 100% in-view for at least 3 seconds, plus any view where a user manually clicks play; the old rule of 50% in-view for 2 seconds (the MRC standard) no longer applies.
The definition is from the X API changelog, read 2026-10-01. Sume does not measure views. The Sume parts below are about checking and re-cutting the first 3 seconds of a clip, from Video frames and Video trim.
What exactly changed?
The changelog keeps the earlier "100% in-view for 3 seconds" definition as the separate video_3s100pct_views metric, and you can still bid on it with the VIEW_3S_100PCT bid unit.
| Metric or unit | Definition |
|---|---|
video_total_views (now) | 100% in-view for at least 3 seconds, plus manual play clicks |
video_total_views (before) | At least 50% in-view for 2 seconds (MRC) |
video_3s100pct_views | Still available as its own metric |
VIEW_3S_100PCT | Bid unit that remains available |
Why do the first 3 seconds matter more now?
A view now needs the player fully in view for 3 seconds, so what appears in those seconds is what earns the count. A clip that opens on a blank frame or a slow fade spends part of that window without showing the ad. The changelog says nothing about creative, so this is a planning inference, not an X rule.
How can I see what is on screen at seconds 0 to 3?
POST /v1/video-frames takes explicit seconds: 1 to 24 values, each 0 or more, on a Sume-hosted clip. It is unbilled, and returns durable image URLs for each second. For a broader read, video inspect probes and samples stills from one clip. Request at: [0, 1, 2, 2.9] and review the four stills.
How do I re-cut a weak opening?
POST /v1/video-trim returns a new MP4 for a [start, end) range, with duration anywhere from 0.2 to 900 seconds. Start the cut after the dead frames, then post that file. Sume does not report views or X metrics; you read those from the Ads API.
Sources
Related posts
More in Developers
- X animated GIF limit: 15 MB, 350 frames, and the MP4 alternative
X allows an animated GIF up to 15 MB and recommends 1280x1080 and 350 frames or fewer. Sume makes MP4 video, not GIF, so attach a short MP4 instead.
- X API 403 "not allowed to post a video longer than N minutes"
The 403 means the clip exceeds the posting account's cap: 20 minutes by default, 125 for Premium or verified. Cut the video to that cap before you post.
- X Articles API: draft, publish and a generated cover image
The X Articles API has POST /2/articles/draft and a publish call, with optional cover media. Make the cover with a Sume image call, then upload it to X.
- X API image 5 MB limit: pick a Sume output format
X allows JPG, PNG, GIF and WEBP images up to 5 MB on every account. Sume outputs png, jpeg or webp, with no target file size field in the docs.
Written by Sume