Instagram API Reference
Publish images, videos, carousels, and Reels to Instagram via the API.
Quick reference
| auth | OAuth 2.0 (Meta) |
| text Limit | 2,200 characters |
| max Media | 10 items (carousel) |
| media Rule | Media is required — no text-only posts |
| max Video Duration | 90 s |
| entity Selection | None |
| first Comment | Supported — 1,000 bytes (UTF-8); skipped on Stories |
Content types
Not supported — media is always required
JPEG, PNG, WebP. Max 100 MB.
MP4 or MOV. Max 500 MB. Up to 90 seconds.
Up to 10 images/videos per carousel
Short-form video. Same limits as video.
Media requirements
Constraints enforced by Instagram's API. Requests that violate these limits will be rejected.
| Constraint | Value |
|---|---|
| Max image size | 100 MB |
| Max video size | 500 MB |
| Image formats | JPEG, PNG, WEBP |
| Video formats | MP4, QUICKTIME |
| Max video duration | 1 min 30 s |
| Image aspect ratio | 4:5 to 1.91:1 |
| Min image dimensions | 320x320 px |
| Max media items | 10 |
| GIF support | No |
Platform settings
Pass these fields inside platformSettings.instagram in the request body.
| Name | Type | Required | Description |
|---|---|---|---|
postType | string | Optional | Type of Instagram post.Default: postpoststoryreelcarousel |
postTypestringOptionalType of Instagram post.
Default: post
poststoryreelcarouselCode examples
Basic post
curl -X POST https://schedulala.com/api/v1/posts \-H "Authorization: Bearer sk_live_YOUR_KEY" \-H "Content-Type: application/json" \-d '{"content": "Beautiful sunset today #photography","platforms": [{ "platform": "instagram", "accountId": "acc_456" }],"mediaItems": [{ "type": "image", "url": "https://example.com/sunset.jpg" }],"publishNow": true}'
Post with media
curl -X POST https://schedulala.com/api/v1/posts \-H "Authorization: Bearer sk_live_YOUR_KEY" \-H "Content-Type: application/json" \-d '{"content": "Travel highlights #travel","platforms": [{ "platform": "instagram", "accountId": "acc_456" }],"mediaItems": [{ "type": "image", "url": "https://example.com/photo1.jpg" },{ "type": "image", "url": "https://example.com/photo2.jpg" },{ "type": "image", "url": "https://example.com/photo3.jpg" }],"publishNow": true}'
Quirks & gotchas
Media is required on every post — no text-only posts allowed.
Max 30 hashtags per caption.
Image aspect ratio must be between 4:5 (portrait) and 1.91:1 (landscape).
Minimum image dimensions: 320x320 px.
GIFs are not supported — convert to MP4 first.
Carousel posts automatically detected when multiple media items are included.