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

# Instagram

> Connect a personal Instagram or a Business / Creator account to TryPost

# Instagram

TryPost supports two Instagram connection flavors, each backed by a different OAuth flow:

| Connection | Identifier | Best for |
| - | - | - |
| **Instagram (Standalone)** | `instagram` | Personal Instagram accounts that aren't linked to a Facebook page. Uses Instagram's own OAuth. |
| **Instagram (Facebook Business)** | `instagram-facebook` | Business or Creator accounts linked to a Facebook page. Required for first-party publishing of feed, reels, and stories at full quality. |

Both are reached from the single **Instagram** card on the **Accounts** page, which asks which method you want.

<Note>
  You can connect as many Instagram accounts as you want in one workspace. Standalone and Facebook Business are two ways into the same identity — the same Instagram account cannot sit on both. Connecting it the second way updates the existing card. See [multiple accounts](/knowledge-base/social-accounts#connection-limits).
</Note>

## Connect your account

### Standalone (personal)

1. Go to **Accounts** in the TryPost dashboard
2. Click **Connect** on the **Instagram** card, then choose **Instagram**
3. Authorize TryPost on instagram.com
4. The account shows up immediately

### Business (via Facebook)

1. Go to **Accounts** in the TryPost dashboard
2. Click **Connect** on the **Instagram** card, then choose **Instagram (Facebook Business)**
3. Authorize TryPost through Facebook
4. Select the Facebook page whose Instagram account you want to connect. If only one of your pages has one, TryPost connects it without asking

## Supported content types

| Type | `content_type` | Aspect | Media | Description |
| - | - | - | - | - |
| **Feed** | `instagram_feed` | 4:5 | Up to 10 images, or 1 video (required) | Feed post — single image/video **or** multi-image carousel (all use `instagram_feed`) |
| **Reel** | `instagram_reel` | 9:16 | 1 video (required) | Short-form vertical video |
| **Story** | `instagram_story` | 9:16 | 1 image or video (required) | Temporary content (24 hours) |

There is **no** separate `instagram_carousel` content type on posts. The AI Create wizard may still accept `instagram_carousel` as a generation format; the resulting draft is stored as `instagram_feed`.

All three content types are available on both connection flavors.

## Media limits

| `content_type` | Image | Video | Duration | Format |
| - | - | - | - | - |
| `instagram_feed` | 8 MB | 100 MB | 60 seconds | JPEG after store. Video MP4 or MOV |
| `instagram_reel` | — | 300 MB | 15 minutes | MOV or MP4 |
| `instagram_story` | 8 MB | 100 MB | 60 seconds | Same as feed; stills auto-fit to 9:16 |

A single video on `instagram_feed` publishes through the Reels container; the 100 MB / 60 seconds on `instagram_feed` is TryPost's conservative rule (Meta only documents the Reel spec) — use `instagram_reel` for longer clips. Official specs: [IG User Media](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media/). Full catalog: [Media](/knowledge-base/media).

Either flavor can be a [repurpose](/knowledge-base/repurposes) source. TryPost watches the account for new Reels, feed videos, or Stories you publish outside TryPost and republishes them to the destinations you pick.

## OAuth scopes

| Connection | Scopes requested |
| - | - |
| Instagram (Standalone, `instagram`) | `instagram_business_basic`, `instagram_business_content_publish`, `instagram_business_manage_insights` |
| Instagram (Facebook Business, `instagram-facebook`) | `public_profile`, `pages_show_list`, `pages_read_engagement`, `business_management`, `instagram_basic`, `instagram_content_publish`, `instagram_manage_insights` |

The `*_manage_insights` scopes power the **Analytics** dashboard's Instagram view.

## Self-hosting setup

<Accordion title="Configure Instagram (Standalone) API credentials">
  1. Go to [Meta for Developers](https://developers.facebook.com/) and create an app
  2. Add the **Instagram** product (the standalone Instagram API, not Instagram Graph via Facebook)
  3. Set the redirect URL to `{APP_URL}/accounts/instagram/callback`
  4. Request permissions: `instagram_business_basic`, `instagram_business_content_publish`, `instagram_business_manage_insights`
  5. Add to your `.env`:

  ```env theme={null}
  INSTAGRAM_CLIENT_ID=your_app_id
  INSTAGRAM_CLIENT_SECRET=your_app_secret
  INSTAGRAM_CLIENT_REDIRECT="${APP_URL}/accounts/instagram/callback"
  ```
</Accordion>

<Accordion title="Configure Instagram (Facebook Business) API credentials">
  1. In the same Meta for Developers app, also add the **Facebook Login for Business** product
  2. Set the redirect URL to `{APP_URL}/accounts/instagram-facebook/callback`
  3. Request permissions: `public_profile`, `pages_show_list`, `pages_read_engagement`, `business_management`, `instagram_basic`, `instagram_content_publish`, `instagram_manage_insights`
  4. Use the same `FACEBOOK_CLIENT_ID` / `FACEBOOK_CLIENT_SECRET` you've configured for Facebook (it's the same app)
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.