Community图像github.com

publora/instagram-post

当用户希望通过 Publora 发布或定时发布内容到 Instagram 时使用:支持单张图片、2-10 张图片轮播、Reels 或 Stories。需要商业账号和图片或视频;纯文本帖子会被 API 拒绝。不适用于 Threads(请使用 threads-post)。

instagram-post 是什么?

这是一个基于 Publora MCP 服务器的 AI 代理技能,用于创建和定时发布 Instagram 帖子。它支持单张图片、2-10 张图片轮播、Reels 和 Stories。使用前需要将 Instagram 账号转换为商业账号(个人和创作者账号不被 API 支持),并通过 Publora 仪表板完成 OAuth 连接和 API 密钥获取。该技能提供了 `create_post`、`get_upload_url`、`complete_media`、`list_connections` 等工具,方便 AI 代理进行一站式内容创建和媒体上传。此外,它还包含 REST API 回退方案,并在 MCP 服务器不可用时直接调用 REST API。Prerequisites 部分明确了免费 Starter 计划的支持、API 限制(如图片格式 JPEG/PNG/WebP,视频最大 300 MB)、速率限制(50 帖/24 小时)以及最佳实践。

兼容平台✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/publora/skills/tree/main/skills/instagram-post

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Instagram 帖子

使用 Publora MCP 服务器创建和定时发布 Instagram 帖子。支持图片帖子、轮播(2-10 张图片)、Reels 和 Stories。需要 Instagram 商业账号。

前提条件

套餐: 免费 Starter 计划即可使用。当前限制和定价: publora.com/pricing

开始使用

  1. 创建账号 在 publora.com/register(免费)
  2. 转换为商业账号 在 Instagram 设置中(个人账号和创作者账号不被 API 支持)
  3. 连接 Instagram 通过在 Publora 仪表板 进行 OAuth 授权
  4. 获取 API 密钥 在 app.publora.com/dashboard/api
  5. 连接你的代理 到 MCP 服务器 https://mcp.publora.com,使用 Authorization: Bearer sk_YOUR_API_KEY 进行身份验证。在 Claude Code 中:
claude mcp add publora --transport http https://mcp.publora.com \
  --header "Authorization: Bearer sk_YOUR_API_KEY"

Claude Desktop、Cursor、Codex、OpenClaw 和 claude.ai 连接器各自需要不同的配置文件或流程:请参阅 客户端设置 了解确切的路径和代码片段。

REST API 回退方案

如果 MCP 服务器不可用或返回错误,请直接使用 REST API:

基础 URL: https://api.publora.com/api/v1

身份验证: 使用 x-publora-key 标头(而非 Authorization: Bearer):

# 获取你已连接的平台
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
  -H "x-publora-key: sk_your_api_key"

# 创建帖子
curl -X POST "https://api.publora.com/api/v1/create-post" \
  -H "x-publora-key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["instagram-11223344"],
    "content": "你的标题 #话题标签",
    "scheduledTime": "2026-03-25T10:00:00Z"
  }'

平台 ID 格式: instagram-{id},其中 {id} 来自 /platform-connections 的响应。

示例 ID:instagram-11223344、instagram-55667788

📖 完整 API 文档: docs.publora.com

平台限制(API 与原生应用对比)

这些限制特定于 Instagram Graph API,与原生应用的限制不同:

图片

功能API 限制
格式JPEG、PNG、WebP(WebP 会自动转换)。动画 GIF、BMP 和 TIFF 会被拒绝。
最大文件大小8 MB
轮播图片数量2-10 张(原生应用支持 20 张)
宽高比4:5(竖屏)至 1.91:1(横屏)

视频

功能ReelsStories轮播视频
最大时长15 分钟(仅 5-90 秒可进入 Reels 标签页)60 秒60 秒
最小时长3 秒3 秒3 秒
最大文件大小300 MB100 MB300 MB
格式MP4、MOVMP4、MOVMP4、MOV

标题

