UIをベースにGPT-4とDALL-Eを用いてLinkedInコンテンツ生成を自動化

上級

これはContent Creation, Multimodal AI分野の自動化ワークフローで、23個のノードを含みます。主にWebhook, HttpRequest, Agent, RespondToWebhook, ChainLlmなどのノードを使用。 AIベースのLinkedInコンテンツジェネレーター(OpenAI GPT-4およびDALL-E)

前提条件
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • ターゲットAPIの認証情報が必要な場合あり
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "Fd1PvKuULAbZsQuf",
  "meta": {
    "instanceId": "1dcd9ef6d607f38b819b26a2c4dbd06dac0f27a5f67d658e0aebc81336da332e",
    "templateId": "4968",
    "templateCredsSetupCompleted": true
  },
  "name": "Automated LinkedIn Content Creation with GPT-4 and DALL-E on top of a UI",
  "tags": [
    {
      "id": "d6uTHkmw5JpIUCo4",
      "name": "weweb-version",
      "createdAt": "2025-07-10T11:32:42.142Z",
      "updatedAt": "2025-07-10T11:32:42.142Z"
    }
  ],
  "nodes": [
    {
      "id": "f6716480-5a8c-4f84-9e91-b672b388d4bc",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1120,
        -260
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "0h4i5YzdkNENbxn7",
          "name": "OpenAi variable"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "06f17fd9-21cf-4540-a3c3-44f0f9c87e2a",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1320,
        -240
      ],
      "parameters": {
        "jsonSchemaExample": "[{\n \"title\": \"AI as Your First Content Hire: Why Founders Shouldn't Wait to Outsource Creation\",\n            \"rationale\": \"Most solopreneurs delay content scaling because they think hiring a ghostwriter is the next step — but AI can handle 80% with proper systems. This shifts content from a creative bottleneck to a scalable growth lever.\",\n            \"hook\": \"Ghostwriters are outdated. Train GPT once, and it ships LinkedIn gold in your voice daily. Welcome to hands-free thought leadership.\"\n          }]"
      },
      "typeVersion": 1.2
    },
    {
      "id": "3eefe0fd-b856-4b43-ae29-df4876c6545e",
      "name": "コンテンツクリエイター",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1080,
        160
      ],
      "parameters": {
        "text": "=You are a linkedin content creator and copywriter. Given the title {{ $json.body.title }}, the rationale {{ $json.body.rationale }}, and suggested hook: {{ $json.body.hook }}. Generate text content for a linkedin post. Also describe a suitable image for the post.",
        "batching": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "1318cc36-eee8-46f7-9a56-37d9d7cb9a35",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1060,
        400
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "0h4i5YzdkNENbxn7",
          "name": "OpenAi variable"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2e59bfdc-e691-4d13-824a-10ab0d5e935c",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1228,
        380
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"post title\": \"Exciting New Feature Launch 🚀\",\n  \"post content\": \"After months of collaboration, testing, and fine-tuning, we're thrilled to introduce our latest product feature: Smart Insights. It helps users uncover meaningful patterns in their data with just a few clicks. This wouldn't have been possible without our incredible team and supportive community. We're excited for what's next — and we'd love your feedback!\",\n  \"image description\": \"A laptop screen showcasing the new Smart Insights dashboard with colorful charts and graphs, surrounded by a team clapping in the background.\"\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "dcd07c39-6727-479b-bc65-33dcace9bd82",
      "name": "ハッシュタグ/SEO生成",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "disabled": true,
      "position": [
        1456,
        260
      ],
      "parameters": {
        "text": "=You are an SEO specialist for LinkedIn. Your task is to generate highly relevant and effective hashtags for the following post. Consider the post's content, target audience, and current LinkedIn trends to maximize visibility and engagement.\n\n<post_title>{{ $json.output['post title'] }}</post_title>\n<post_content>{{ $json.output['post content'] }}</post_content>\n\nPlease generate:\n1. **3-5 broad, high-volume hashtags** (e.g., #AI, #Marketing, #Business)\n2. **3-5 niche-specific hashtags** that are directly relevant to the post's core topic (e.g., #SocialMediaAutomation, #ContentCreationAI, #LinkedInMarketingTips)\n3. **1-2 trending/topical hashtags** if applicable (e.g., #FutureOfWork, #DigitalTransformation)\n\nPresent them as a comma-separated list.",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "08fcc303-b0ba-4c95-9075-c141c93c6355",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1484,
        480
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "0h4i5YzdkNENbxn7",
          "name": "OpenAi variable"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b33b1379-b258-4213-9496-f0c7d5750421",
      "name": "Structured Output Parser2",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1604,
        480
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"post title\": \"Exciting New Feature Launch 🚀\",\n  \"post content\": \"After months of collaboration, testing, and fine-tuning, we're thrilled to introduce our latest product feature: Smart Insights. It helps users uncover meaningful patterns in their data with just a few clicks. This wouldn't have been possible without our incredible team and supportive community. We're excited for what's next — and we'd love your feedback!\",\n  \"image description\": \"A laptop screen showcasing the new Smart Insights dashboard with colorful charts and graphs, surrounded by a team clapping in the background.\",\n\"Hashtags\":[\"#AI\",\"#Automation\"]\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "841270d3-9773-485e-a445-0a5caa1cd544",
      "name": "Webhookに返信",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1580,
        -540
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ $json.output }}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "3309ad70-6683-4a95-9f74-7388353992f6",
      "name": "Webhook1に応答",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1832,
        260
      ],
      "parameters": {
        "options": {},
        "respondWith": "allIncomingItems"
      },
      "typeVersion": 1.3
    },
    {
      "id": "da0ef4de-963e-40b4-ba39-ba7f6f7fa54f",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1080,
        1080
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/images/generations",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "model",
              "value": "dall-e-3"
            },
            {
              "name": "prompt",
              "value": "={{ $json.body.imgDescription }}"
            },
            {
              "name": "size",
              "value": "1024x1024"
            },
            {
              "name": "response_format",
              "value": "b64_json"
            }
          ]
        },
        "nodeCredentialType": "openAiApi"
      },
      "credentials": {
        "openAiApi": {
          "id": "0h4i5YzdkNENbxn7",
          "name": "OpenAi variable"
        },
        "httpBearerAuth": {
          "id": "ecAeX9GIMwaaElot",
          "name": "Joyce's OpenAI test"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "7e70feb1-1341-4673-9676-d93c791c29b7",
      "name": "Webhook2に応答",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1300,
        1080
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "ec50678d-d47a-4435-8665-f390dc409447",
      "name": "ハッシュタグ付き投稿を生成",
      "type": "n8n-nodes-base.webhook",
      "position": [
        860,
        260
      ],
      "webhookId": "691a4b8d-542c-4d58-af2d-6851c2ba0edf",
      "parameters": {
        "path": "691a4b8d-542c-4d58-af2d-6851c2ba0edf",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "b69486be-f649-439a-a851-888945bb333d",
      "name": "トピックを6件生成",
      "type": "n8n-nodes-base.webhook",
      "position": [
        780,
        -520
      ],
      "webhookId": "4aebedf5-666f-40a8-925c-5ce8a5a6b967",
      "parameters": {
        "path": "4aebedf5-666f-40a8-925c-5ce8a5a6b967",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "343f3302-b180-42b1-888a-98245a331409",
      "name": "画像を生成",
      "type": "n8n-nodes-base.webhook",
      "position": [
        860,
        1080
      ],
      "webhookId": "61b02992-5fde-4dd6-a7f9-8edc50e1f6c6",
      "parameters": {
        "path": "61b02992-5fde-4dd6-a7f9-8edc50e1f6c6",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "46433d24-5145-484c-b75e-df8db830a2e4",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        -800
      ],
      "parameters": {
        "width": 360,
        "height": 660,
        "content": "## Step 1 - Generate topics\nThis webhook expect two values: \n1. api_key: this should be an OpenAI key \n2. prompt: this should be a detailed prompt giving the AI information about your context\n\nHere's an example of what the API call needs to look like\n\n![](https://cdn.weweb.io/designs/d8eabf49-48a9-4c2f-995c-594936425772/sections/api_call_for_topics.png?_wwcv=1754315044747)"
      },
      "typeVersion": 1
    },
    {
      "id": "9f2bdded-b0ae-490a-ab58-39618f3b3c1d",
      "name": "コンテンツトピックジェネレーター",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1140,
        -540
      ],
      "parameters": {
        "text": "={{ $json.body.prompt }}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "58361897-236b-46d7-8f73-3be0e1a1f9d5",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1860,
        -680
      ],
      "parameters": {
        "width": 380,
        "height": 520,
        "content": "## Output \nThis webhook returns a list of 6 items, each containing a title, hook, and rationale for writing about the topic:\n\n![](https://cdn.weweb.io/designs/d8eabf49-48a9-4c2f-995c-594936425772/sections/topics_output.png?_wwcv=1754315497587)\n\nSave this list in your UI builder so users can edit it and reference it later."
      },
      "typeVersion": 1
    },
    {
      "id": "e55b4a55-8b7b-445b-af09-70611a05cac7",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        -20
      ],
      "parameters": {
        "color": 4,
        "width": 380,
        "height": 860,
        "content": "## Step 2 - Generate a post & related hashtags\nThis webhook expects an OpenAI API key (api_key) and information about the post you want to generate (title, hook, rationale)\n\nThe API call from your UI builder will look something like this:\n\n![](https://cdn.weweb.io/designs/d8eabf49-48a9-4c2f-995c-594936425772/sections/api_call_for_post.png?_wwcv=1754315778347)"
      },
      "typeVersion": 1
    },
    {
      "id": "1797d890-d60b-43e8-84d2-cab481440df7",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        -1260
      ],
      "parameters": {
        "color": 3,
        "width": 1020,
        "height": 320,
        "content": "## Why 3 webhooks? TL;DR: to give users full control over AI outputs\n\nMany n8n templates use an all-in-one AI agent, which is great for saving time. However, we structured this template a bit differently. The goal: give end-users more control over the AI-generated content.\n\nThis template is designed to serve as the backbone of a UI built with an app builder like WeWeb. The interface includes three screens:\n1. Create topics\n2. Edit topics and generate posts\n3. Edit posts and generate images\n\nEach screen has its own dedicated webhook. This ensures users are 100% in control of the content that’s generated and published to their LinkedIn account.\n\nIf you'd like to connect this n8n template directly to a WeWeb UI, it's possible. The WeWeb template is available for free [right here](https://go.weweb.io/zoYeg5g). "
      },
      "typeVersion": 1
    },
    {
      "id": "3861ae5e-7bed-4c90-a81c-686be1fe2097",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        140
      ],
      "parameters": {
        "color": 4,
        "width": 460,
        "height": 400,
        "content": "## Output\n\nThis webhook returns an item with a post title, post content, and an image description:\n\n![](https://cdn.weweb.io/designs/d8eabf49-48a9-4c2f-995c-594936425772/sections/post_output.png?_wwcv=1754316208986)\n\nSave this in your UI builder so users can edit and reference it later."
      },
      "typeVersion": 1
    },
    {
      "id": "9f2ef103-a790-43f8-b176-610ca2413686",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        940
      ],
      "parameters": {
        "color": 5,
        "width": 460,
        "height": 800,
        "content": "## Step 3 - Generate an image\nThis webhook expects an image description (imgDescription) and an OpenAI key (api_key). \n\nThe API call might looks something like this:\n\n![](https://cdn.weweb.io/designs/d8eabf49-48a9-4c2f-995c-594936425772/sections/api_call_for_image.png?_wwcv=1754317807201)"
      },
      "typeVersion": 1
    },
    {
      "id": "1fa23c8c-542f-4ba6-88ff-8c93093b7621",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1580,
        960
      ],
      "parameters": {
        "color": 5,
        "width": 460,
        "height": 480,
        "content": "## Output\nThis webhook returns an image encoded in base64 format:\n\n![](https://cdn.weweb.io/designs/d8eabf49-48a9-4c2f-995c-594936425772/sections/image_output.png?_wwcv=1754317807206)\n\nYou will need to convert it to a Blob in your frontend to display it."
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {},
  "versionId": "1dfbcd16-3799-4bf6-aeea-f1db4b006d5b",
  "connections": {
    "da0ef4de-963e-40b4-ba39-ba7f6f7fa54f": {
      "main": [
        [
          {
            "node": "7e70feb1-1341-4673-9676-d93c791c29b7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "343f3302-b180-42b1-888a-98245a331409": {
      "main": [
        [
          {
            "node": "da0ef4de-963e-40b4-ba39-ba7f6f7fa54f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3eefe0fd-b856-4b43-ae29-df4876c6545e": {
      "main": [
        [
          {
            "node": "dcd07c39-6727-479b-bc65-33dcace9bd82",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b69486be-f649-439a-a851-888945bb333d": {
      "main": [
        [
          {
            "node": "9f2bdded-b0ae-490a-ab58-39618f3b3c1d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f6716480-5a8c-4f84-9e91-b672b388d4bc": {
      "ai_languageModel": [
        [
          {
            "node": "9f2bdded-b0ae-490a-ab58-39618f3b3c1d",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1318cc36-eee8-46f7-9a56-37d9d7cb9a35": {
      "ai_languageModel": [
        [
          {
            "node": "3eefe0fd-b856-4b43-ae29-df4876c6545e",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "08fcc303-b0ba-4c95-9075-c141c93c6355": {
      "ai_languageModel": [
        [
          {
            "node": "dcd07c39-6727-479b-bc65-33dcace9bd82",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "3309ad70-6683-4a95-9f74-7388353992f6": {
      "main": [
        []
      ]
    },
    "dcd07c39-6727-479b-bc65-33dcace9bd82": {
      "main": [
        [
          {
            "node": "3309ad70-6683-4a95-9f74-7388353992f6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9f2bdded-b0ae-490a-ab58-39618f3b3c1d": {
      "main": [
        [
          {
            "node": "841270d3-9773-485e-a445-0a5caa1cd544",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "06f17fd9-21cf-4540-a3c3-44f0f9c87e2a": {
      "ai_outputParser": [
        [
          {
            "node": "9f2bdded-b0ae-490a-ab58-39618f3b3c1d",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "2e59bfdc-e691-4d13-824a-10ab0d5e935c": {
      "ai_outputParser": [
        [
          {
            "node": "3eefe0fd-b856-4b43-ae29-df4876c6545e",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "b33b1379-b258-4213-9496-f0c7d5750421": {
      "ai_outputParser": [
        [
          {
            "node": "dcd07c39-6727-479b-bc65-33dcace9bd82",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "ec50678d-d47a-4435-8665-f390dc409447": {
      "main": [
        [
          {
            "node": "3eefe0fd-b856-4b43-ae29-df4876c6545e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

上級 - コンテンツ作成, マルチモーダルAI

有料ですか?

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

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

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

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34