Uploads and media
Whether you drop a file in the composer, add it to the media library or send it through the Public API, the same checks apply.
Accepted file types
Section titled “Accepted file types”| Kind | Types |
|---|---|
| Images | JPEG, PNG, GIF, WebP, AVIF, BMP, TIFF |
| Video | MP4 |
UseNadia reads the real type from the file’s contents, not from its name, so renaming the extension does not help. Anything else is refused with Unsupported file type. PDFs are not accepted.
Phone photos and videos
Section titled “Phone photos and videos”A camera roll is fine as it is. HEIC photos are converted to JPEG and
QuickTime (.mov) videos to MP4 on upload, so an iPhone file lands in the
library as something the platforms accept.
Size limits
Section titled “Size limits”| Limit | |
|---|---|
| An image | 10 MB |
| A video | 1 GB |
The uploader in the browser stops a picture above 30 MB before sending it; the server then refuses anything above 10 MB. If a photo is refused, export it at a smaller size — a 10 MB JPEG is already far beyond what Instagram displays.
A video that is too long
Section titled “A video that is too long”Instagram publishes one story per media and truncates a story past 60 seconds. For a longer video, the scissors icon on the video’s thumbnail in the composer opens the story cutter: drop cut lines on the timeline — each segment between 3 and 60 seconds, up to nine cuts — preview the sequence, and Cut into N stories replaces the video with its segments. See Images and video.
Recommended video format
Section titled “Recommended video format”MP4, H.264 video, AAC audio, 30 fps or less, portrait 1080×1920 for Reels and TikTok. Other encodings may upload and still be rejected by the platform at publish time; the error then shows in the post’s tooltip on the calendar.
Uploading from a URL
Section titled “Uploading from a URL”Through the Public API, upload-from-url fetches the file for you. The URL
has to be publicly reachable over HTTPS, with no login in front of it:
expired signed URLs, private buckets and internal hosts fail, and addresses
that resolve to private networks are blocked by design. If a source is
consistently slow, download the file and upload it directly — see
Upload from URL.