mcpField
I
instagram-publisher

instagram-publisher

github.com/renatoasseマーケティング・グロース2.2k38 回インストール29 週間前に更新
リポジトリ

instagram-publisher について

Instagram Publisherは、Instagram Businessアカウントにカルーセル投稿を公開するスキルです。画像選択やキャプション準備を行い、公開前のドライランにも対応します。

主な機能

  1. 01JPEGカルーセルの公開
  2. 02画像の選択と並べ替え
  3. 03草稿からキャプションを作成
  4. 04ドライランでのテスト
  5. 05メディア処理状況の確認

活用シーン

  1. 01キャンペーン画像のカルーセル投稿
  2. 02投稿前の画像順の確認
  3. 03公開せずに投稿手順をテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/renatoasse/opensquad --skill instagram-publisher

インストール後、Claude Code で/instagram-publisherを入力して読み込まれたか確認します。

同梱ファイルscripts/publish.js

詳細

Instagram パブリッシャー

使用する場面

Instagram ビジネスアカウントにカルーセル投稿を直接公開する必要がある場合は、Instagram パブリッシャーを使用します。このスキルは、imgBB への画像のアップロード(https://api.imgbb.com/ で取得したご自身の API キーが必要です)、Graph API を使用した Instagram メディアコンテナの作成、カルーセルの公開まで、ワークフロー全体を処理します。投稿ごとに JPEG 画像を 2~10 枚使用できます。

手順

ワークフロー
  1. squads/{squad}/output/images/ 内の JPEG ファイルを名前順に一覧表示します。 ファイルが見つからない場合:処理を中止し、続行する前に画像を追加するようユーザーに依頼します。
  2. AskUserQuestion を使用して画像一覧をユーザーに提示し、順序を確認します。
  3. コンテンツの下書きからキャプションを抽出します。
    • フックのスライドのテキスト + CTA スライドのテキストを使用します。
    • 最大 2200 文字(Instagram の上限)です。
  4. 公開スクリプトを実行します。
    node --env-file=.env squads/{squad}/tools/publish.js \
      --images "<comma-separated-ordered-paths>" \
      --caption "<caption>"
    
    実際には公開せずにワークフロー全体をテストするには、--dry-run を追加します。
  5. 成功した場合:投稿 URL と投稿 ID をステップ出力ファイルに保存します。
  6. 失敗した場合:エラーを表示し、どのように進めるかユーザーに確認します。
制約
  • 画像:JPEG のみ、カルーセルごとに 2~10 枚
  • キャプション:最大 2200 文字
  • Instagram ビジネスアカウントが必要です(個人アカウントまたはクリエイターアカウントは不可)。
  • レート制限:API 経由で公開できる投稿は 24 時間あたり 25 件です。
セットアップ(初回)

.env.example を .env にコピーし、必須の 2 つの変数を設定します。

INSTAGRAM_ACCESS_TOKEN=
INSTAGRAM_USER_ID=
INSTAGRAM_ACCESS_TOKEN

前提条件:Facebook ページに接続された Instagram ビジネスアカウントと、developers.facebook.com で作成したアプリ(タイプ:ビジネス)が必要です。

長期トークン(有効期間 60 日)を取得する方法:

  1. アプリに移動 → Graph API Explorer
  2. 上部のドロップダウンでアプリを選択します。
  3. **「アクセストークンを生成」**をクリックします。
  4. 次の権限を有効にします。
    • instagram_content_publish
    • instagram_basic
    • pages_read_engagement
  5. **「アクセストークンを生成」**をクリックして認証します。短期トークン(1 時間)が発行されます。
  6. 次の GET リクエストを使用して長期トークン(60 日)に変換します。
    https://graph.facebook.com/oauth/access_token
      ?grant_type=fb_exchange_token
      &client_id={APP_ID}
      &client_secret={APP_SECRET}
      &fb_exchange_token={TOKEN_CURTO}
    
    (APP_ID と APP_SECRET:アプリ → 設定 → 基本)
  7. レスポンスから access_token をコピーし、.env に貼り付けます。

トークンの有効期限は 60 日です。更新するには手順を繰り返してください。

INSTAGRAM_USER_ID
  1. Graph API Explorer で(上記のトークンを使用して)、次の GET リクエストを実行します。
    /me/accounts
    
  2. レスポンス内でご自身のFacebook ページを探し、id を控えます。
  3. 次の GET リクエストを実行します。
    /{page-id}?fields=instagram_business_account
    
  4. instagram_business_account 内の id をコピーします。これが User ID です。

利用可能な操作

  • カルーセルを公開 -- 画像をアップロードし、Instagram にカルーセル投稿を公開します。
  • ドライラン -- 実際には投稿せず、公開ワークフロー全体をテストします(--dry-run フラグを使用)。
  • 画像のアップロード -- ローカルの JPEG 画像を imgBB にアップロードします(API キーが必要です)。
  • ステータス確認 -- 公開前にメディアコンテナの処理状況を監視します。

コメント