Images and video
Timalio applies the strictest network’s limit to every image, and to video. A file accepted here goes through everywhere else.
What is accepted
- JPEG, PNG, WebP and GIF. The format is recognized from the file’s bytes, never from its name: renaming a file changes nothing.
- 2 MB per image at most. 4 images per post work on every network; a post aimed only at networks that allow more (an Instagram carousel, for instance) can carry more, and an error names the network that sets the limit.
- Alt text: 1,000 characters. That is the shortest documented length among the networks that carry it.
- 200 MB per organization, across all images.
The size limit is the strictest network’s, and it applies on upload, before anyone knows where the post will go. Otherwise, ticking the last account would reveal that the image uploaded ten minutes earlier is too heavy.
What each network does with them
The networks that accept an image today are Bluesky and Mastodon. The ones that refuse it: LinkedIn.
The composer says so before sending, with the reason for the refusal, and does not file the image away “for later”: an image filed away without being published is exactly the silent loss we are trying to avoid.
Alt text is not carried by every network. When a targeted account cannot receive it, the screen says so rather than letting you believe the description will go out.
Video
An Instagram Reel IS a video: it was the format missing the most, and it has worked since 20/09/2026, one video at a time, never mixed with images in the same post.
- MP4 only. The format is recognized from the file’s content, never from its name.
- 21 MB at most, between 3 and 300 seconds, one video per post.
- On Instagram, proportions must fall between 9:16 and 1.91:1: a Reel’s constraint.
- 200 MB per organization, images and videos combined: a video of a few megabytes takes up as much room as about thirty images.
The networks that publish video today are Mastodon, plus Instagram (Reels) as soon as an account is connected. The composer says so before sending, just like for an image.
Reel cover. Without a choice, Instagram takes the video’s first frame, often empty. Two optional fields, mutually exclusive (400 if both): `couvertureOffsetMs` (alias `coverOffsetMs`), an integer in milliseconds (0 or more, at most the video’s duration), whose frame becomes the cover (`thumb_offset`), or `couvertureImage` (alias `coverImage`), the id of an image of your organization, sent as the cover (`cover_url`, converted to public JPEG, 8 MB at most). Both are refused (400) unless the post is an Instagram Reel (one video, an Instagram account checked, not a Story). Nothing is sent when they are absent. Also available on the `schedule_post` MCP tool. Example: `{"text": "…", "accounts": ["<id>"], "video": "<id>", "coverOffsetMs": 2500}`. A cover image is never attached to the post, but it is kept as long as a post uses it.
A video is processed by the network after it is sent: Timalio waits for it to be ready before publishing, up to a few minutes for a Reel. The post stays in the queue meanwhile, without blocking other posts, and goes out on its own once the video is ready.
Storage
An uploaded file (image or video) belongs to no post until it is attached. One that is never attached is erased after 24 hours. Nothing is resized or re-encoded: what is uploaded is what is published.
See also
A question this page doesn’t answer? contact@timalio.com