마케팅 콘텐츠 생성
고급
이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 40개의 노드를 포함합니다.주로 If, Set, Switch, Telegram, HttpRequest 등의 노드를 사용하며. 사용하여 Telegram과 Gemini로 이미지에서 Facebook 마케팅 콘텐츠 생성
사전 요구사항
- •Telegram Bot Token
- •대상 API의 인증 정보가 필요할 수 있음
사용된 노드 (40)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "ZIWg65Fq4Vr1rkBF",
"meta": {
"instanceId": "7f1a0694161455be3a7e71f1e0dea04908b0376a1a81e3a0c1e5ac879d48f83a",
"templateCredsSetupCompleted": true
},
"name": "Marketing Content Creating",
"tags": [],
"nodes": [
{
"id": "e790ce12-84f5-4a14-84b7-2cca94a2c2ce",
"name": "Telegram 트리거",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-4272,
-368
],
"webhookId": "fc2cd6f7-52fb-47e1-a95e-60b8a7f023bf",
"parameters": {
"updates": [
"*"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "54Wv2uMARWE0XAUl",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "3fdb47aa-c20d-4d64-ba2d-9e7004c6fdf4",
"name": "Telegram 메타데이터 추출",
"type": "n8n-nodes-base.set",
"position": [
-4016,
-368
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "516ee90b-f268-45a4-b445-3245fb0da83e",
"name": "photo_file_id",
"type": "string",
"value": "={{ $json.message.photo[3].file_id }}"
},
{
"id": "2008723e-9991-4e7a-b1d2-cbb4876adac8",
"name": "photo_caption",
"type": "string",
"value": "={{$json[\"message\"][\"caption\"] || \"No caption provided\"}}"
},
{
"id": "38ea22ee-878a-4d16-bad4-d178edde481e",
"name": "chat_id",
"type": "string",
"value": "={{$json[\"message\"][\"chat\"][\"id\"]}}"
},
{
"id": "9eb27912-af87-462f-a324-16ec084df841",
"name": "message_id",
"type": "string",
"value": "={{$json[\"message\"][\"message_id\"]}}"
},
{
"id": "f3f7a986-e9e1-45f0-ac79-44cda0dc32ec",
"name": "timestamp",
"type": "string",
"value": "={{new Date().toISOString()}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c634c46a-a9a9-4cd6-b161-fee6a2819f8e",
"name": "Telegram 파일 정보 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
-3824,
-368
],
"parameters": {
"url": "=https://api.telegram.org/{{TELEGRAM_BOT_TOKEN}}/getFile?file_id={{$json[\"photo_file_id\"]}}",
"options": {}
},
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "a7417e16-1a71-42ce-97c8-9ae7d1dc7535",
"name": "Telegram 이미지 URL 빌드",
"type": "n8n-nodes-base.set",
"position": [
-3648,
-368
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e84d0249-e55f-4099-9144-4c22598682db",
"name": "file_path",
"type": "string",
"value": "={{ $json.result.file_path }}"
},
{
"id": "9d23e1a9-80fe-45bb-a96f-7f7652237cf8",
"name": "download_url",
"type": "string",
"value": "=https://api.telegram.org/file/bot[YOUR_BOT_TOKEN]/{{$json[\"result\"][\"file_path\"]}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d3d8a354-a650-4941-87e2-4755060b48a8",
"name": "Telegram 이미지 다운로드",
"type": "n8n-nodes-base.httpRequest",
"position": [
-3440,
-368
],
"parameters": {
"url": "={{ $json.download_url }}",
"options": {
"response": {
"response": {
"responseFormat": "file",
"outputPropertyName": "=photo_data"
}
}
}
},
"typeVersion": 4.2
},
{
"id": "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7",
"name": "마케팅 콘텐츠 생성",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-3248,
-368
],
"parameters": {
"text": "=You are the content creator for XQ Pharma—a skincare brand dedicated to real, visible results for young, modern consumers in the Arab world.\n\nYour job is to write:\n\nA strong hook: A short, catchy sentence that starts with a real problem or clear benefit, instantly grabbing attention.\n\nConcise, convincing content: 3–5 sentences that explain the product or routine, what makes it different, and how it truly helps the customer (no complicated medical jargon, no exaggeration).\n\nA call-to-action (CTA): A direct, friendly invitation to try, buy, or start the routine.\n\nRequired Style & Tone:\n\nYouthful, conversational, and down-to-earth—not formal or generic\n\nSpeak directly to the customer's needs and struggles\n\nFocus on how the product makes life easier, skin clearer, and confidence higher\n\nAvoid clichés or over-the-top claims—keep it real, keep it simple\n\nUse language and phrases that feel local, relatable, and fresh\n\nStructure:\n\nHook: One catchy line that starts with the customer’s struggle or promises a real change\n\nBody: 3–5 sentences explaining the true benefit and role of the product or routine—why XQ makes a difference\n\nCTA: End with a clear, friendly, motivating invitation to try, buy, or experience XQ\n\nBrand Example Tone:\n\n“Wake up to new breakouts every day? Leave them behind and start your XQ routine—for calmer, clearer skin!”\n\n“One wash… and real clarity that lasts.”\n\n“Every product has a role. Every step gives you real comfort and confidence.”\n\n“Try XQ and see the difference for yourself!”\n\nAlways write in clear, natural Arabic, true to XQ’s brand voice.\nDon’t recycle generic ad copy—each post must feel new, real, and close to your audience.\nMatch the brand’s look, feel, and promise in every line.\n\nOutput must be in this JSON format:\n{\n \"headline\": \"...\",\n \"content\": \"...\",\n \"hashtags\": [\"...\", \"...\"],\n \"cta\": \"...\"\n}\n\n\n",
"options": {},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "95fc665a-c98a-4ce6-9d77-63a6deba8c81",
"name": "언어 모델 (OpenRouter)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-3248,
-144
],
"parameters": {
"model": "google/gemini-2.5-flash-lite",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "dlnlO0HAUYbEGXZE",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "18dd5c2e-f93b-48a8-8fc0-f2653f18411a",
"name": "AI 출력 파싱",
"type": "n8n-nodes-base.set",
"position": [
-2864,
-368
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "91323867-f4bf-4bcc-a696-6524795e082f",
"name": "headline",
"type": "string",
"value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).headline }}\n"
},
{
"id": "33d44685-8463-4730-8bb4-c1f006f6a466",
"name": "content",
"type": "string",
"value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).content }}\n"
},
{
"id": "915dec92-ad74-423a-a81e-30b027100eb1",
"name": "hashtags",
"type": "string",
"value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).hashtags.join(\" \") }}\n"
},
{
"id": "5c7cbab9-8090-436e-962f-6626f6855393",
"name": "cta",
"type": "string",
"value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).cta }}\n"
},
{
"id": "73d4fbf5-9f22-4ec7-b4e3-64a89b2c726a",
"name": "approval_id",
"type": "string",
"value": "=_{{Math.random().toString(36).substr(2, 9)}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b3a68c66-f304-434e-8050-b34be7ea93d8",
"name": "승인 결정",
"type": "n8n-nodes-base.if",
"position": [
-1904,
-368
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "or",
"conditions": [
{
"id": "b86d09ef-20f0-40fa-be59-3a9900f20aa5",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.data.approved }}",
"rightValue": "="
},
{
"id": "03978ad9-213f-4aeb-809e-c9b6fa0e0324",
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
},
"leftValue": "={{ $json.data.approved }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2,
"alwaysOutputData": false
},
{
"id": "b48b0d1c-b5af-474b-a334-f00a56e08a50",
"name": "메시지에 사진 포함 여부 확인",
"type": "n8n-nodes-base.if",
"position": [
-3760,
48
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "a93c60b8-3ddf-4ab0-bfe7-34b922b08533",
"operator": {
"type": "boolean",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json.message.photo }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "b560bb97-68b0-4eb8-8709-c65b7f8753de",
"name": "사용자 입력 프롬프트 (수동)",
"type": "n8n-nodes-base.telegram",
"position": [
-2048,
544
],
"webhookId": "91d8157e-a213-4e90-ab4a-0cfbe193beca",
"parameters": {
"text": "What changes would you like ?",
"chatId": "={{ $('Extract Telegram Metadata').item.json.chat_id }} ",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "54Wv2uMARWE0XAUl",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "96cbf7cb-89a4-42bd-9107-0d6e88eee868",
"name": "사용자 텍스트로 워크플로우 재시작",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
-1840,
544
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "{{REPLACE_WITH_SUB_WORKFLOW_ID}}",
"cachedResultName": "{{Sub Workflow Name}}"
},
"workflowInputs": {
"value": {},
"schema": [],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "246d08f7-d645-45cf-807a-b7d69d0689f9",
"name": "워크플로우 다시 재시작",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
-1456,
80
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "{{REPLACE_WITH_SUB_WORKFLOW_ID}}",
"cachedResultName": "{{Sub Workflow Name}}"
},
"workflowInputs": {
"value": {},
"schema": [],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "8cbbd214-3b3a-4aba-93cc-1e769847e789",
"name": "Facebook에 게시물 발행",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1664,
-384
],
"parameters": {
"url": "https://graph.facebook.com/v12.0/{{PAGE_ID}}/photos",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "source",
"value": "={{ $('Edit Fields1').item.json.file_path }}"
},
{
"name": "message",
"value": "={{ $('Switch1').item.json.headline }}\\n\\n{{ $('Switch1').item.json.content }}\\n\\n{{ $('Switch1').item.json.hashtags }}"
},
{
"name": "published",
"value": "true"
}
]
},
"genericAuthType": "oAuth2Api"
},
"typeVersion": 4.2
},
{
"id": "45c9e2cf-bbdd-4e09-9c62-240382f85921",
"name": "Facebook 성공 알림",
"type": "n8n-nodes-base.telegram",
"position": [
-1456,
-384
],
"webhookId": "7260ee50-b037-44d2-9036-7627e22c4b02",
"parameters": {
"text": "📅 Your post has been successfully scheduled for publishing on Facebook!",
"chatId": "={{ $('Check if Message has Photo').item.json.message.chat.id }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "54Wv2uMARWE0XAUl",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "a05ff9fe-ddce-4c9a-bc28-407612de0c6b",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4368,
-480
],
"parameters": {
"color": 3,
"height": 256,
"content": "Starts the workflow when the Telegram bot receives a new message from a user, including photos and text."
},
"typeVersion": 1
},
{
"id": "5850a31e-524e-4449-9a2d-cf8b9fc0f82b",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3824,
-96
],
"parameters": {
"color": 4,
"height": 320,
"content": "Determines whether the incoming Telegram message contains a photo. Routes to either the image processing path or the fallback for text-only messages."
},
"typeVersion": 1
},
{
"id": "aeee1d5f-2744-4d23-a669-c46bca013a9a",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4080,
-480
],
"parameters": {
"color": 5,
"width": 208,
"height": 256,
"content": "Extracts key fields like chat_id, file_id, caption, and timestamp from the incoming message for further processing."
},
"typeVersion": 1
},
{
"id": "6d30b34a-8052-4772-9c03-2f13dcde46fd",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3856,
-480
],
"parameters": {
"color": 4,
"width": 160,
"height": 256,
"content": "Calls Telegram's API to retrieve file path information using the provided photo file ID."
},
"typeVersion": 1
},
{
"id": "7057a573-4bb7-4b5a-b350-dd64c74f7e4c",
"name": "스티커 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3680,
-480
],
"parameters": {
"color": 5,
"width": 176,
"height": 256,
"content": "Builds a downloadable file URL using the file path from Telegram's response."
},
"typeVersion": 1
},
{
"id": "92d7a0df-4d7a-4d19-b777-5ec25dac16a9",
"name": "스티커 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3488,
-480
],
"parameters": {
"color": 4,
"width": 192,
"height": 256,
"content": "Downloads the photo file from Telegram and stores it as photo_data for use by the AI."
},
"typeVersion": 1
},
{
"id": "6802e29d-1ee8-488f-92c3-1ee294f321c6",
"name": "스티커 노트6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3232,
-480
],
"parameters": {
"color": 6,
"height": 256,
"content": "Uses an AI agent (powered by a language model) to generate marketing content based on the image, caption, and brand style prompt."
},
"typeVersion": 1
},
{
"id": "5c1608cb-b51e-4e9f-b454-cc12aad1ae89",
"name": "스티커 노트7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3328,
-160
],
"parameters": {
"color": 6,
"height": 256,
"content": "\n\n\n\n\n\n\n\n\n\n\n\nProvides the underlying LLM (like Gemini or GPT) that powers the AI Agent node to generate the post content."
},
"typeVersion": 1
},
{
"id": "50ae9451-f18c-42ee-8ab4-b4c18611a1ed",
"name": "스티커 노트8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2944,
-608
],
"parameters": {
"color": 4,
"height": 384,
"content": "Parses the structured JSON response from the AI to extract:\n\nHeadline\n\nContent\n\nHashtags\n\nCTA\nAlso generates a random approval ID."
},
"typeVersion": 1
},
{
"id": "305fd517-304a-4f92-9581-a010c1ccc23f",
"name": "입력 신규/기존 여부 결정",
"type": "n8n-nodes-base.switch",
"position": [
-2656,
-368
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "39e6e597-0d27-43c5-bae6-42926f284937",
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
},
"leftValue": "={{ $('Check if Message has Photo').item.json.message.from.is_bot }}",
"rightValue": ""
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "203ef3ef-d966-45bd-8b30-40c62e3e1fb0",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Check if Message has Photo').item.json.message.from.is_bot }}",
"rightValue": ""
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "ae793205-2c10-4640-a9cd-ea6111894cfd",
"name": "스티커 노트9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2688,
-528
],
"parameters": {
"color": 5,
"width": 176,
"height": 304,
"content": "Checks if the message sender is a new message or user requested edit and routes the generated content to the right approval flow."
},
"typeVersion": 1
},
{
"id": "da169286-1d7a-4781-a3c0-9f6c3bdf7e01",
"name": "승인 요청 전송 (신규)",
"type": "n8n-nodes-base.telegram",
"position": [
-2320,
-496
],
"webhookId": "872bb540-ea9e-4277-b3ea-e5f8a8a98f6e",
"parameters": {
"chatId": "={{ $('Check if Message has Photo').item.json.message.chat.id }}",
"message": "=📝 **Generated Marketing Content**\n\n**Headline:** {{ $('Parse AI Output').item.json.headline }}\n\n**Content:** {{ $('Parse AI Output').item.json.content }}\n\n**Hashtags:** {{ $('Parse AI Output').item.json.hashtags }}\n\n**CTA:** {{ $('Parse AI Output').item.json.cta }}\n\n✅ Reply \"APPROVE\" to post \n❌ Reply \"REJECT\" to cancel",
"options": {},
"operation": "sendAndWait",
"approvalOptions": {
"values": {
"approvalType": "double"
}
}
},
"credentials": {
"telegramApi": {
"id": "54Wv2uMARWE0XAUl",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "657f641e-539d-4b23-bccc-b83c19f223f7",
"name": "승인 요청 전송 (기존)",
"type": "n8n-nodes-base.telegram",
"position": [
-2320,
-144
],
"webhookId": "1fb88870-f8aa-4308-a109-ca10769b0040",
"parameters": {
"chatId": "={{ $('Extract Telegram Metadata').item.json.chat_id }} ",
"message": "=📝 **Generated Marketing Content**\n\n**Headline:** {{ $('Parse AI Output').item.json.headline }}\n\n**Content:** {{ $('Parse AI Output').item.json.content }}\n\n**Hashtags:** {{ $('Parse AI Output').item.json.hashtags }}\n\n**CTA:** {{ $('Parse AI Output').item.json.cta }}\n\n✅ Reply \"APPROVE\" to post \n❌ Reply \"REJECT\" to cancel",
"options": {},
"operation": "sendAndWait",
"approvalOptions": {
"values": {
"approvalType": "double"
}
}
},
"credentials": {
"telegramApi": {
"id": "54Wv2uMARWE0XAUl",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "6344d872-4c6a-455d-bf07-238dc8344d03",
"name": "스티커 노트10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2368,
-608
],
"parameters": {
"color": 4,
"width": 208,
"height": 288,
"content": "Sends the AI-generated content to the user for review and waits for their reply (APPROVE or REJECT)."
},
"typeVersion": 1
},
{
"id": "ac30bbca-7e8f-4d4a-9923-d381e34c1ccb",
"name": "스티커 노트11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2368,
-256
],
"parameters": {
"color": 4,
"width": 208,
"height": 288,
"content": "Sends the AI-generated content to the user for review and waits for their reply (APPROVE or REJECT)."
},
"typeVersion": 1
},
{
"id": "9059b7fd-018b-46f3-9ab1-d5e9648c07ec",
"name": "스티커 노트12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1952,
-480
],
"parameters": {
"color": 5,
"width": 176,
"height": 256,
"content": "Checks whether the user approved or rejected the content and routes accordingly."
},
"typeVersion": 1
},
{
"id": "c32046c3-99e2-44b1-a77d-d1b849872cdf",
"name": "스티커 노트13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1712,
-496
],
"parameters": {
"color": 4,
"width": 192,
"height": 272,
"content": "Posts the approved photo and content to a Facebook page using a multipart HTTP request."
},
"typeVersion": 1
},
{
"id": "c2f306c7-b762-47e3-b930-cebc61e16b74",
"name": "스티커 노트14",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1504,
-496
],
"parameters": {
"color": 5,
"width": 192,
"height": 272,
"content": "Notifies the user via Telegram that the Facebook post was successfully scheduled or published."
},
"typeVersion": 1
},
{
"id": "056940d3-d701-4904-a02b-9c9f122e20fd",
"name": "텍스트/사진 여부 확인",
"type": "n8n-nodes-base.switch",
"position": [
-2000,
96
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2a8def23-8ef5-470c-96c8-ba873aa48a30",
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
},
"leftValue": "={{ $('Check if Message has Photo').item.json.message.from.is_bot }}",
"rightValue": ""
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2011dd2e-5ed8-45c4-887f-01944f6e94a1",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Check if Message has Photo').item.json.message.from.is_bot }}",
"rightValue": ""
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "d98de212-9b3c-4917-9120-dfb6d5198244",
"name": "스티커 노트15",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2048,
0
],
"parameters": {
"color": 4,
"width": 208,
"height": 272,
"content": "Checks if the message came from the text route or the photo route"
},
"typeVersion": 1
},
{
"id": "4669ff74-44b8-4d8e-bb6e-74466a4bc88a",
"name": "사용자에게 수정 요청",
"type": "n8n-nodes-base.telegram",
"position": [
-1696,
80
],
"webhookId": "73490335-a569-4664-b19d-ce2b1abbb89a",
"parameters": {
"text": "What changes would you like ?",
"chatId": "={{ $('Check if Message has Photo').item.json.message.chat.id }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "54Wv2uMARWE0XAUl",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "6e713890-dc12-4960-b748-37991976f036",
"name": "스티커 노트16",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1760,
-16
],
"parameters": {
"color": 5,
"width": 224,
"height": 256,
"content": "Sends a Telegram message asking the user to type what they want (used when no photo is sent)."
},
"typeVersion": 1
},
{
"id": "dccf21dd-f0ff-41fd-a76c-3d34ad6a718d",
"name": "스티커 노트17",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1520,
-112
],
"parameters": {
"color": 4,
"height": 352,
"content": "Re-triggers the workflow by executing it again using the user's text instead of a photo. Enables feedback loop via Telegram instead of bothering users to write their edits in a new tap"
},
"typeVersion": 1
},
{
"id": "07331e32-ca71-4ff3-8722-095778bfe351",
"name": "스티커 노트18",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1888,
384
],
"parameters": {
"color": 4,
"height": 352,
"content": "Re-triggers the workflow by executing it again using the user's text instead of a photo. Enables feedback loop via Telegram instead of bothering users to write their edits in a new tap"
},
"typeVersion": 1
},
{
"id": "b58342e6-1131-42be-9a10-ceefa65780a4",
"name": "스티커 노트19",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2128,
448
],
"parameters": {
"color": 5,
"width": 224,
"height": 288,
"content": "Sends a Telegram message asking the user to type what they want (used when a photo is sent)."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "3c4af25b-1c97-4e1f-8e22-cbf8a0ab92e5",
"connections": {
"18dd5c2e-f93b-48a8-8fc0-f2653f18411a": {
"main": [
[
{
"node": "305fd517-304a-4f92-9581-a010c1ccc23f",
"type": "main",
"index": 0
}
]
]
},
"b3a68c66-f304-434e-8050-b34be7ea93d8": {
"main": [
[
{
"node": "8cbbd214-3b3a-4aba-93cc-1e769847e789",
"type": "main",
"index": 0
}
],
[
{
"node": "056940d3-d701-4904-a02b-9c9f122e20fd",
"type": "main",
"index": 0
}
]
]
},
"e790ce12-84f5-4a14-84b7-2cca94a2c2ce": {
"main": [
[
{
"node": "b48b0d1c-b5af-474b-a334-f00a56e08a50",
"type": "main",
"index": 0
}
]
]
},
"056940d3-d701-4904-a02b-9c9f122e20fd": {
"main": [
[
{
"node": "4669ff74-44b8-4d8e-bb6e-74466a4bc88a",
"type": "main",
"index": 0
}
],
[
{
"node": "b560bb97-68b0-4eb8-8709-c65b7f8753de",
"type": "main",
"index": 0
}
]
]
},
"c634c46a-a9a9-4cd6-b161-fee6a2819f8e": {
"main": [
[
{
"node": "a7417e16-1a71-42ce-97c8-9ae7d1dc7535",
"type": "main",
"index": 0
}
]
]
},
"4669ff74-44b8-4d8e-bb6e-74466a4bc88a": {
"main": [
[
{
"node": "246d08f7-d645-45cf-807a-b7d69d0689f9",
"type": "main",
"index": 0
}
]
]
},
"d3d8a354-a650-4941-87e2-4755060b48a8": {
"main": [
[
{
"node": "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7",
"type": "main",
"index": 0
}
]
]
},
"a7417e16-1a71-42ce-97c8-9ae7d1dc7535": {
"main": [
[
{
"node": "d3d8a354-a650-4941-87e2-4755060b48a8",
"type": "main",
"index": 0
}
]
]
},
"8cbbd214-3b3a-4aba-93cc-1e769847e789": {
"main": [
[
{
"node": "45c9e2cf-bbdd-4e09-9c62-240382f85921",
"type": "main",
"index": 0
}
]
]
},
"3fdb47aa-c20d-4d64-ba2d-9e7004c6fdf4": {
"main": [
[
{
"node": "c634c46a-a9a9-4cd6-b161-fee6a2819f8e",
"type": "main",
"index": 0
}
]
]
},
"b48b0d1c-b5af-474b-a334-f00a56e08a50": {
"main": [
[
{
"node": "3fdb47aa-c20d-4d64-ba2d-9e7004c6fdf4",
"type": "main",
"index": 0
}
],
[
{
"node": "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7",
"type": "main",
"index": 0
}
]
]
},
"305fd517-304a-4f92-9581-a010c1ccc23f": {
"main": [
[
{
"node": "da169286-1d7a-4781-a3c0-9f6c3bdf7e01",
"type": "main",
"index": 0
}
],
[
{
"node": "657f641e-539d-4b23-bccc-b83c19f223f7",
"type": "main",
"index": 0
}
]
]
},
"e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7": {
"main": [
[
{
"node": "18dd5c2e-f93b-48a8-8fc0-f2653f18411a",
"type": "main",
"index": 0
}
]
]
},
"95fc665a-c98a-4ce6-9d77-63a6deba8c81": {
"ai_languageModel": [
[
{
"node": "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"b560bb97-68b0-4eb8-8709-c65b7f8753de": {
"main": [
[
{
"node": "96cbf7cb-89a4-42bd-9107-0d6e88eee868",
"type": "main",
"index": 0
}
]
]
},
"da169286-1d7a-4781-a3c0-9f6c3bdf7e01": {
"main": [
[
{
"node": "b3a68c66-f304-434e-8050-b34be7ea93d8",
"type": "main",
"index": 0
}
]
]
},
"657f641e-539d-4b23-bccc-b83c19f223f7": {
"main": [
[
{
"node": "b3a68c66-f304-434e-8050-b34be7ea93d8",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 콘텐츠 제작, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
LinkedIn 및 X 바이럴 콘텐츠 자동 엔진
사용AI생성및게시자동생성LinkedIn및X의病毒콘텐츠
If
Set
Wait
+
If
Set
Wait
156 노드Diptamoy Barman
콘텐츠 제작
주식 분석 템플릿
기술 분석, AI, Telegram을 결합하여 주식 시장 통찰력 생성
If
Set
Code
+
If
Set
Code
25 노드Sergey Skorobogatov
암호화폐 거래
GPT-4o, ElevenLabs, WaveSpeed으로 입체동기화을 생성하여 실제 UGC 비디오 광고 생성
GPT-4o, ElevenLabs, WaveSpeed으로 입술 동기화를 통해 진짜 UGC 비디오 광고 생성
If
Set
Wait
+
If
Set
Wait
38 노드Muhammad Farooq Iqbal
콘텐츠 제작
Telegram 메시지에서 Nano Banana와 Veo-3를 사용하여 AI 비디오 생성
Nano Banana와 Veo-3를 사용하여 Telegram 메시지에서 AI 비디오 생성
If
Set
Wait
+
If
Set
Wait
26 노드Sulieman Said
콘텐츠 제작
AI驱动의이메일分诊与자동回复系统,통합OpenAI에이전트및Gmail
AI驱动의이메일分诊与자동回复系统,통합OpenAI에이전트및Gmail
If
Set
Gmail
+
If
Set
Gmail
68 노드Abdullahi Ahmed
콘텐츠 제작
✨🩷자동화소셜 미디어콘텐츠게시工厂 + 系统提示组合
基于动态系统提示및GPT-4o의AI驱动多平台소셜 미디어콘텐츠工厂
If
Set
Code
+
If
Set
Code
100 노드Amit Mehta
콘텐츠 제작
워크플로우 정보
난이도
고급
노드 수40
카테고리2
노드 유형10
저자
Abdullah Alshiekh
@abdullah01🚀 Automation pro building AI-powered workflows with n8n. 💼 Special focus on real use cases 🔧 Love clean, flexible, and business-ready automations.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유