NotionとGPT-4を使ったSNS自動投稿ツール(Instagram自動投稿+Threads/X/ブログ原稿)

上級

これはMiscellaneous, Multimodal AI分野の自動化ワークフローで、17個のノードを含みます。主にNotion, Webhook, HttpRequest, OpenAiなどのノードを使用。 GPT-4、Notion、Instagram APIを使ってソーシャルメディアのコンテンツを自動生成して投稿する

前提条件
  • Notion API Key
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • ターゲットAPIの認証情報が必要な場合あり
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "A90U504fcvjJqgF5",
  "meta": {
    "instanceId": "ad59d09d8e026d0e92690243618d86d51b0293b236148394ca356eae1d1ea59b"
  },
  "name": "SNS Auto-Poster with Notion & GPT-4 (Instagram Auto + Threads/X/Blog Drafts)",
  "tags": [],
  "nodes": [
    {
      "id": "feef23dc-de7b-426f-9e86-26e3ba755c16",
      "name": "ステップ1: 入力",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        -64
      ],
      "parameters": {
        "width": 464,
        "height": 448,
        "content": "# Step 1: Input\n\n- Receive raw text via Webhook (e.g., LINE Bot)\n- Save input automatically into Notion database"
      },
      "typeVersion": 1
    },
    {
      "id": "a58fb4c9-73e7-486b-aaa4-8bb537c63117",
      "name": "ステップ2: キャプション生成",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        -64
      ],
      "parameters": {
        "color": 3,
        "width": 2224,
        "height": 448,
        "content": "# Step 2: Generate Captions\n\n- Use GPT-4o to create captions for multiple platforms\n- Instagram (for auto-post), Threads, X/Twitter, Blog (draft only)\n- Save all drafts back into Notion for tracking and reuse"
      },
      "typeVersion": 1
    },
    {
      "id": "60353fc8-ea55-46a6-af74-744ff9bc99cf",
      "name": "ステップ3: 画像処理",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2416,
        -64
      ],
      "parameters": {
        "color": 4,
        "width": 416,
        "height": 448,
        "content": "# Step 3: Image Handling\n\n- Fetch book cover image from external APIs (Google Books, OpenBD, OpenLibrary)\n- Upload selected image to Cloudinary\n- Generate final optimized URL for Instagram posting"
      },
      "typeVersion": 1
    },
    {
      "id": "d6e2fe83-ee28-4917-962b-7d3eff5e3be7",
      "name": "ステップ4: Instagram投稿",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2864,
        -64
      ],
      "parameters": {
        "color": 6,
        "width": 384,
        "height": 448,
        "content": "# Step 4: Instagram Publish\n\n- Create a media container via Instagram Graph API\n- Publish automatically with the generated caption + image\n- Verify post status before final publishing"
      },
      "typeVersion": 1
    },
    {
      "id": "77eac861-c22d-46b9-b321-91f275c7e2a9",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "notes": "Receive text input (from LINE or other source).",
      "position": [
        -288,
        160
      ],
      "webhookId": "d00a0c29-6e20-47f7-b57a-c60ed357c486",
      "parameters": {
        "path": "line-book-output",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "=onReceived"
      },
      "typeVersion": 2
    },
    {
      "id": "d9caab24-f532-455a-b19d-d9cff6dc1fe1",
      "name": "Notionページ作成",
      "type": "n8n-nodes-base.notion",
      "notes": "Create a new Notion page with input text.",
      "position": [
        -64,
        160
      ],
      "parameters": {
        "options": {},
        "resource": "databasePage",
        "databaseId": "<your_database_id>",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Title|title",
              "textContent": "={{ $json.body.events[0].message.text }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "bf244b57-2dcf-4232-9460-e77c882d5982",
      "name": "Instagramキャプション生成",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "Generate Instagram caption using GPT-4.",
      "position": [
        160,
        160
      ],
      "parameters": {
        "modelId": {
          "mode": "list",
          "value": "chatgpt-4o-latest"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Summarize for Instagram (<=1000 chars, include hashtags):\n{{ $json.name }}"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "f10bfbfa-031b-4299-b4d4-f91707ced60c",
      "name": "Instagramキャプション保存",
      "type": "n8n-nodes-base.notion",
      "position": [
        512,
        160
      ],
      "parameters": {
        "pageId": {
          "mode": "url",
          "value": "={{ $('Notion Page Create').item.json.url }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Instagram Caption|rich_text",
              "textContent": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "2f1034e6-61fc-4c78-adfd-dd4d02b8dbe5",
      "name": "Threadsキャプション生成",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        736,
        160
      ],
      "parameters": {
        "modelId": {
          "mode": "list",
          "value": "chatgpt-4o-latest"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Summarize for Threads (<=500 chars, include hashtags):\n{{ $json.name }}"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "7d9b7435-1580-40fb-8b4d-e3e9fa1364fe",
      "name": "Threadsキャプション保存",
      "type": "n8n-nodes-base.notion",
      "position": [
        1088,
        160
      ],
      "parameters": {
        "pageId": {
          "mode": "url",
          "value": "={{ $('Notion Page Create').item.json.url }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Threads Caption|rich_text",
              "textContent": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e71cc3dd-4c56-46f5-b590-8a6bab4c33b7",
      "name": "Xキャプション生成",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1312,
        160
      ],
      "parameters": {
        "modelId": {
          "mode": "list",
          "value": "chatgpt-4o-latest"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Summarize for X/Twitter (<=280 chars, include hashtags):\n{{ $json.name }}"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "d9ed8fd0-cfa5-4e3f-84b8-b4c45d5ada00",
      "name": "Xキャプション保存",
      "type": "n8n-nodes-base.notion",
      "position": [
        1664,
        160
      ],
      "parameters": {
        "pageId": {
          "mode": "url",
          "value": "={{ $('Notion Page Create').item.json.url }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "X Caption|rich_text",
              "textContent": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "bb04cea6-8bfe-4167-a688-74f0b56bdef8",
      "name": "ブログ下書き生成",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1888,
        160
      ],
      "parameters": {
        "modelId": {
          "mode": "list",
          "value": "chatgpt-4o-latest"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Rewrite into blog article (<=1800 chars, include Title, TOC, Body):\n{{ $json.name }}"
            }
          ]
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "ba0f53a5-ac72-4fc6-925e-8bee44e32b32",
      "name": "ブログ下書き保存",
      "type": "n8n-nodes-base.notion",
      "position": [
        2240,
        160
      ],
      "parameters": {
        "pageId": {
          "mode": "url",
          "value": "={{ $('Notion Page Create').item.json.url }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Blog Draft|rich_text",
              "textContent": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "813fdc45-f135-4f91-a35a-7711f86de3f4",
      "name": "Cloudinaryアップロード",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2464,
        160
      ],
      "parameters": {
        "url": "https://api.cloudinary.com/v1_1/<your_cloud_name>/image/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data1"
            },
            {
              "name": "folder",
              "value": "ig/books"
            },
            {
              "name": "public_id",
              "value": "=ig_books_{{ $json.isbn13 || Date.now() }}_cover"
            },
            {
              "name": "upload_preset",
              "value": "<your_upload_preset>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "74721ffb-a236-4fdf-b4c0-23745f357c65",
      "name": "Instagramメディアコンテナ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2688,
        160
      ],
      "parameters": {
        "url": "https://graph.facebook.com/v23.0/17841458946648987/media",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "access_token",
              "value": "={{$env.IG_ACCESS_TOKEN}}"
            },
            {
              "name": "image_url",
              "value": "={{$('Upload to Cloudinary').item.json.secure_url}}"
            },
            {
              "name": "caption",
              "value": "={{ $('Instagram Caption Save').item.json[\"Instagram Caption|rich_text\"][0].plain_text }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9e25da48-1164-4b10-94c7-2108cdbd67ff",
      "name": "Instagram投稿",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2992,
        160
      ],
      "parameters": {
        "url": "https://graph.facebook.com/v23.0/17841458946648987/media_publish",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "creation_id",
              "value": "={{ $('Instagram Media Container').item.json.id }}"
            },
            {
              "name": "access_token",
              "value": "={{$env.IG_ACCESS_TOKEN}}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "840dc1ba-d065-490f-85da-563e46ebe80d",
  "connections": {
    "77eac861-c22d-46b9-b321-91f275c7e2a9": {
      "main": [
        [
          {
            "node": "d9caab24-f532-455a-b19d-d9cff6dc1fe1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d9ed8fd0-cfa5-4e3f-84b8-b4c45d5ada00": {
      "main": [
        [
          {
            "node": "bb04cea6-8bfe-4167-a688-74f0b56bdef8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba0f53a5-ac72-4fc6-925e-8bee44e32b32": {
      "main": [
        [
          {
            "node": "813fdc45-f135-4f91-a35a-7711f86de3f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d9caab24-f532-455a-b19d-d9cff6dc1fe1": {
      "main": [
        [
          {
            "node": "bf244b57-2dcf-4232-9460-e77c882d5982",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e71cc3dd-4c56-46f5-b590-8a6bab4c33b7": {
      "main": [
        [
          {
            "node": "d9ed8fd0-cfa5-4e3f-84b8-b4c45d5ada00",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bb04cea6-8bfe-4167-a688-74f0b56bdef8": {
      "main": [
        [
          {
            "node": "ba0f53a5-ac72-4fc6-925e-8bee44e32b32",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7d9b7435-1580-40fb-8b4d-e3e9fa1364fe": {
      "main": [
        [
          {
            "node": "e71cc3dd-4c56-46f5-b590-8a6bab4c33b7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "813fdc45-f135-4f91-a35a-7711f86de3f4": {
      "main": [
        [
          {
            "node": "74721ffb-a236-4fdf-b4c0-23745f357c65",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f10bfbfa-031b-4299-b4d4-f91707ced60c": {
      "main": [
        [
          {
            "node": "2f1034e6-61fc-4c78-adfd-dd4d02b8dbe5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f1034e6-61fc-4c78-adfd-dd4d02b8dbe5": {
      "main": [
        [
          {
            "node": "7d9b7435-1580-40fb-8b4d-e3e9fa1364fe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "74721ffb-a236-4fdf-b4c0-23745f357c65": {
      "main": [
        [
          {
            "node": "9e25da48-1164-4b10-94c7-2108cdbd67ff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bf244b57-2dcf-4232-9460-e77c882d5982": {
      "main": [
        [
          {
            "node": "f10bfbfa-031b-4299-b4d4-f91707ced60c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - その他, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数17
カテゴリー2
ノードタイプ5
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34