Skip to content

Images and video

Where: inside the composer, the Attachments bar under the editor

  • Drag and drop a file onto the editor.
  • Paste an image straight from the clipboard.
  • Select opens your media library.
  • Upload takes a local file.
  • AI image and AI video generate one, see AI generation.
Limit
Image 10 MB each on the server. The uploader in the browser only stops you at 30 MB, so an image between the two is accepted by the browser and refused by the server
Video 1 GB each
Accepted as is JPEG, PNG, GIF, WebP, AVIF, BMP, TIFF, MP4
Converted on the way in HEIC and HEIF become JPEG; QuickTime (.mov) and M4V become MP4

The conversions exist for phones: a camera roll holds HEIC photos and .mov clips, and both now upload without a detour through a converter. A .mov is remuxed, not re-encoded, so it keeps its quality and takes a few seconds.

Platform rules are stricter than these: Instagram needs at least one attachment and takes one picture or one video per story, TikTok takes one video or several pictures but never both, YouTube takes exactly one video. See Posting rules by platform.

Thumbnails in the attachments bar are draggable, so the order you see is the order the platform gets. It decides which image is the cover, and — on an Instagram story — the order the stories appear in.

Clicking the settings icon on a thumbnail opens Media Settings, which holds two things:

  • Alt text. Worth writing. It is the accessibility floor on every platform, and Instagram surfaces it in search.
  • Video thumbnail. Scrub to the frame used as the cover.

There is no cropping here: frame the media before you upload it.

Below 768 px the bin, the magnifier and the settings button are permanently visible rather than appearing on hover — a touch screen never produces a hover.

The scissors icon on a video thumbnail opens the story cutter, which is not a feature of the original project.

You watch the video in a 9:16 frame, drop cut lines on the timeline (draggable, removable), preview the run of stories as the viewer will see it — Instagram’s progress bars, a black frame at each cut — and then Cut into N stories replaces the video in the editor with its N segments, each a video story.

It calls POST /media/split-video, and the segments land in your media library like any other upload.

The file is rejected as the wrong type

The detected type is neither in the accepted list nor one of the converted ones. Re-encode the video to MP4 (H.264), or export the image as JPEG or PNG, and upload again. See Upload problems.

An image is refused after the upload started

It is over 10 MB. The browser lets images up to 30 MB through, the server does not. Export it smaller.

A large video stalls

Video uploads are capped at 1 GB. Compress before uploading: the platform will re-encode anyway, so a smaller source rarely costs visible quality.

The post fails even though the upload worked

The media is fine but breaks a platform rule — wrong count, wrong type, or a mix TikTok refuses. Check Posting rules by platform.