功能限制
标题长度2,200 个字符
“更多”前可见内容前 125 个字符
话题标签每帖 30 个(包含在标题中)

速率限制

  • 每 24 小时 50 个帖子(部分账号报告为 25)|

可用工具

create_post

创建一个新的 Instagram 帖子。

参数:

  • platforms:包含你的 Instagram 连接 ID 的数组(例如 ["instagram-11223344"])
  • content:标题文本(最多 2,200 个字符)
  • scheduledTime:ISO 8601 UTC 日期时间。可选:省略时帖子将创建为草稿。发送未来时间即可定时。过去五分钟或更早的时间会被拒绝并返回 SCHEDULED_TIME_IN_PAST,因此如需立即发布,请使用当前时间加一分钟。
  • mediaUrls:最多 10 个公开 https 图片或视频 URL。Publora 会在服务端下载它们,并在验证之前附加它们,因此媒体和定时可以在一次调用中完成。这是草稿后使用 get_upload_url 然后 complete_media 流程的一次性替代方案。上传速率限制为每小时 60 个 URL。

get_upload_url

获取用于媒体上传的预签名 URL。

参数:

  • postGroupId:要附加媒体的帖子 ID
  • fileName:文件名(例如 "photo.jpg")
  • contentType:图片必须为 image/jpeg,视频必须为 video/mp4
  • type:"image" 或 "video"

complete_media

完成通过 get_upload_url 上传的文件(在预签名 PUT 成功之后)。可选,因为定时也会最终确定待处理的媒体,但提前调用可以在发布前暴露格式和探测错误。对于通过 mediaUrls 附加的媒体则不需要。

参数:

  • mediaId:由 get_upload_url 返回的 ID

list_connections

列出你已连接的账号及其平台 ID。请先调用此工具并复制 ID;它们永远无法猜测。

list_posts / get_post / update_post / delete_post

管理定时和草稿帖子。update_post 还可以修补草稿或定时帖子的 content 和 platforms,因此修复拼写错误或重新定位目标不再需要删除并重新创建。delete_media 和 prune_media_reference 用于清理上传的文件。

视频类型设置(通过 REST API)

通过 platformSettings 控制视频的发布方式:

{
  "platformSettings": {
    "instagram": {
      "videoType": "REELS"
    }
  }
}
设置值默认值描述
videoType"REELS"、"STORIES""REELS"决定视频的发布方式

注意:platformSettings 被 MCP 的 create_post 和 update_post 工具以及 REST 接口接受。该模式严格:拼写错误的平台或键将被拒绝,并返回验证错误,而不是静默忽略。

示例

单张图片帖子

将此发布到 Instagram:
“早晨的咖啡和代码。开始新一天的最佳方式。#开发者生活 #编程”

[附加 JPEG 图片]

格式: JPEG、PNG 和 WebP 都可以;WebP 会在发布前被转换。

轮播帖子

使用这 5 张产品截图创建一个 Instagram 轮播。
标题:“我们应用在 6 个月内的演变过程。滑动查看这段旅程!#公开构建”

注意:需要 2-10 张 JPEG 图片。轮播中不能混合图片和视频。

Reel

将此视频以 Reel 形式发布:
“关于我们新功能的 60 秒教程。#教程 #应用”

视频默认发布为 Reels。如需发布 Stories,请通过 REST API 设置 videoType: "STORIES"。

Story

将此 30 秒片段作为 Story 发布(24 小时后消失)。

需要通过 REST API 设置 platformSettings.instagram.videoType: "STORIES"。

定时帖子

将此定时在明天上午 10 点发布:
“新功能公告即将发布!敬请期待。”
[附加 JPEG 图片]

