Instagram supports feed posts, carousels (2+ images), and Reels (video). All videos are automatically posted as Reels. Media is required for all Instagram posts.
Media Constraints
| Constraint | Images | Videos |
|---|---|---|
| Formats | JPEG, PNG | MP4 (H.264 + AAC) |
| Max file size | 8 MB | 4 GB |
| Max count per post | 10 | 1 |
| Max duration | n/a | 15 minutes |
| Aspect ratio | 4:5 to 16:9 | 4:5 to 16:9 |
| Text-only posts | Not supported | Not supported |
| Mix images + video | Not allowed | Not allowed |
Posting Behavior
Single Image
Posted as a standard feed photo post.
2-10 Images
Automatically posted as a carousel. Images are displayed in the order provided in the media_ids array.
Single Video
Automatically posted as a Reel. Instagram's feed video format is deprecated. All videos are Reels.
Platform Settings
All optional, under platform_settings.instagram. Leave the object out for a plain post. Usernames can be sent with or without the @.
Collaborators and tags
| Parameter | Type | Description |
|---|---|---|
collaborators | string[] | Up to 3 Instagram usernames to invite as collaborators. Once they accept, the post shows on their profile too. Feed posts, carousels and Reels. Not allowed on trial Reels. |
user_tags | string[] | Up to 20 public accounts to tag. Reels only (exactly one video). Not allowed on trial Reels. |
Trial Reels
| Parameter | Type | Description |
|---|---|---|
trial_reel | boolean | Publish the video as a trial Reel, shown to people who don't follow you first. Exactly one video; no collaborators or tags. Defaults to false. |
trial_graduation_strategy | string | "MANUAL" (default): you choose in Instagram whether to share it with your followers. "SS_PERFORMANCE": Instagram shares it with your followers on its own if it does well. |
Stories
| Parameter | Type | Description |
|---|---|---|
add_to_story | boolean | Also post the photos and videos to your story once the post is out, one story frame each, in order. A story shows no caption and lasts 24 hours. Story videos run 3 to 60 seconds and up to 100 MB. Not with trial_reel. Defaults to false. |
story_only | boolean | Post to your story alone, with no feed post or Reel. Turns add_to_story on. No collaborators or user_tags. Defaults to false. |
Example: a Reel with a collaborator
{
"type": "schedule",
"scheduled_at": "2026-10-01T14:00:00.000Z",
"caption": "Before and after, one weekend. #interiordesign",
"media_ids": ["video-id-1"],
"account_ids": ["instagram-account-id"],
"platform_settings": {
"instagram": {
"collaborators": ["@studio.north"]
}
}
}Example: a trial Reel that graduates on its own
{
"type": "schedule",
"scheduled_at": "2026-10-01T14:00:00.000Z",
"caption": "Testing a new hook.",
"media_ids": ["video-id-1"],
"account_ids": ["instagram-account-id"],
"platform_settings": {
"instagram": {
"trial_reel": true,
"trial_graduation_strategy": "SS_PERFORMANCE"
}
}
}Caption Rules
| Max length | 2,200 characters. Longer captions are rejected before the post is saved. |
| Hashtags | Include in the caption text. Instagram supports up to 30 hashtags. |
| Mentions | Use @username format in the caption text. |