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

PropertyRequirement
Max Images20 per post
FormatsJPEG, PNG, WebP, GIF
Max File Size8 MB per image
Recommended1080 × 1350 px (4:5)

Aspect Ratios

RatioDimensionsNotes
4:51080 × 1350 pxPortrait, recommended
1:11080 × 1080 pxSquare
16:91080 × 608 pxLandscape

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

PropertyRequirement
Max Videos1 per post
FormatsMP4, MOV
Max File Size1 GB
Max Duration5 minutes
Min Duration0 seconds
Aspect Ratio9:16 (vertical), 16:9 (landscape), 1:1
Resolution1080p recommended
PropertyRecommended
Resolution1080 × 1920 px (vertical)
Frame Rate30 fps
CodecH.264
AudioAAC, 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

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

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

PropertyLimit
Post text500 characters
With linkLink 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.