Skip to content
OpenPostDocs
OpenPostDocs

Media limits

Default attachment limits used by OpenPost before publishing.

These are OpenPost's default publishing limits, generated from the same capability catalogue used by the composer, API, CLI, and MCP. They are not a promise that every connected account can publish every format. The destination preview applies account-specific limits, permissions, and provider readiness.

A dash means the catalogue has no fixed limit for that field. It does not mean unlimited. Your upload plan, server configuration, provider account, and Mastodon instance can impose lower limits. Sizes below are exact bytes; duration is in seconds. Attachment counts apply to each thread segment.

Default limits

Destination formatAttachmentsFile typesMaximum bytesImage maximum bytesVideo secondsAdditional rules
X thread0–4image/jpeg, image/png, image/webp, image/gif, video/mp4, video/quicktime536870912-140Video must be the only attachment
X image post1–4image/jpeg, image/png, image/webp, image/gif---
X video1–1video/mp4536870912-140
Bluesky thread0–4image/jpeg, image/png, image/webp, video/mp43000000002000000600Video must be the only attachment
Bluesky images1–4image/jpeg, image/png, image/webp-2000000-
Bluesky video1–1video/mp4300000000-600
Mastodon thread0–4image/jpeg, image/png, image/webp, image/gif, video/mp4---
Mastodon media1–4image/jpeg, image/png, image/webp, image/gif, video/mp4---
Mastodon video1–1video/mp4, video/quicktime, video/webm103809024--
Threads thread0–10image/jpeg, image/png, image/webp, video/mp4, video/quicktime---Public HTTPS file required
Threads media1–1image/jpeg, image/png, image/webp---Public HTTPS file required
Threads carousel2–20image/jpeg, image/png, image/webp, video/mp4, video/quicktime---Public HTTPS file required
Threads video1–1video/mp4, video/quicktime2147483648-180Public HTTPS file required; Aspect ratio: 9:16, 1:1
LinkedIn image1–1image/jpeg, image/png, image/gif---
LinkedIn document1–1application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation104857600--
LinkedIn multi-image post2–20image/jpeg, image/png, image/gif---
LinkedIn video1–1video/mp4524288000-1800
Facebook Page photo1–1image/jpeg, image/png, image/webp---Public HTTPS file required
Facebook multi-photo2–10image/jpeg, image/png, image/webp---Public HTTPS file required
Facebook Page Story1–1image/jpeg, image/png, image/webp, video/mp4, video/quicktime---Public HTTPS file required
Facebook Reel/video1–1video/mp4, video/quicktime2147483648-180Public HTTPS file required; Aspect ratio: 9:16, 1:1
Facebook video1–1video/mp4, video/quicktime2147483648-43200
Instagram feed1–1image/jpeg, image/png, image/webp---Public HTTPS file required
Instagram carousel2–10image/jpeg, image/png, image/webp, video/mp4, video/quicktime---Public HTTPS file required
Instagram Story1–1image/jpeg, image/png, image/webp, video/mp4, video/quicktime---Public HTTPS file required
Instagram Reel1–1video/mp4, video/quicktime2147483648-180Public HTTPS file required; Aspect ratio: 9:16, 1:1
YouTube Short1–1video/mp4, video/quicktime2147483648-180Aspect ratio: 9:16, 1:1
YouTube video1–1video/mp4, video/quicktime2147483648-43200
TikTok video1–1video/mp4, video/quicktime, video/webm4294967296-600Public HTTPS file required; Aspect ratio: 9:16, 1:1
TikTok photo post1–35image/jpeg, image/webp20971520--Public HTTPS file required
Pinterest Pin1–1image/jpeg, image/png, image/webp20971520--Public HTTPS file required
Pinterest multi-image Pin2–5image/jpeg, image/png, image/webp20971520--Public HTTPS file required
Pinterest video Pin1–1video/mp42147483648-900
Telegram media1–10image/jpeg, image/png, image/webp, image/gif, video/mp4, video/quicktime, application/pdf---
Telegram video1–10image/jpeg, image/png, image/webp, image/gif, video/mp4, video/quicktime, application/pdf---
Discord attachment1–10image/jpeg, image/png, image/webp, image/gif10485760--
Discord video1–1video/mp4, video/quicktime, video/webm10485760--

Provider specifications and exceptions

Catalogue and publisher validation reviewed: 12 September 2026. The following API references were checked on that date:

  • Bluesky: image specifications and video schema. Images are limited to 2,000,000 bytes. MP4 video is limited to 300,000,000 bytes and 10 minutes. A segment can contain images or one video.
  • X: media upload documentation. OpenPost currently uses the legacy OAuth 1.0a upload route. Its default 512 MiB / 140-second limit is deliberate; the newer v2 route's 8 GB / 20-minute limits do not describe this adapter. Connected-account capabilities can adjust the default. A segment can contain images or one video.
  • TikTok: media transfer specifications. MP4, MOV, and WebM are supported. Direct Post uses the connected creator's available duration and privacy options. URL uploads require a verified domain and an accessible HTTPS file.
  • YouTube: video upload API. OpenPost's default file-size cap is lower than YouTube's API upload maximum. Unverified API projects can be restricted to private uploads. YouTube now supports custom Shorts thumbnails for eligible channels. OpenPost therefore does not impose a blanket Shorts restriction.
  • LinkedIn: Videos API. Video formats and account permissions differ from documents and image posts.
  • Mastodon: instance configuration. OpenPost uses the connected instance's advertised MIME types, attachment count, and image/video size limits when available.
  • Telegram: Bot API file sending. File limits depend on the sending method and whether the deployment uses the hosted or local Bot API. The catalogue does not currently express every Telegram transfer limit.

Other destinations retain their catalogue defaults. Check their current provider requirements before relying on a boundary value. OpenPost's preflight also checks analysed media, codecs, dimensions, and account restrictions that are not all shown in this table.

For access or approval failures, see connecting accounts and the integration setup guides.

On this page