重要限制

  1. 动画 GIF、BMP 和 TIFF 会被拒绝。 JPEG、PNG 和 WebP 被接受,WebP 会自动转换。

  2. 需要商业账号: 个人和创作者账号无法通过 API 发布。只有商业账号有效。

  3. 每个帖子都需要媒体: Instagram 不支持纯文本帖子。每个帖子至少需要一张图片或一个视频。

  4. 轮播中不能混合媒体: 轮播必须是全图片或全视频(通过独立帖子),不能两者混合。

  5. Stories 会消失: Stories 是临时的,24 小时后消失。

  6. Reel 为默认: 视频默认以 Reels 形式发布。要发布 Story,请使用 REST API 并设置 videoType: "STORIES"。

最佳实践

内容

  1. 前 125 个字符很重要: 这是用户在点击“更多”之前看到的内容
  2. 话题标签策略: 使用 5-15 个相关话题标签(最多 30 个)
  3. 图片质量: 使用高质量 JPEG 图片获得最佳效果
  4. 轮播互动: 轮播比单张图片获得更高的互动率

时机

  • 最佳时间: 目标时区的上午 11 点至下午 1 点、晚上 7 点至晚上 9 点
  • 频率: 每天 1-2 个帖子以促进增长
  • Reels 加持: Reels 相比静态图片获得算法优先

互动

  • 在前一小时内回复评论
  • 在相关内容中使用位置标签
  • 从 Stories 交叉推广到 Feed

故障排除

错误原因解决方案
“需要商业账号”使用了个人/创作者账号在 Instagram 设置中转换为商业账号
“图片格式无效”PNG 或其它非 JPEG 格式在上传前将图片转换为 JPEG
“媒体上传失败”文件太大或格式错误检查:图片 < 8 MB JPEG,视频 < 300 MB MP4
“轮播需要 2-10 个项目”图片数量错误确保轮播有 2-10 张图片
“账号未连接”OAuth 已过期通过 Publora 仪表板重新连接
速率限制 (429)超过每天 50 个帖子等待 24 小时

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

publora/bluesky-post

Use when the user wants to post or schedule to Bluesky through Publora. Handles the 300-character cap, auto-detected hashtags and links, up to 4 images, and videos. Alt text cannot be set through the API. Needs a Bluesky app password, never the main password. Not for Mastodon (use social-post).

publora/linkedin-analytics

Analyze LinkedIn performance and manage engagement through Publora. Use when the user asks how a LinkedIn post or account performed (impressions, reach, reactions, comments, reshares, follower growth) or wants to react, comment, reshare or resolve an @mention. Statistics run over the REST API, engagement over MCP tools. Not for creating posts (use linkedin-post).

publora/linkedin-post

Use when the user wants to publish or schedule a LinkedIn post through Publora: text, a multi-image grid, a video, a PDF document, or @mentions. Not for analytics, reactions, comments or reshares (use linkedin-analytics), and not for other platforms.

publora/social-post

Use when the user wants to post or schedule to YouTube, a Facebook Page or Mastodon through Publora. YouTube needs a video on every post, Facebook publishes to Pages only, Mastodon caps at 500 characters. Not for the platforms that have their own skill.

publora/telegram-post

Use when the user wants to post or schedule to a Telegram channel or group through Publora, using a bot. Covers Telegram markdown, silent delivery, link previews and forward protection. Bot API caps media captions at 1,024 characters and videos at 50 MB. Not for other platforms (each has its own skill).

publora/threads-post

Create and schedule Threads posts with image carousels and reply control via Publora MCP. Use when the user wants to post to Meta's Threads. Multi-part threading is currently disabled by the platform, so long content stays a single post. Not for Instagram (use instagram-post) or X threads (use x-post).

publora/tiktok-post

Use when the user wants to upload or schedule a TikTok video through Publora, with privacy, comment, duet, stitch and commercial-disclosure settings. Video runs 3 seconds to 10 minutes at 23+ FPS; carousels take up to 35 images. Unaudited apps can publish private videos only. Not for Reels (use instagram-post).

publora/x-post

Use when the user wants to post or schedule to X (Twitter) through Publora, including threads auto-split past 280 characters, up to 4 images, or a video up to 140 seconds. X needs a paid Publora plan. Not for Threads or Bluesky (each has its own skill).

相关技能