> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Publish Post

> Publishes content to an Instagram Business/Creator account: single image, carousel (2 to 10 images and/or videos), reel, or a 24 hour story

Publishes content to an Instagram Business/Creator account: single image, carousel (2 to 10 images and/or videos), reel, or a 24 hour story. Instagram has no native scheduling; run this node from a scheduled workflow to schedule posts.

|                       |                          |
| --------------------- | ------------------------ |
| **App**               | Instagram                |
| **Operation ID**      | `instagram_publish_post` |
| **Type**              | Action                   |
| **Connection**        | `instagram` (required)   |
| **Credits per run**   | 1                        |
| **Requires approval** | Yes (write operation)    |

## Inputs

| Field           | Type                       | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------- | -------------------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`       | string or SelectItem       | Yes      | -       | Select the Instagram Business/Creator account to publish to, ask the user for it if not provided                                                                                                                                                                                                                                                                                                                              |
| `post_type`     | string or SelectableOption | Yes      | -       | Type of content to publish. Available options: 'image' (single image feed post), 'carousel' (2 to 10 images and/or videos in one post), 'reel' (video feed post; all Instagram feed videos are reels, recommended vertical 9:16, roughly 3 seconds to 15 minutes), 'story' (24 hour story from ONE image or ONE video; no caption). Instagram has no native scheduling; to schedule, run this node from a scheduled workflow. |
| `caption`       | string                     | No       | -       | The caption text, up to 2200 characters. Used for image, carousel, and reel posts. Stories do not support captions.                                                                                                                                                                                                                                                                                                           |
| `image_urls`    | string or array of string  | No       | -       | Image for image posts and image stories (exactly one URL). Instagram requires JPEG images, max 8MB, aspect ratio between 4:5 and 1.91:1 for feed posts. Accepts direct URLs or Google Drive share links with sharing set to 'Anyone with the link'. URLs must be publicly reachable since Instagram downloads them server side.                                                                                               |
| `video_url`     | string                     | No       | -       | Video for reel and video story posts. Recommended vertical 9:16. Reels are roughly 3 seconds to 15 minutes; story videos up to roughly 60 seconds. Accepts direct URLs or Google Drive share links. Must be publicly reachable.                                                                                                                                                                                               |
| `media_urls`    | string or array of string  | No       | -       | Carousel items: 2 to 10 URLs as a list or one string separated by commas or new lines. Images and videos can be mixed; whether each item is an image or a video is detected automatically.                                                                                                                                                                                                                                    |
| `cover_url`     | string                     | No       | -       | Optional cover image URL for reels. If empty, Instagram picks a frame from the video.                                                                                                                                                                                                                                                                                                                                         |
| `share_to_feed` | boolean                    | No       | -       | Reels only. Set to False to publish the reel to the Reels tab without showing it in the main feed. Default is True.                                                                                                                                                                                                                                                                                                           |

### SelectItem

| Field   | Type   | Required | Default | Description                                                                                          |
| ------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------- |
| `value` | string | Yes      | -       | The value of the selectable item.                                                                    |
| `label` | string | Yes      | -       | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

### SelectableOption

| Field   | Type   | Required | Default | Description |
| ------- | ------ | -------- | ------- | ----------- |
| `value` | string | Yes      | -       |             |
| `label` | string | Yes      | -       |             |

## Output

**Type**: `Dict`

Returns the published media details. Instagram allows up to 50 API published posts per account per rolling 24 hours.

**Fields**: `post_id`, `post_url`, `account_id`, `account_name`, `post_type`, `status`

**Example**:

```json theme={"dark"}
{
  "post_id": "17900123456789012",
  "post_url": "https://www.instagram.com/p/AbCdEfG/",
  "account_id": "17841400000000000",
  "account_name": "mybrand",
  "post_type": "image",
  "status": "published"
}
```
