mcpField
I
instagram-marketing

instagram-marketing

github.com/terminalskills营销与增长184373 次安装今天更新
代码仓库

关于 instagram-marketing

instagram-marketing 是面向 AI Agent 的技能,用于规划 Instagram 内容并使用 Instagram Graph API。它涵盖内容格式、文案与标签建议、发布示例、数据分析和增长策略。

主要功能

  1. 01Reels、Stories、轮播和动态内容规划
  2. 02视觉格式与内容规范指导
  3. 03文案和标签策略建议
  4. 04Graph API 发布指导
  5. 05账号与内容数据分析
  6. 06增长策略与内容组合规划

适用场景

  1. 01为健身教练制定 Instagram 内容日历
  2. 02撰写 Reels、轮播和 Stories 的内容方案
  3. 03编写通过 Graph API 发布轮播帖的脚本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/terminalskills/skills --skill instagram-marketing

安装后在 Claude Code 中输入/instagram-marketing确认已加载。

附带文件_scores.json

详细介绍

Instagram 营销

概述

此技能可帮助 AI Agent 创建表现出色的 Instagram 内容,并集成 Instagram Graph API。内容涵盖内容格式(Reels、Stories、轮播图、信息流帖子)、视觉指南、文案撰写、标签策略、API 发布、分析,以及针对 Instagram 视觉优先、由 Reels 主导的算法制定的增长策略。

指南

平台规则与算法

Instagram 算法(2025-2026 年):

  • Reels 为王 — 与静态帖子相比,触达率高出 2-3 倍,是 Instagram 的主要增长杠杆
  • 收藏和分享 — 最强信号(比点赞或评论更重要)
  • 观看时长 — 完整观看或重复播放的 Reels 会获得大幅推荐
  • 内容类型多样化 — 同时发布 Reels、轮播图和 Stories 的账号排名更高
  • 标签作用减弱 — 现在更看重类似 SEO 的关键词文案
  • 保持规律 — 每天发布 Stories,每周发布 4-7 条信息流帖子

导致触达率下降的因素:

  • 转发带水印的 TikTok 视频(Instagram 会主动降低其推荐)
  • 低分辨率图片或视频
  • 诱导互动(“点赞看第二部分”)
  • 长时间不活跃(算法会降低不活跃账号的优先级)
  • 文案中使用过多标签(看起来像垃圾内容,精准使用 5-10 个比用 30 个更好)
内容格式
Reels(主要增长形式)
  • 时长: 15-60 秒为最佳(最长不超过 90 秒,但较短的视频表现更好)
  • 宽高比: 9:16(1080x1920px)— 全屏竖版
  • 开场钩子: 前 1-2 秒决定观众是否继续观看。添加文字叠层或令人惊讶的画面
  • 字幕: 必不可少 — 85% 以上的观众会静音观看
  • 音乐: 使用热门音频以提升算法推荐(查看 Reels 标签页中的热门音效)
  • 封面图片: 使用 1080x1920px 的自定义封面,在网格中展示 — 保持简洁并添加文字叠层
  • 文字叠层: 字体大、加粗、居中。假设观众用手机观看
  • 行动号召: “稍后收藏起来”、“分享给需要的人”、“关注以获取更多[主题]内容”

表现良好的 Reels 类型:

  • 教程/操作指南(通过画面展示 3-5 个步骤)
  • 改造前后对比
  • 热门音频 + 你的细分领域创意
  • 一天的生活 / 幕后花絮
  • 列表形式并添加文字叠层(“我离不开的 5 个工具”)
  • POV / 引发共鸣的场景
轮播图(收藏率最高)
  • 幻灯片: 每个轮播图包含 2-10 张图片/视频
  • 宽高比: 1:1(1080x1080px)或 4:5(1080x1350px)— 4:5 占据更多屏幕空间
  • 第 1 张: 开场钩子 — 标题要醒目,把它当作缩略图来设计
  • 第 2-9 张: 每张只表达一个想法,文字要大,设计要简洁
  • 最后一张: 行动号召(收藏、分享、关注)+ 你的账号名称/品牌标识
  • 滑动提示: 在第 1 张添加“向右滑动 →”或箭头
  • 设计一致性: 所有幻灯片使用相同的字体、颜色和布局

轮播图类型:

  • 知识分享(分步骤教程)
  • 技巧/清单(关于 X 的 10 件事)
  • 叙事(跨多张幻灯片讲述故事)
  • 改造前后对比
  • 数据/统计可视化
Stories(每日互动工具)
  • 时长: 每条 Story 时长 15 秒,每天发布 3-7 条
  • 宽高比: 9:16(1080x1920px)
  • 贴纸: 使用投票、提问、问答、倒计时贴纸(促进互动)
  • 链接: 所有账号均可使用(链接贴纸)
  • 精选集: 将优质 Stories 保存到个人主页的主题精选集中
  • 真实感: Stories 可以不如信息流精致 — 真实胜过完美
