The complete list of item counts, file sizes, durations, aspect ratios and formats accepted by posts, video posts, Reels, stories and carousels, plus the caption limits.
Uploading a video and getting "Instagram could not process the file" comes from not knowing the measurements up front. This reference lists, in full, the item count, size, duration, ratio and format each of the five post types accepts; keep it at hand while you shoot content.
⚠️ Note: Almost every limit here sits on Meta's side and is identical in every tool that uses Instagram's API. The only limit the panel adds is the upload size, and we cover that in its own section.
The five types and when to use them
The first step of the editing screen shows four cards; the fifth type appears on its own.
Post — A single photo in the feed. If you pick this card and upload a video, the type switches to Video post by itself; you do not need to look for another card.
Video post — A short video in the feed. It has no card of its own; it appears when you put a video in Post.
Reels — A vertical short video. The cover frame, cover image and audio name exist only in this type.
Story — Content that disappears after 24 hours. It carries no caption, location, people tags or collaborators.
Carousel — Several files in one post; photos and videos can be mixed.
Item count
Post, Video post, Reels, Story: a single file.
Carousel: at least 2, at most 10 files.
If you pick two files for a single-file type, the extra is not uploaded and the reason is written on the media step: "This type takes a single file: only … was uploaded, … was not." When the carousel is full you see "The carousel is full (at most 10 items): … was not uploaded." If you leave a single file in a carousel and try to publish, you get "Choose at least two items for a carousel."
File size
The upper limits Instagram accepts differ by type:
Type
Photo
Video
Post
8 MB
—
Video post
—
100 MB
Reels
—
300 MB
Story
8 MB
Was this article helpful?
100 MB
Carousel
8 MB
100 MB
A file over the limit produces a warning such as "File too large: at most 8 MB."; the number is that type's own limit.
The panel has its own upload limit
The numbers above are Instagram's. Before the file reaches Instagram it is uploaded to the {{brand.name}} media library, and the library's own limit is smaller:
Photo: 12 MB
Video: 25 MB
So even though Reels accepts up to 300 MB, you cannot upload a video larger than 25 MB into the panel. To bring a 15-minute Reel under 25 MB, export the video with heavier compression; in practice a 1080p phone video takes roughly 15-30 MB per minute, so this limit is a real constraint on long Reels.
💡 If a video exceeds 25 MB, keep the resolution at 1080p and lower the bitrate. The difference is invisible on a phone, and the file shrinks several times over.
Video duration
Video post: at most 60 seconds
Reels: at most 15 minutes (900 seconds)
Story: at most 60 seconds
Video inside a carousel: at most 60 seconds
A file over the limit produces "Video too long: at most 60 seconds."
Aspect ratio
The ratio is width divided by height. Instagram rejects media outside a certain range for each type.
Post and Video post: between 4:5 and 1.91:1. Suggested 4:5 (portrait).
Carousel: between 4:5 and 1.91:1. Suggested 1:1 (square) — a carousel looks cleanest when every item shares one ratio.
Reels: between 0.01:1 and 10:1, so nearly any ratio is accepted. Suggested 9:16 (full portrait).
Story: suggested 9:16. Stories are not ratio-checked; a narrow or wide file is accepted but leaves empty margins on screen.
When the ratio falls outside the range you see "The aspect ratio is outside the range Instagram accepts (suggested: 4:5)."
⚠️ Note: The ratio check only runs on files whose dimensions are known. A video's width and height cannot always be read; in that case Instagram decides, and an unsuitable file produces the "Instagram could not process the file" error at publish time. Shooting or cropping the video at the right ratio is therefore the safest route.
File formats
Only two formats enter the Instagram container:
Photo: JPEG. The panel also accepts and sends PNG.
Video: MP4.
The panel solves this for you: every image you upload to the library is converted to the format Instagram requires during upload, and WebP files become JPEG. That is why a WebP image straight off your phone uploads without trouble.
Some files can never enter a post: audio files and PDFs stay in the library (for sending from the inbox) but are not added to a post. Picking one produces "… cannot be added to a post: Instagram only accepts images and video."
In the Reels and Video post types the upload gate accepts video only; picking a photo produces "… this type only accepts MP4 video."
Caption, hashtag and people limits
These concern text rather than files, and all of them are Meta's limits:
Caption: at most 2,200 characters. The counter on the editing screen shows the remaining characters live.
Hashtags (#): at most 30 in a caption. The counter shows this too.
Mentions (@): at most 20 in a caption.
People tags: at most 20 people per photo.
Collaborators: at most 3 people.
When a limit is exceeded, the panel names which number is over, for example "The caption can hold at most 30 hashtags."
Which fields each type shows
The same editing screen shows different fields per type. If a field you expect is missing, this is why.
Post and Video post
Caption, location, people tags, collaborators. There is no cover field.
Reels
Caption, location, people tags (username only, no position on the media), collaborators, and the Reels settings section: cover frame, cover image, the feed option and the audio name.
Story
None of them. A story has no caption, location, people tags or collaborators, and the screen says so. A caption written under another type is not deleted when you switch to a story, but a warning appears and one button clears it.
Carousel
Caption, location, collaborators. People tags are per item, and there is no cover field.