X video ad thumbnail: PNG or JPEG under 5 MB, pulled from your own MP4
X accepts a PNG or JPEG thumbnail up to 5 MB that matches the video. Sume video frames returns a still at a time you pick, at source size.
X video ads take an optional thumbnail in PNG or JPEG, at most 5 MB, with an aspect ratio that matches the video. You can pull that still from your own MP4 with Sume video frames: name the second you want, ask for png or jpeg, and keep the source size so the ratio matches.
What X specifies
On its creative specs page X lists thumbnail files as PNG or JPEG, recommends matching the sizing of the video, and sets 5 MB as the maximum size. Nothing on that page mentions a minimum dimension, so the size you extract only needs to match the video.
| Item | X spec |
|---|---|
| Supported files | PNG or JPEG |
| Aspect ratio | Recommend matching the video |
| Max size | 5 MB |
| Standalone video ratios | 16:9 or 1:1 |
Two Sume routes to a still
Video frames extracts stills from one clip in your workspace at times you name. It returns durable image artifacts at source size unless you set max_edge (16 to 2160). Format is jpeg by default, or png. A submit always returns 202, so you poll the job. It is billed by Modal compute, not a fixed price, so read the reservation from the response rather than assuming a number.
Video inspect samples stills too, with a default of 8 and a cap of 24 per call, at max_edge 768 unless you change it. For a thumbnail you want the exact frame, so use video frames; use inspect when you are skimming candidates. Inspect also has a seek option: precise is the default, and fast snaps to the keyframe at or before the instant, up to about 0 to 5 seconds early.
- Pick the time from the content, for example the frame after your logo animation settles.
- Keep PNG for flat graphics and text overlays, JPEG for photographic frames; JPEG files are smaller.
- Leave max_edge unset so the still keeps the video's frame size and therefore its ratio.
Cost and timing
Video frames and video inspect are not fixed-price calls. Sume bills each by its own Modal compute (container seconds times the Modal list price times 1.25, plus the platform fee), and the bill never exceeds the amount held at submit. For one still from a short clip that is a small amount, but read the captured cost on the job rather than relying on a number from this page.
Because a submit to video frames always returns 202, build the thumbnail step as submit, poll the job status, then fetch the artifact. Send an Idempotency-Key so a retry does not queue a second extract.
Check the 5 MB limit
A 1920 by 1080 JPEG is typically well under 5 MB, but a PNG of a detailed frame can be large. Sume's response includes the artifact, so fetch it and check the byte count before you upload. If the PNG is over 5 MB, request jpeg for the same time and compare.
For vertical clips: X lists 16:9 and 1:1 for standalone video ads, and says the legacy composer supports any ratio between 2:1 and 1:1. Check which composer your account uses before you ship a 9:16 file, because a thumbnail cannot fix a ratio the ad does not accept.
Sources
Related posts
More in Media tools
- X website-button video: headline sits 8-12 px in, move captions
X's spec puts the headline 8 to 12 pixels from the left and bottom of a website-button video. Keep burned-in Sume captions clear of that corner at 800x450.
- YouTube 1080p at 60 fps: a 3-minute Short is 270 MB, not 180
YouTube lists 8 Mbps for 1080p at 24-30 fps and 12 Mbps at 48-60: 180 MB versus 270 MB over 180 s. Timeline fps 60 only helps with 60 fps sources.
- YouTube end screen needs 25 seconds: check and trim a cut
YouTube's help page says a video must be at least 25 seconds long for an end screen, placed in the last 5 to 20 seconds. How to check a file and plan the tail.
- YouTube Short at exactly 60 seconds: 'exceeding one minute' and a trim
YouTube blocks claimed Shorts that exceed one minute. By wording 60.0 s does not, but a 59-second trim leaves margin. Sume trim is $0.02.
Written by Sume