信息流帖子(静态图片)
  • 宽高比: 1:1(1080x1080px)或 4:5(1080x1350px)
  • 质量: 仅使用高分辨率图片,并保持视觉风格/滤镜一致
  • 替代文本: 添加替代文本以提升无障碍体验和 SEO 表现(Instagram 会将其编入索引)
文案撰写
[Hook line — stops the scroll, shown before "...more"]

[Empty line for spacing]

[Body — value, story, or insight. Written conversationally.]

[Break long paragraphs into 2-3 sentences max.]

[Include searchable keywords naturally — Instagram now does SEO]

[CTA — question, save prompt, or share prompt]

.
.
.
[Hashtags below dot spacers — or in first comment]

文案规则:

  • 第一行要设置钩子(截断前显示的内容)
  • 知识类帖子写 150-300 个词(停留时长很重要)
  • 采用对话式写法 — Instagram 注重个人化
  • 使用换行和空行(不要堆成一整块文字)
  • 自然地融入关键词(Instagram 搜索现在基于关键词)
  • 使用 5-15 个标签 — 混合细分标签(1 万-50 万条帖子)和中等热度标签(50 万-500 万条帖子)
  • 将标签放在文案中或第一条评论中(两种方式都有效,可以测试哪种更好)
Instagram Graph API
身份验证
// Instagram Graph API uses Facebook's OAuth
// Requires: Facebook Page + Instagram Professional account linked

// Step 1: Get Facebook User Access Token via Facebook Login
const FB_AUTH_URL = 'https://www.facebook.com/v19.0/dialog/oauth';
const params = new URLSearchParams({
  client_id: process.env.FB_APP_ID,
  redirect_uri: process.env.REDIRECT_URI,
  scope: 'instagram_basic,instagram_content_publish,instagram_manage_insights,pages_show_list,pages_read_engagement',
  response_type: 'code',
});
// Redirect to: FB_AUTH_URL + '?' + params

// Step 2: Exchange code for token
const tokenRes = await fetch(`https://graph.facebook.com/v19.0/oauth/access_token?client_id=${FB_APP_ID}&client_secret=${FB_APP_SECRET}&redirect_uri=${REDIRECT_URI}&code=${code}`);
const { access_token } = await tokenRes.json();

// Step 3: Get long-lived token (60 days)
const longLivedRes = await fetch(`https://graph.facebook.com/v19.0/oauth/access_token?grant_type=fb_exchange_token&client_id=${FB_APP_ID}&client_secret=${FB_APP_SECRET}&fb_exchange_token=${access_token}`);
const { access_token: longLivedToken } = await longLivedRes.json();

// Step 4: Get Instagram Business Account ID
const pagesRes = await fetch(`https://graph.facebook.com/v19.0/me/accounts?access_token=${longLivedToken}`);
const { data: pages } = await pagesRes.json();
const pageId = pages[0].id;

const igRes = await fetch(`https://graph.facebook.com/v19.0/${pageId}?fields=instagram_business_account&access_token=${longLivedToken}`);
const { instagram_business_account: { id: igAccountId } } = await igRes.json();
发布内容
// Publish single image
// Step 1: Create media container
const containerRes = await fetch(`https://graph.facebook.com/v19.0/${igAccountId}/media`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    image_url: 'https://example.com/image.jpg', // Must be public URL
    caption: 'Your caption here\n\n#hashtag1 #hashtag2',
    access_token: longLivedToken,
  }),
});
const { id: containerId } = await containerRes.json();

// Step 2: Publish
await fetch(`https://graph.facebook.com/v19.0/${igAccountId}/media_publish`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    creation_id: containerId,
    access_token: longLivedToken,
  }),
});

// Publish carousel
const mediaIds = [];
for (const imageUrl of imageUrls) {
  const res = await fetch(`https://graph.facebook.com/v19.0/${igAccountId}/media`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      image_url: imageUrl,
      is_carousel_item: true,
      access_token: longLivedToken,
    }),
  });
  const { id } = await res.json();
  mediaIds.push(id);
}

const carouselRes = await fetch(`https://graph.facebook.com/v19.0/${igAccountId}/media`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    media_type: 'CAROUSEL',
    children: mediaIds,
    caption: 'Carousel caption...',
    access_token: longLivedToken,
  }),
});
const { id: carouselId } = await carouselRes.json();

await fetch(`https://graph.facebook.com/v19.0/${igAccountId}/media_publish`, {
  method: 'POST',
  body: JSON.stringify({ creation_id: carouselId, access_token: longLivedToken }),
});

