A video passes two sets of limits. Reelspan's own (file type and your plan's size) are checked when you send the request, and a video that fails them is refused before anything is posted. Each network's own limits are checked when Reelspan publishes there, and a network that can't take the video fails on its own with an error_code, without affecting the others.
What Reelspan accepts
| Formats | MP4, MOV and WebM (AVI is also recognised). The type is read from the file's content, not its name. |
| Size | Your plan's limit: Free 0.5 GB, Starter 1 GB, Pro 2 GB, Agency 4 GB, Scale 8 GB. See Plans and limits. |
| One request | At most 100 MB per request; send bigger files with a direct upload. See Large files. |
| From a URL | A public https:// URL, including Google Drive and Dropbox share links. |
| Thumbnail / cover | An image up to 20 MB, as a file, a URL (thumbnail_url, cover_url) or a media id. thumbnail is the YouTube thumbnail; cover is the Instagram Reel cover, the Pinterest video Pin cover and the Reddit poster image. TikTok takes its cover from a frame of the video instead (cover_timestamp, in milliseconds). |
A video over the plan limit is refused with 413 FILE_TOO_LARGE; a file that isn't a video with 400 UNSUPPORTED_MEDIA or WRONG_MEDIA_KIND.
Per network
What each network takes, and the limits Reelspan itself enforces or adjusts for it. "Shapes" are the aspect ratios the network shows best, preferred first. Where a cell says network decides, Reelspan sends the video as it is and the network's own answer is reported in the result.
| Network | Video post | Shapes | Size and length |
|---|---|---|---|
| YouTube | Shorts and long-form | 9:16, 16:9 | Network decides. A video of 3 minutes or less that is vertical or square gets a youtube.com/shorts/ URL. |
| TikTok | Direct post, or a draft in the TikTok inbox (post_mode=MEDIA_UPLOAD) |
9:16 | Before a direct post Reelspan asks TikTok for the account's longest allowed video and fails with tiktok_duration_too_long if it is longer. Size: network decides. |
Reels, or a Story (media_type=STORIES) |
9:16, 4:5, 1:1 | Network decides. | |
Page Reels, a Page video (facebook_media_type=VIDEO), or a Page Story (facebook_media_type=STORIES) |
9:16, 16:9; any shape for a Page video | Network decides. | |
| X | A video post | 16:9, 1:1 | Network decides. |
| Threads | A video post | 4:5, 9:16 | Network decides. |
| A video post, personal or company page | 1:1, 16:9 | Network decides. | |
A video Pin (needs pinterest_board_id) |
2:3, 9:16 | Network decides. | |
| Bluesky | A video post | 16:9 | 100 MB. Over it fails with bluesky_video_too_large, unless you send bluesky_compress=true: Reelspan then re-encodes it to fit (H.264, at most 1080p) and says so in a warning. Bluesky also has a daily video limit per account (bluesky_video_limit). |
A video post in reddit_subreddit |
16:9, 9:16, 1:1 | 1 GB. Reddit needs a poster image: the cover if you sent one, else a frame of the video. | |
| Telegram | A channel or group message | 9:16, 16:9, 1:1 | 50 MB (Telegram's limit for bots). |
| Discord | A channel message | 16:9, 9:16, 1:1 | 10 MB per file (webhooks on servers without boosts). |
| Slack | A channel message | 16:9, 9:16, 1:1 | 1 GB with a bot token. Through an Incoming Webhook the video is sent as a link. |
| Mastodon | A post | 16:9, 9:16, 1:1 | 99 MB; servers may set lower limits. |
| WordPress | A blog post with the video embedded | 16:9, 1:1 | 512 MB; your site's own upload limit also applies. |
| Lemmy | A community post | 16:9, 1:1 | 100 MB. |
| Nostr | A note linking the video, uploaded to your media server | 16:9, 9:16, 1:1 | 100 MB. |
| Whop | A forum post | 16:9, 9:16, 1:1 | 2 GB. |
| Google Business | No video posts | ||
| Dev.to, Hashnode, Listmonk | No video posts |
A file over a network's limit fails that network with file_too_large (or the network's own code above). Sending video to a network that has no video posts refuses the request with 400 UNSUPPORTED_POST_TYPE.
Carousels with video
On photo posts, Instagram and Threads take videos mixed into a carousel. Other networks get only the photos, with a warning; a network that would be left with no photos fails with media_required.
Processing on the network
Most networks process a video after it is uploaded. Reelspan waits for that and reports the outcome; a network that rejects the file fails with a *_processing_failed code, and one that is still processing when Reelspan stops waiting fails with *_processing_timeout. In the second case the post may still appear: check the account before retrying. See Troubleshooting.
To avoid surprises, export H.264 video with AAC audio in an MP4, vertical 9:16 for short-form networks, and keep it within the smallest limit of the networks you post to. Network rules change; the network's own help pages have its current limits.