Receber por email
← Voltar para o catálogo

instagram

Gerencie contas profissionais do Instagram via Hyper MCP para publicar fotos, Reels, Stories e carrosséis, moderar comentários e menções, enviar Mensagens Diretas e obter insights. Use esta ferramenta quando o usuário mencionar posts, Reels, Stories, carrosséis, DMs, comentários, menções, perfil ou análises do Instagram.

39estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add hyperfx-ai/marketing-skills

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/instagram-hyperfx-ai/svg)](https://www.skillteca.com.br/skills/instagram-hyperfx-ai)

Skills relacionadas

Ver todas de Marketing →

Alerta por categoria

Receba novas skills de Marketing toda segunda

1 email curto, só com as skills novas de Marketing. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Instagram

Complete skill for managing Instagram professional accounts through the Instagram API with Instagram Login (Business Login). Covers content publishing, messaging, comment moderation, insights, and profile management.

Out of scope — defer to other skills

| Request | Send them to | | --- | --- | | Paid Instagram / Facebook ads, boosting a post, Advantage+ | meta-ads | | Competitor ad research from the Meta Ad Library | meta-ads-library | | TikTok publishing | tiktok | | LinkedIn document or carousel posts | linkedin |

Requirements

  • Hyper MCP installed and connected. https://app.hyperfx.ai/mcp
  • Instagram integration connected at https://app.hyperfx.ai/integrations — this skill uses the Instagram API with Instagram Login (NOT the older Instagram Graph API via Facebook Login).
  • For organization posts to a company page, the connected account must have permission to post for that organization.

If instagram_get_me is not in the tool list, stop and tell the user to enable Hyper MCP and connect Instagram.

Tool surface

| Tool group | Tools | | --- | --- | | Account | instagram_get_me, instagram_get_user (look up any public IG profile by username or ID — useful for researching commenters and DM contacts) | | Publishing | instagram_create_photo_container, instagram_create_reel_container, instagram_create_carousel_container, instagram_check_container_status, instagram_publish_media, instagram_check_publishing_limit | | Media library | instagram_list_media, instagram_get_media, instagram_get_album_children, instagram_list_stories, instagram_get_tagged_media | | Comments | instagram_list_comments, instagram_post_comment, instagram_reply_to_comment, instagram_hide_comment, instagram_delete_comment, instagram_toggle_comments | | Direct Messages | instagram_list_conversations, instagram_get_conversation_messages, instagram_get_message, instagram_send_message, instagram_send_media_message, instagram_send_post_message, instagram_react_to_message | | Insights | instagram_get_account_insights, instagram_get_media_insights |

Critical Rules

CRITICAL: This toolkit uses the Instagram API with Instagram Login (not the older Instagram Graph API via Facebook Login). Metric names and available fields differ from the older API. Always use the metric names documented in this skill.
CRITICAL: The engagement metric does NOT exist in this API. Use individual metrics like likes, comments, shares, total_interactions instead.
CRITICAL: The impressions metric is NOT valid for account-level insights. Use reach or views instead.
CRITICAL: Content publishing uses a two-step container workflow: (1) create a media container, (2) publish it. For video content, poll the container status until FINISHED before publishing.
CRITICAL: Instagram DM responses must be sent within 24 hours of the user's last message (standard messaging window). The Human Agent tag extends this to 7 days if approved.
IMPORTANT: Publishing rate limit is 100 API-published posts per 24-hour rolling window. Carousels count as 1 post. Always call instagram_check_publishing_limit before bulk publishing.
CRITICAL: Do NOT use the location_id parameter on photo, reel, or carousel containers unless the user explicitly provides a verified Facebook Page ID. This integration uses Instagram Business Login which cannot look up or validate location IDs. Passing an invalid or guessed ID will cause a 400 error (Param location_id is not a valid location page ID). If a user asks for location tagging, explain that they need to provide their Facebook Page ID with location data.
CRITICAL: When passing media URLs (image_url, video_url, cover_url, media_url) to any Instagram tool, use the URL exactly as returned by the source tool — most commonly the url field from read_file or display_file. Do NOT:
- Reconstruct or shorten the URL.
- Drop, change, or invent any query parameters (signatures, timestamps, etc.).
- Substitute a different host.
- Copy a URL from memory or transcribe it character-by-character — call read_file again instead.
Hyper-hosted CDN URLs are automatically resized and re-signed for Meta when needed, so just hand them through verbatim. A single-character corruption in a presigned signature causes Meta to return a misleading 9004 / 2207052: Only photo or video can be accepted as media type error.
IMPORTANT: Always call instagram_get_me first to get the user's IG user ID. Most endpoints require this ID.

Phase 1: Account Setup

Get the connected account

instagram_get_me()

Returns: user_id, username, name, account_type, profile_picture_url, followers_count, follows_count, media_count, biography, website.

Store the user_id — it's required for most subsequent calls.

Phase 2: Content Publishing

Publishing workflow

  1. Create a media container (photo, reel, story, or carousel).
  2. Check container status (required for video / reels — poll until FINISHED).
  3. Publish the container.
  4. Verify by listing recent media.

Single photo post

instagram_create_photo_container(
    user_id="<user_id>",
    image_url="https://example.com/photo.jpg",   # Public JPEG URL, max 8MB
    caption="Your caption here #hashtag",
    alt_text="Accessibility description",
)
# Returns container ID

instagram_publish_media(
    user_id="<user_id>",
    creation_id="<container_id>",
)

Reel (short-form video)

instagram_create_reel_container(
    user_id="<user_id>",
    video_url="https://example.com/video.mp4",   # Public MP4/MOV, max 300MB, 3s-15min
    caption="Reel caption #reels",
    cover_url="https://example.com/cover.jpg",   # Optional cover image
    share_to_feed=True,
)

# MUST poll status for video content
instagram_check_container_status(container_id="<container_id>")
# Wait until status_code == "FINISHED", poll once per minute, max 5 minutes

instagram_publish_media(user_id="<user_id>", creation_id="<container_id>")

Story (24-hour expiry)

Note: Story publishing is not yet supported by this MCP integration. To read currently active stories use:
```python
instagram_list_stories(user_id="<user_id>")
```
If the user asks to post a story, inform them this capability is not yet available and suggest posting a Reel with share_to_feed=True as an alternative.

Carousel (2-10 items)

# Step 1: create child containers (each with is_carousel_item=True for photos)
instagram_create_photo_container(
    user_id="<user_id>",
    image_url="https://example.com/photo1.jpg",
    is_carousel_item=True,
)
# Repeat for each image / video

# Step 2: create the carousel container with child IDs
instagram_create_carousel_container(
    user_id="<user_id>",
    children=["<child_id_1>", "<child_id_2>", "<child_id_3>"],
    caption="Carousel caption",
)

# Step 3: publish
instagram_publish_media(user_id="<user_id>", creation_id="<carousel_container_id>")

Content limits

| Type | Format | Max size | Duration | | --- | --- | --- | --- | | Photo | JPEG | 8MB | — | | Reel | MP4 / MOV | 300MB | 3s – 15min | | Story image | JPEG | 8MB | — | | Story video | MP4 / MOV | 100MB | 3s – 60s | | Caption | Text | 2200 chars | 30 hashtags, 20 @tags | | Carousel | Mixed | 2 – 10 items | — |

Phase 3: Comment Moderation

Read comments

instagram_list_comments(media_id="<media_id>")

Post a comment

instagram_post_comment(media_id="<media_id>", message="Great post!")

Reply to a comment

instagram_reply_to_comment(comment_id="<comment_id>", message="Thanks!")

Moderate comments

# Hide spam / inappropriate comments
instagram_hide_comment(comment_id="<commen
Compartilhar X LinkedIn