// Publish Reel
const reelContainer = await fetch(`https://graph.facebook.com/v19.0/${igAccountId}/media`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    media_type: 'REELS',
    video_url: 'https://example.com/reel.mp4', // Public URL, mp4, H.264
    caption: 'Reel caption...',
    share_to_feed: true,
    cover_url: 'https://example.com/cover.jpg', // Optional custom cover
    access_token: longLivedToken,
  }),
});
分析
// Account insights
const insightsRes = await fetch(
  `https://graph.facebook.com/v19.0/${igAccountId}/insights?metric=impressions,reach,profile_views,follower_count&period=day&since=${startDate}&until=${endDate}&access_token=${longLivedToken}`
);

// Media insights
const mediaInsightsRes = await fetch(
  `https://graph.facebook.com/v19.0/${mediaId}/insights?metric=impressions,reach,engagement,saved,shares&access_token=${longLivedToken}`
);

// Reel insights
const reelInsightsRes = await fetch(
  `https://graph.facebook.com/v19.0/${reelId}/insights?metric=plays,reach,likes,comments,shares,saved,total_interactions&access_token=${longLivedToken}`
);
增长策略

发布计划: 每天 1 条 Reel + 每周 2-3 条轮播帖 + 每天发布 Story

内容组合:

  • 40% Reel(增长驱动力——触达非关注者)
  • 30% 轮播帖(收藏利器——培养忠诚度)
  • 20% Story(日常互动,展现真实感)
  • 10% 信息流帖子(美观、公告)

话题标签策略:

  • 每条帖子使用 5-15 个话题标签
  • 组合:5 个小众标签(帖子数 <100K)、5 个中等热度标签(100K-1M)、3-5 个热门标签(1M+)
  • 为你的社群创建一个品牌专属话题标签
  • 在 Instagram 的探索页面搜索关键词,调研话题标签

示例

示例 1:为健身教练制定 Instagram 内容策略

用户提示词:“我是在德克萨斯州奥斯汀市的一名私人教练,有 1,200 名关注者。请规划一份为期 2 周的 Instagram 内容策略,帮助我扩大受众并获得更多教练客户。”

Agent 将创建一份为期 14 天的内容日历,结合 Reel、轮播帖和 Story。第 1 周:周一——Reel《你在健身房做错的 3 个动作》(使用热门音频,时长 30 秒,通过文字叠加展示正确姿势);周三——轮播帖《备餐指南:5 份每份不到 $8 的高蛋白午餐》(10 张幻灯片,4:5 比例,第 1 张提示左右滑动);周五——Reel《客户蜕变:Sarah 在 12 周内减掉 22 磅》(前后对比画面配旁白)。第 2 周沿用相同的模式,主题则换成新的内容。每天还会发布 3-5 条 Story(晨间锻炼片段、中午投票“接下来我应该发什么?”,以及下午的轮播帖预告)。标题包含富含关键词的吸引语,例如“别再浪费时间做卷腹练腹肌”,并配上“下次去健身房时记得收藏这条”的行动号召。话题标签:5 个小众标签(#AustinFitness #PersonalTrainerAustin)、5 个中等热度标签(#FitnessTips #GymMotivation)、3 个热门标签(#Fitness #Workout)。

示例 2:通过 Instagram Graph API 发布轮播帖

用户提示词:“编写一个 Node.js 脚本,通过 Graph API 向我的 Instagram 商业账号发布一个包含 5 张图片的轮播帖。这些图片托管在我的 CDN 上,地址为 cdn.brightbody.co/posts/。”

Agent 将创建一个 Node.js 脚本,使用 Instagram Graph API 和长期有效的 Facebook 访问令牌。脚本遍历 5 个图片 URL(例如,https://cdn.brightbody.co/posts/slide-1.jpg 到 slide-5.jpg),通过 POST /{ig-account-id}/media 并设置 is_carousel_item: true 来创建单独的媒体容器,收集返回的容器 ID,然后创建轮播容器,并设置 media_type: CAROUSEL、children 数组,以及包含话题标签的说明文字。最后,脚本通过 POST /{ig-account-id}/media_publish 并传入轮播容器 ID 来发布内容。脚本会为每次 API 调用添加错误处理,并在创建容器的请求之间延迟 3 秒,以避免触发速率限制。

指南

  • 优先采用 Reels 策略——这是 Instagram 在 2025-2026 年希望你用来增长的方式
  • 切勿发布带水印的 TikTok 视频——Instagram 会降低其推荐。请重新导出并去掉水印
  • 轮播帖采用 4:5 比例(1080x1350px)——最大限度占用信息流空间
  • 为每张图片添加替代文本——这有助于无障碍访问,Instagram 也会将其用于搜索
  • 在 Story 中使用 Instagram 原生的文字和贴纸工具——算法更偏好原生创作
  • 在首条评论中添加话题标签,还是放在说明文字中——两种方式都测试,没有哪一种普遍更好
  • 网格规划:使用 Preview 或 Later 应用,规划帖子组合后的整体效果
  • 回复私信——私信互动是重要的算法信号
  • 使用“协作者”功能(标记共同作者),可以触达双方受众
  • 收藏数比点赞数更重要——创作值得收藏的内容

评论

支持 Markdown