Skip to content

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.

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.

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.

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.

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.

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.

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.