Threads

Threads sizes, specs, and posting limits

Threads accepts text, images, videos, and mixed carousels. Its API can rescale images during processing, so the key constraints are file size, supported format, aspect ratio, carousel count, and the rolling daily publishing quota.

Updated July 2026

Recommended sizes

Good defaults for Threads

Use these sizes when you need a sensible default. The tables below cover the limits enforced by the API.

Square image

1080×1080 (1:1)

A good feed image size; Threads may rescale larger images.

Vertical video

1080×1920 (9:16)

The recommended full-screen video ratio.

Documented image processing

320–1440px wide

This is a rescaling range, not necessarily a hard source rejection.

API limits

Threads API specifications

Check these values in your upload validator or before an agent submits a post.

Image and carousel limits

Threads image processing and carousel constraints.

Formats
JPEG, PNG
Maximum file size
8 MB each
Image aspect ratio
Up to 10:1
Carousel size
2–20 mixed images and videos
GIF uploads
Not supported

Video and text limits

Threads video, copy, and discovery settings.

Video formats
MP4, MOV
Maximum video size
1 GB
Video duration
Up to 5 minutes
Video resolution
Up to 1920px wide
Post text
500 characters
Topic tag
50 characters

API quota

Rolling account-level publishing limits.

Publishing quota
250 API-published posts / 24 hours
Carousel accounting
One carousel counts as one post

Common publishing errors

Threads publishing errors

Find the returned code or the closest matching failure below, then fix the cause before retrying the post.

FAILED_DOWNLOADING_VIDEO / 2207052

Threads could not download the image or video used to create the media container.

Fix: Retry once. If Threads still cannot fetch it, re-upload the file to PublishQ and publish the new media item.

INVALID_ASPEC_RATIO

The video aspect ratio failed Threads processing. The API returns ASPEC with this spelling.

Fix: Re-encode the video with a supported aspect ratio and create a new container.

INVALID_DURATION

The submitted video is longer than the Threads duration limit.

Fix: Trim the video to 5 minutes or less, then create and publish a new container.

INVALID_BIT_RATE

The video bitrate is not accepted by the Threads media processor.

Fix: Re-encode the video with a standard web bitrate and upload it through a new container.

text must be at most 500 characters (400)

The Threads version is longer than the platform’s 500-character allowance.

Fix: Write a shorter Threads override instead of sending a caption written for a platform with a larger limit.

2207050 Account restricted

The Instagram account linked to Threads is restricted, which also blocks Threads publishing.

Fix: Check Account Status in Instagram and resolve the restriction before posting to Threads again.

Why Threads uploads fail

  • Emoji-heavy text exceeds the effective limit because Threads counts UTF-8 bytes.
  • A personal GIF is uploaded even though the API only supports GIPHY GIFs.
  • The rolling 250-post API quota is exhausted for the account.

What PublishQ handles

  • Prepares each image into the best version Threads accepts, converting the format and compressing oversized images, then validates media count and mixed-carousel rules before publishing.
  • Supports topic tags and Threads-specific content through account overrides.
  • Uses one PublishQ request for Threads media containers and status polling.
For developers and agents

Publish to Threads through one API

Send PublishQ the post. We check it, prepare the media, and deliver it to Threads. You can work in the dashboard or connect through the API, CLI, or MCP server.

Frequently asked questions

Common questions about Threads media sizes and API publishing limits.

What image size should I use on Threads?

1080×1080 works well for square Threads posts. Threads documents a 320–1440px processing width and can rescale larger supported images rather than rejecting them solely for resolution.

What are the Threads video limits?

Threads accepts MP4 or MOV video up to 1 GB and 5 minutes, with a documented maximum width of 1920px.

Can an AI agent publish Threads posts with PublishQ?

Agents can send Threads posts through the PublishQ API or MCP server. PublishQ creates the media containers, polls their status, and applies the platform settings.