Media Guidelines
Threads
Image and video requirements for Threads posts and sequences
Overview
Threads (by Meta) supports images, videos, and thread sequences (multiple connected posts).
Image Requirements
| Property | Requirement |
|---|---|
| Max Images | 20 per post |
| Formats | JPEG, PNG, WebP, GIF |
| Max File Size | 8 MB per image |
| Recommended | 1080 × 1350 px (4:5) |
Aspect Ratios
| Ratio | Dimensions | Notes |
|---|---|---|
| 4:5 | 1080 × 1350 px | Portrait, recommended |
| 1:1 | 1080 × 1080 px | Square |
| 16:9 | 1080 × 608 px | Landscape |
Image Post Example
{
"content": "Sharing some thoughts on building in public 🚀",
"mediaItems": [
{ "url": "https://example.com/photo1.jpg" },
{ "url": "https://example.com/photo2.jpg" }
],
"platforms": [
{ "platform": "threads", "accountId": "acc_123" }
]
}Video Requirements
| Property | Requirement |
|---|---|
| Max Videos | 1 per post |
| Formats | MP4, MOV |
| Max File Size | 1 GB |
| Max Duration | 5 minutes |
| Min Duration | 0 seconds |
| Aspect Ratio | 9:16 (vertical), 16:9 (landscape), 1:1 |
| Resolution | 1080p recommended |
Recommended Video Specs
| Property | Recommended |
|---|---|
| Resolution | 1080 × 1920 px (vertical) |
| Frame Rate | 30 fps |
| Codec | H.264 |
| Audio | AAC, 128 kbps |
Video Example
{
"content": "Quick behind-the-scenes look 🎬",
"mediaItems": [
{ "url": "https://example.com/bts.mp4" }
],
"platforms": [
{ "platform": "threads", "accountId": "acc_123" }
]
}Thread Sequences
Create connected posts (root + replies):
{
"platforms": [
{
"platform": "threads",
"accountId": "acc_123",
"platformSpecificData": {
"threadItems": [
{
"content": "Here's a thread about API design 🧵",
"mediaItems": [{ "url": "https://example.com/cover.jpg" }]
},
{
"content": "1/ First, let's talk about REST principles..."
},
{
"content": "2/ Authentication is crucial. Here's what we recommend...",
"mediaItems": [{ "url": "https://example.com/auth-diagram.jpg" }]
},
{
"content": "3/ Finally, always version your API! /end"
}
]
}
}
]
}Thread Sequence Notes
- First item is the root post
- Subsequent items become replies in order
- Each item can have its own media
- No limit on thread length
Carousel Posts
Multiple images in a single swipeable post:
{
"content": "Product launch day! Here are all the new features:",
"mediaItems": [
{ "url": "https://example.com/feature1.jpg" },
{ "url": "https://example.com/feature2.jpg" },
{ "url": "https://example.com/feature3.jpg" }
],
"platforms": [
{ "platform": "threads", "accountId": "acc_123" }
]
}Up to 20 images per carousel.
GIF Support
Threads supports animated GIFs:
- Auto-play in feed
- Max 8 MB
- Counts toward image limit
- May be converted to video internally
Link Previews
URLs in text generate preview cards:
{
"content": "Just published a new blog post! https://myblog.com/new-post",
"platforms": [
{ "platform": "threads", "accountId": "acc_123" }
]
}Text Limits
| Property | Limit |
|---|---|
| Post text | 500 characters |
| With link | Link may use additional space |
Common Issues
"Too many images"
Max 20 images per post. Use a thread sequence for more content.
Video too long
Max duration is 5 minutes. Trim or split longer videos.
Image rejected
- Check file size (≤8 MB)
- Ensure valid format
- Verify aspect ratio is reasonable
Thread sequence failed
- Ensure first item has content
- Check each item's media individually
- Verify account permissions
"Media type mismatch"
Unlike TikTok, Threads allows mixing images and videos in thread sequences, but not in a single post with multiple media.