instagram-automation について
Instagram Business または Creator アカウント向けの自動化スキルです。Rube MCP と Composio のツールキットを使い、単一画像、動画、カルーセルの投稿や分析データの確認を行います。
主な機能
- 01画像・動画投稿の公開
- 02複数メディアのカルーセル作成
- 03メディアとアカウント分析の確認
- 04投稿上限の確認
- 05コメントとカルーセル項目の取得
活用シーン
- 01Instagram の画像や動画を公開
- 02複数メディアをカルーセル投稿
- 03リーチやエンゲージメント指標の確認
- 04投稿へのコメント確認
MCP 対応
Rube MCP 経由で Composio の Instagram ツールキットを呼び出します。Instagram Business または Creator アカウントを接続し、事前に最新のツールスキーマを取得します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill instagram-automationインストール後、Claude Code で/instagram-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Instagram の自動化
Rube MCP を介して Composio の Instagram ツールキットを使用し、Instagram の操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/instagram
前提条件
- Rube MCP に接続されている必要があります(RUBE_SEARCH_TOOLS が利用可能)
instagramツールキットを指定してRUBE_MANAGE_CONNECTIONSからアクティブな Instagram 接続を確立している必要があります- 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください - Instagram のビジネスアカウントまたはクリエイターアカウントが必要です(個人アカウントはサポートされていません)
セットアップ
Rube MCP の入手:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで利用できます。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを検証します- ツールキット
instagramを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクにアクセスし、Instagram/Facebook OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. 画像または動画を1件投稿する
使用する場面:ユーザーが Instagram に写真または動画を1件投稿したい場合
ツールの実行順序:
INSTAGRAM_GET_USER_INFO- Instagram のユーザー ID を取得します[前提条件]INSTAGRAM_CREATE_MEDIA_CONTAINER- 画像または動画の URL を指定してメディアコンテナを作成します[必須]INSTAGRAM_GET_POST_STATUS- メディアコンテナの準備が完了しているか確認します[任意]INSTAGRAM_CREATE_POSTまたはINSTAGRAM_POST_IG_USER_MEDIA_PUBLISH- コンテナを公開します[必須]
主なパラメーター:
image_url:投稿する画像の公開 URLvideo_url:投稿する動画の公開 URLcaption:投稿のキャプションテキストig_user_id:Instagram ビジネスアカウントのユーザー ID
注意点:
- メディア URL は誰でもアクセスできる必要があります。非公開 URL や認証が必要な URL は失敗します
- 動画コンテナの処理には時間がかかることがあります。公開する前に GET_POST_STATUS をポーリングしてください
- キャプションではハッシュタグとメンションを使用できますが、文字数は2200文字までです
- 処理が完了していないコンテナを公開すると、エラーが返されます
2. カルーセル投稿を作成する
使用する場面:ユーザーが複数の画像や動画を1件のカルーセル投稿として公開したい場合
ツールの実行順序:
INSTAGRAM_CREATE_MEDIA_CONTAINER- 各メディアアイテムのコンテナを作成します[必須、アイテムごとに繰り返し]INSTAGRAM_CREATE_CAROUSEL_CONTAINER- すべてのメディアコンテナを参照するカルーセルコンテナを作成します[必須]INSTAGRAM_GET_POST_STATUS- カルーセルコンテナの準備状況を確認します[任意]INSTAGRAM_POST_IG_USER_MEDIA_PUBLISH- カルーセルを公開します[必須]
主なパラメーター:
children:カルーセルに含めるメディアコンテナ ID の配列caption:カルーセル投稿のキャプションig_user_id:Instagram ビジネスアカウントのユーザー ID
注意点:
- カルーセルには2~10件のメディアアイテムが必要です。それより少なくても多くても失敗します
- カルーセルコンテナを作成する前に、各子コンテナを個別に作成する必要があります
- カルーセルを作成する前に、すべての子コンテナの処理が完了している必要があります
- カルーセルでは、画像と動画を混在させることができます
3. メディアとインサイトを取得する
使用する場面:ユーザーが自分の投稿を確認したい場合、または投稿のパフォーマンスを分析したい場合
ツールの実行順序:
INSTAGRAM_GET_IG_USER_MEDIAまたはINSTAGRAM_GET_USER_MEDIA- ユーザーのメディア一覧を取得します[必須]INSTAGRAM_GET_IG_MEDIA- 特定の投稿の詳細を取得します[任意]INSTAGRAM_GET_POST_INSIGHTSまたはINSTAGRAM_GET_IG_MEDIA_INSIGHTS- 投稿の指標を取得します[任意]INSTAGRAM_GET_USER_INSIGHTS- アカウントレベルのインサイトを取得します[任意]
主なパラメーター:
ig_user_id:Instagram ビジネスアカウントのユーザー IDmedia_id:特定のメディア投稿の IDmetric:取得する指標(例:インプレッション、リーチ、エンゲージメント)period:インサイトの期間(例:日、週、全期間)
注意点:
- インサイトを利用できるのは、ビジネスアカウントまたはクリエイターアカウントのみです
- 一部の指標を取得するには、一定数以上のフォロワーが必要です
- インサイトデータの反映には最大48時間かかる場合があります
periodパラメーターは指標の種類に合致している必要があります
4. 公開上限を確認する
使用するタイミング:投稿を試みる前に公開できるかどうか確認したい場合
ツールの手順:
INSTAGRAM_GET_IG_USER_CONTENT_PUBLISHING_LIMIT- 残りの公開枠を確認します[必須]
主なパラメーター:
ig_user_id:InstagramビジネスアカウントのユーザーID
注意点:
- Instagramでは、ローリング方式の24時間あたり25件の投稿上限が適用されます
- 公開上限は深夜ではなく、ローリング方式でリセットされます
- 失敗を避けるため、一括投稿の前に上限を確認してください
5. メディアのコメントと子要素を取得する
使用するタイミング:投稿へのコメントやカルーセルの子要素を表示したい場合
ツールの手順:
INSTAGRAM_GET_IG_MEDIA_COMMENTS- メディア投稿へのコメントを一覧表示します[必須]INSTAGRAM_GET_IG_MEDIA_CHILDREN- カルーセル投稿の子要素を一覧表示します[任意]
主なパラメーター:
media_id:メディア投稿のIDig_media_id:代替のメディアIDパラメーター
注意点:
- コメントはページ分割される場合があります。すべての結果を取得するには、ページネーションカーソルをたどってください
- カルーセルの子要素は個別のメディアオブジェクトとして返されます
- アカウントのコメントモデレーション設定は、返される内容に影響します
よくあるパターン
IDの解決
InstagramユーザーID:
1. Call INSTAGRAM_GET_USER_INFO
2. Extract ig_user_id from response
3. Use in all subsequent API calls
メディアコンテナーのステータス確認:
1. Call INSTAGRAM_CREATE_MEDIA_CONTAINER
2. Extract container_id from response
3. Poll INSTAGRAM_GET_POST_STATUS with container_id
4. Wait until status is 'FINISHED' before publishing
2段階での公開
- フェーズ1:コンテンツURLを指定してメディアコンテナーを作成します
- フェーズ2:処理が完了したらコンテナーを公開します
- 動画コンテンツの場合は、各フェーズの間に必ずコンテナーのステータスを確認してください
- カルーセルの場合、カルーセルコンテナーを作成する前に、すべての子要素についてフェーズ1を完了する必要があります
既知の注意点
メディアURL:
- 画像/動画のURLはすべて、誰でもアクセスできるHTTPS URLである必要があります
- 認証が必要なURL、CDNの制限があるURL、またはCookieが必要なURLでは失敗します
- 一時URL(事前署名済みのS3 URLなど)は、処理が完了する前に期限切れになる場合があります
レート制限:
- ローリング方式の24時間あたり25件の投稿上限
- APIのレート制限は公開上限とは別に適用されます
- 429レスポンスには指数バックオフを実装してください
アカウント要件:
- BusinessまたはCreatorのInstagramアカウントのみサポートされています
- 個人アカウントではInstagram Graph APIを使用できません
- アカウントはFacebookページに接続されている必要があります
レスポンスの解析:
- メディアIDは数値文字列です
- インサイトデータは、異なるレスポンスキーの下にネストされている場合があります
- ページネーションではカーソルベースのトークンを使用します
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| ユーザー情報を取得 | INSTAGRAM_GET_USER_INFO | (なし) |
| メディアコンテナーを作成 | INSTAGRAM_CREATE_MEDIA_CONTAINER | image_url/video_url, caption |
| カルーセルを作成 | INSTAGRAM_CREATE_CAROUSEL_CONTAINER | children, caption |
| 投稿を公開 | INSTAGRAM_CREATE_POST | ig_user_id, creation_id |
| メディアを公開 | INSTAGRAM_POST_IG_USER_MEDIA_PUBLISH | ig_user_id, creation_id |
| 投稿ステータスを確認 | INSTAGRAM_GET_POST_STATUS | ig_container_id |
| ユーザーメディアを一覧表示 | INSTAGRAM_GET_IG_USER_MEDIA | ig_user_id |
| メディアの詳細を取得 | INSTAGRAM_GET_IG_MEDIA | ig_media_id |
| 投稿のインサイトを取得 | INSTAGRAM_GET_POST_INSIGHTS | media_id, metric |
| ユーザーのインサイトを取得 | INSTAGRAM_GET_USER_INSIGHTS | ig_user_id, metric, period |
| 公開上限を取得 | INSTAGRAM_GET_IG_USER_CONTENT_PUBLISHING_LIMIT | ig_user_id |
| メディアのコメントを取得 | INSTAGRAM_GET_IG_MEDIA_COMMENTS | ig_media_id |
| カルーセルの子要素を取得 | INSTAGRAM_GET_IG_MEDIA_CHILDREN | ig_media_id |
Composio 提供