GPT-4와 DALL-E를 사용한 UI 기반 자동화 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
사용된 노드 (23)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 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 채팅 모델",
"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": "구조화 출력 파서",
"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 채팅 모델1",
"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": "구조화 출력 파서1",
"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 채팅 모델2",
"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": "구조화 출력 파서2",
"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": "웹훅 응답1",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1832,
260
],
"parameters": {
"options": {},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.3
},
{
"id": "da0ef4de-963e-40b4-ba39-ba7f6f7fa54f",
"name": "HTTP 요청",
"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": "웹훅 응답2",
"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"
},
"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\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"
},
"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\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"
},
"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\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)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
OpenAI, RunwayML, ElevenLabs를 사용한 무면식 숏폼 비디오 자동화
OpenAI, RunwayML, ElevenLabs를 사용한 무면쇼트 비디오 자동화: 스크립트부터 소셜 미디어까지
Set
Code
Wait
+
Set
Code
Wait
56 노드LeeWei
콘텐츠 제작
AI와 NextCloud/Google/Zoho를 사용하여 이벤트 텍스트를 캘린더 항목으로 변환
AI와 NextCloud/Google/Zoho를 통해 이벤트 텍스트를 캘린더 항목으로 변환
If
Switch
Webhook
+
If
Switch
Webhook
19 노드Eric
콘텐츠 제작
콘텐츠생성기 v3
AI驱动블로그자동화:사용GPT-4생성并게시SEO기사至WordPress및Twitter
If
Set
Code
+
If
Set
Code
144 노드Jay Emp0
콘텐츠 제작
잠재 고객 자격 평가 및 라우팅 엔진
AI 기반 잠재 고객 자격 평가 및 라우팅: OpenAI, Slack 및 Airtable 활용
If
Set
Slack
+
If
Set
Slack
17 노드Xavier Tai
콘텐츠 제작
콘텐츠 생성기
AI 기반 소셜 미디어 콘텐츠 생성기, GPT-4 모델 전략 방법 적용
Set
Code
Webhook
+
Set
Code
Webhook
22 노드inderjeet Bhambra
콘텐츠 제작
Airtop, GPT-4 Mini 및 Gmail을 사용한 웹사이트 UX 및 SEO 품질 분석
Airtop, GPT-4 Mini 및 Gmail을 사용하여 웹사이트 UX 및 SEO 품질 분석
Set
Code
Html
+
Set
Code
Html
33 노드LukaszB
콘텐츠 제작