Threads image post: 8 MB, 320 to 1440 px wide, from video frames
Threads images must be JPEG or PNG, up to 8 MB, 320 to 1440 px wide. Pull a still from a Sume clip with video-frames and clamp the long edge to 1440.

Threads image posts take JPEG or PNG up to 8 MB, between 320 and 1440 pixels wide, with an aspect ratio no more extreme than 10:1. To make one from a Sume clip, call video-frames with max_edge 1440 so that no side exceeds the Threads maximum, then confirm the returned width.
What are the Threads image limits?
The table lists the limits from the Threads posts page next to the video-frames control that matches each one.
| Threads limit | Value | video-frames control |
|---|---|---|
| Formats | JPEG, PNG | format: jpeg or png |
| Width | 320 to 1440 px | max_edge 16 to 2160 clamps the long edge |
| File size | 8 MB maximum | Check the saved file |
| Aspect ratio | 10:1 limit | Keeps the source ratio |
How do I extract a Threads-ready still?
Send the request with an Idempotency-Key. The submit always returns 202, so poll the resource and read frames[].width before you attach the image.
curl -X POST https://api.sume.com/v1/video-frames \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: threads-still-001" \
-d '{"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4", "at": [2.5], "format": "jpeg", "max_edge": 1440}'What can still go wrong?
max_edge clamps the long edge, so a very tall frame can end up narrower than 320 pixels. Reading width from the result catches that. The file size is not in the docs for this route, so check it before upload, and switch to jpeg if a png frame is too heavy.
video-frames accepts sources up to 300 seconds and 24 frames per call.
Sources
Related posts
More in Developers
- Threads video aspect ratio up to 10:1 and 1920 px: timeline output
Threads allows video ratios from 0.01:1 to 10:1 and 1920 px, and recommends 9:16. The Sume timeline default 1080x1920 fits, and width and height are settable.
- Threads video frame rate 23 to 60 fps: conform with video-trim
Threads accepts 23 to 60 fps video. Sume video-trim output.fps takes 24, 25, 30 or 60, all inside that range. Conform a mixed-rate clip in one call.
- Threads video audio: AAC, 128 kbps, 48 kHz max, and what trim keeps
Threads wants AAC audio at up to 48 kHz and 128 kbps. Sume trim remuxes kept audio as AAC but has no bitrate field, so probe the clip and check the file.
- TikTok bans some AI content even if labeled: lint prompts first
TikTok prohibits AI that shows fake authoritative sources, crisis events, endorsements or under-18 likeness. A small Python check to run before a Sume render.
Written by Sume