[astro/nextjs] 글/게시물에 카테고리/태그 할당
고급
이것은Content Creation, AI Summarization분야의자동화 워크플로우로, 29개의 노드를 포함합니다.주로 Code, Form, Merge, Github, Switch 등의 노드를 사용하며. OpenAI GPT-4, GitHub, Google Sheets로 Astro/Next.js 블로그 게시물 자동 분류
사전 요구사항
- •GitHub Personal Access Token
- •Google Sheets API 인증 정보
- •OpenAI API Key
사용된 노드 (29)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "c3REFIr9ubIDDYJ5",
"meta": {
"instanceId": "2295c029f4cb86c8f849f9c87dade323734dc279619eb9e2704f8473c381e4d1",
"templateCredsSetupCompleted": true
},
"name": "[astro/nextjs] Assign cattegories / tags for article / post",
"tags": [],
"nodes": [
{
"id": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2192,
96
],
"parameters": {
"text": "={{ $json.path }}",
"options": {
"systemMessage": "You are a helpful assistant which helps to assign proper tags and categories for post. Example of post is added in section <post>. \n\nEach post has a section which starts with \"---\" and ands with next ocurance of \"---\". This section is metadata which describes the post. After second ocurance of \"---\" file has a content. \n\nRead tags and categories and assign them to <tags> and <categories> variables used later in response.\n\nBased on content please provide categories assigned to <new_assigned_categories> and tags list assigned to <new_assigned_tags> as example below:\n\n<example>\ncategories: [\"business\"] \ntags: [\"DigitalGirls\", \"ITPioneers\", \"WomenInIT\", \"IT\", \"FemalePower\", \"Debugging\", \"GraceHopper\"] \n</example>\n\nFinal result should be post with updated metadata passed to variable <content>.\n\n<post> \n--- \ntitle: \"Where Did the Term ‘Debug’ Come From? – Women in IT\" \npubDate: 2024-07-23 description: \"Did you know that the term ‘debug’ was coined by Admiral Grace Hopper?\" \ncategories: [\"business\"] \ntags: [\"DigitalGirls\", \"ITPioneers\", \"WomenInIT\", \"IT\", \"FemalePower\", \"Debugging\", \"GraceHopper\"] \ncoverImage: \"@assets/2024-07-23-skad-sie-wzielo-okreslenie-debug-kobiety-w-it.jpeg\" \n---\n\nDid you know that the term debug was coined by Admiral Grace Hopper?\nWhile working on the Mark II computer at Harvard University, a moth got trapped in a relay, interfering with the machine’s operation. Removing the dead insect was humorously referred to by Admiral Hopper as debugging.\n\nPS. After a conversation with Wioletta Klimczak, I got my hands on the book “Digital Girls. Pioneers of Polish Computer Science” by Karolina Wasielewska. The story above comes from that book. It’s proof that women are an important part of the IT world!\n\n#DigitalGirls #ITPioneers #WomenInIT #IT #FemalePower #Debugging #GraceHopper\n</post>"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "1844db4c-6da3-47cb-be7a-2aad32126178",
"name": "단순 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
2272,
288
],
"parameters": {
"sessionKey": "simple_memory",
"sessionIdType": "customKey",
"contextWindowLength": 2
},
"typeVersion": 1.3
},
{
"id": "5467bd31-25c6-4133-ba33-a6c66c332881",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2128,
288
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {
"responseFormat": "json_object"
}
},
"credentials": {
"openAiApi": {
"id": "7lmHcPMAjhsZFa1f",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "d462260a-ba85-4e3b-9ddf-f3e0d37ea249",
"name": "게시물/아티클/페이지 나열",
"type": "n8n-nodes-base.github",
"position": [
-240,
512
],
"webhookId": "ecf1a2e3-4fc4-4660-b4a9-a97743df2a1b",
"parameters": {
"owner": {
"__rl": true,
"mode": "list",
"value": "pjsikora",
"cachedResultUrl": "https://github.com/pjsikora",
"cachedResultName": "pjsikora"
},
"filePath": "src/content/blog/pl/",
"resource": "file",
"operation": "list",
"repository": {
"__rl": true,
"mode": "list",
"value": "astro-n8n-test",
"cachedResultUrl": "https://github.com/pjsikora/astro-n8n-test",
"cachedResultName": "astro-n8n-test"
}
},
"credentials": {
"githubApi": {
"id": "Qjzxc6aMdLBzUGJB",
"name": "GitHub account"
}
},
"typeVersion": 1.1
},
{
"id": "3fb2d73a-f707-46dc-8357-67772d6a9b67",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
208
],
"parameters": {
"color": 6,
"width": 256,
"height": 480,
"content": "## Define repository\nDefine repository and directory in which workflow can find articles / post "
},
"typeVersion": 1
},
{
"id": "41217dfe-2aa3-43bc-a415-88d22bb7e042",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1424,
-576
],
"parameters": {
"color": 5,
"height": 416,
"content": "## Get file content\nGet file content and pass it to AI Agent"
},
"typeVersion": 1
},
{
"id": "9985d456-e5ec-4546-9020-ce0a0f9eb57c",
"name": "게시물/아티클 분석으로 행 추가",
"type": "n8n-nodes-base.googleSheets",
"position": [
2768,
400
],
"parameters": {
"columns": {
"value": {
"Tags": "={{ JSON.stringify($json.output.old_tags) }}",
"FileName": "={{ $('Get post/article file').item.json.path }}",
"Categories": "={{ JSON.stringify($json.output.old_categories) }}",
"Proposed Tags": "={{ JSON.stringify($json.output.tags) }}",
"Proposed Categories": "={{ JSON.stringify($json.output.categories) }}"
},
"schema": [
{
"id": "FileName",
"type": "string",
"display": true,
"required": false,
"displayName": "FileName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Categories",
"type": "string",
"display": true,
"required": false,
"displayName": "Categories",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Proposed Categories",
"type": "string",
"display": true,
"required": false,
"displayName": "Proposed Categories",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Tags",
"type": "string",
"display": true,
"required": false,
"displayName": "Tags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Proposed Tags",
"type": "string",
"display": true,
"required": false,
"displayName": "Proposed Tags",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo/edit?usp=drivesdk",
"cachedResultName": "[AstroPosts]"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "sgj6aGeryqEVmS3h",
"name": "GSheets - Piotr.Sikora.Ck@gmail.com"
}
},
"typeVersion": 4.7
},
{
"id": "2476998a-9a1b-4d40-b9d1-32f6f68d5d02",
"name": "스티키 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2624,
112
],
"parameters": {
"color": 4,
"width": 368,
"height": 464,
"content": "## Save propositions to Google SHeet file\n\nPrepare Google Sheet to contain following columns:\n- FileName\n- Categories\n- Proposed Categories\n- Tags\n- Proposed Tags"
},
"typeVersion": 1
},
{
"id": "b8e31673-da84-4368-9f88-7a9cc2980e43",
"name": "게시물/아티클 파일 가져오기",
"type": "n8n-nodes-base.github",
"position": [
1504,
-352
],
"webhookId": "682a79e6-7c61-452d-8170-6f83196743a8",
"parameters": {
"owner": {
"__rl": true,
"mode": "list",
"value": "pjsikora",
"cachedResultUrl": "https://github.com/pjsikora",
"cachedResultName": "pjsikora"
},
"filePath": "={{ $json.path }}",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "list",
"value": "piotr-sikora.com",
"cachedResultUrl": "https://github.com/pjsikora/piotr-sikora.com",
"cachedResultName": "piotr-sikora.com"
},
"additionalParameters": {}
},
"credentials": {
"githubApi": {
"id": "Qjzxc6aMdLBzUGJB",
"name": "GitHub account"
}
},
"typeVersion": 1.1
},
{
"id": "980668bc-d2d2-4452-8f89-b16bec365c91",
"name": "시트에서 행 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-512,
-512
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo/edit?usp=drivesdk",
"cachedResultName": "[AstroPosts]"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "sgj6aGeryqEVmS3h",
"name": "GSheets - Piotr.Sikora.Ck@gmail.com"
}
},
"typeVersion": 4.7
},
{
"id": "00c43343-2e97-43fb-96d7-a1df7492516e",
"name": "파일명만 나열 / 중복 제거",
"type": "n8n-nodes-base.code",
"position": [
-240,
-512
],
"parameters": {
"jsCode": "const filteredList = $input.all().map(item => {\n return {\n json: {\n path: item.json.FileName\n }\n };\n});\n\n\nconst seen = new Set();\nconst unique = [];\n\nfor (const item of filteredList) {\n const name = item.json.path;\n if (!seen.has(name)) {\n seen.add(name);\n unique.push(item);\n }\n}\n\nreturn unique;"
},
"typeVersion": 2
},
{
"id": "2f1096f5-0280-4a3b-9a6f-3247bdd1ea44",
"name": "GitHub 저장소에서 파일 경로만 가져오기",
"type": "n8n-nodes-base.aggregate",
"position": [
48,
512
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "githubPaths",
"fieldToAggregate": "path"
}
]
}
},
"typeVersion": 1
},
{
"id": "31799c27-6a3b-4220-bceb-e7dcf6277f5f",
"name": "GoogleSheets에서 파일 경로만 가져오기",
"type": "n8n-nodes-base.aggregate",
"position": [
32,
-512
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "googlesheetsPaths",
"fieldToAggregate": "path"
}
]
}
},
"typeVersion": 1
},
{
"id": "3aba4eab-3305-4f86-9976-ef33d5a7c96e",
"name": "AI 처리를 위한 새 저장소 파일 확인",
"type": "n8n-nodes-base.code",
"position": [
800,
-448
],
"parameters": {
"jsCode": "const allItems = $input.all();\n\n// Extract arrays \nconst googlePaths = allItems.find(i => i.json.googlesheetsPaths)?.json.googlesheetsPaths || [];\nconst githubPaths = allItems.find(i => i.json.githubPaths)?.json.githubPaths || [];\n\n// Compute difference: elements in githubPaths not in googlesheetsPaths\nconst difference = githubPaths.filter(path => !googlePaths.includes(path));\n\n// Return as n8n item array\nreturn difference.map(path => ({ json: { path } }));"
},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "1b542ec1-b963-4064-89fb-40a2a846c5f6",
"name": "스위치",
"type": "n8n-nodes-base.switch",
"position": [
1008,
-448
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Empty JSON",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7a2c39ae-c079-4e60-ac98-163b1b148244",
"operator": {
"type": "object",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "Not empty JSON",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "90067dec-6a4b-4a26-8703-61d4fd44ed7a",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.3
},
{
"id": "8e129b23-d5a7-4630-ab8a-e780373657db",
"name": "폼 제출 시",
"type": "n8n-nodes-base.formTrigger",
"position": [
-832,
-512
],
"webhookId": "67880b06-ee61-4732-9324-3440d25c9f95",
"parameters": {
"options": {},
"formTitle": "Start process ",
"formDescription": "Start process of adding tags and categories"
},
"typeVersion": 2.3
},
{
"id": "47908ded-1702-483c-9ab9-f60a1ba3c82f",
"name": "GitHub에 새 게시물/아티클 없음",
"type": "n8n-nodes-base.form",
"position": [
1488,
-848
],
"webhookId": "bee21cb0-92f3-45a1-b680-d9fc37b4f9d8",
"parameters": {
"options": {},
"operation": "completion",
"completionTitle": "List is empty",
"completionMessage": "List of articles is empty (there is no new articles/pages in repository)"
},
"typeVersion": 2.3
},
{
"id": "a1410a1b-0ce6-490e-912b-3c14107b13bb",
"name": "처리 완료 - 카테고리 및 태그 추가됨",
"type": "n8n-nodes-base.form",
"position": [
2176,
-560
],
"webhookId": "bee21cb0-92f3-45a1-b680-d9fc37b4f9d8",
"parameters": {
"options": {},
"operation": "completion",
"completionTitle": "Proces finished",
"completionMessage": "Categories and tags added"
},
"typeVersion": 2.3
},
{
"id": "ec135e1d-ba4d-4069-8da0-a1d663ad839c",
"name": "GitHub 및 Google Sheets 읽기 병합",
"type": "n8n-nodes-base.merge",
"position": [
560,
-448
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "ba6b4acc-e548-4df7-9559-bf3ba9b087b6",
"name": "구조화된 출력 파서",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2416,
288
],
"parameters": {
"jsonSchemaExample": "{\n \"old_categories\": [\"category1\"],\n \"categories\": [\"category1\",\"category2\"],\n \"old_tags\": [\"tag1\",\"tag2\"],\n \"tags\": [\"tag1\",\"tag2\",\"tag3\",\"tag4\"]\n}"
},
"typeVersion": 1.3
},
{
"id": "a637ee7d-af38-420d-8717-e82dbafb3edb",
"name": "스티키 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
-960
],
"parameters": {
"color": 4,
"width": 256,
"height": 608,
"content": "## Get list of posts from Google Sheets\n\nThis step prevents repeating usage of AI Agent for previously analysed posts/pages.\n\nPrepare Google Sheet to contain following columns:\n- FileName\n- Categories\n- Proposed Categories\n- Tags\n- Proposed Tags"
},
"typeVersion": 1
},
{
"id": "3fa92146-9b0d-45a9-be49-9cf6be9d66ec",
"name": "스티키 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
-960
],
"parameters": {
"color": 7,
"width": 256,
"height": 608,
"content": "## List FileNames only and Remove duplicates\n\nThis function filters out duplicate items from a list of Google Sheet objects based on the value of each item’s `FileName` property"
},
"typeVersion": 1
},
{
"id": "1653cada-fdf6-418e-aab6-bb715d25ebf1",
"name": "스티키 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
-960
],
"parameters": {
"color": 7,
"width": 320,
"height": 608,
"content": "## Conver JSON to Array\n\nConvert from:\n```\n{\n\"path\": \"src1\"\n},\n{\n\"path\": \"src2\"\n},\n```\nTo\n```\n{\n\"googlesheetsPaths\": \n[\n\"src1\", \n\"src2\"\n]\n}\n```"
},
"typeVersion": 1
},
{
"id": "45a2544a-424d-466c-9fa4-afa25ea1f08c",
"name": "스티키 노트6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1424,
-1008
],
"parameters": {
"height": 352,
"content": "## No new files in GitHub repository\n"
},
"typeVersion": 1
},
{
"id": "8b7ed568-b0fb-4589-9d5d-cf10699794d1",
"name": "스티키 노트7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
208
],
"parameters": {
"color": 7,
"width": 320,
"height": 480,
"content": "## Conver JSON to Array\n\nConvert complex JSON to Array\n```\n{\n\"githubPaths\": \n[\n\"src1\", \n\"src2\"\n]\n}\n```"
},
"typeVersion": 1
},
{
"id": "c39a9ece-2d68-47c0-b4e5-82e6acb0eb1e",
"name": "스티키 노트8",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-608
],
"parameters": {
"color": 7,
"width": 256,
"height": 320,
"content": "## Compare list from Google Sheets with list from Github\n"
},
"typeVersion": 1
},
{
"id": "97c232f0-6358-442d-a8c1-8234e7afff4d",
"name": "스티키 노트9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2080,
-288
],
"parameters": {
"color": 7,
"width": 480,
"height": 736,
"content": "## AI Agent\n\nRole of **AI Agent** is to:\n- Analyse content of the file (post/page)\n- Assign categories and tags per analysed file\n- Return JSON in format by `Structured output` like below:\n\n```\n{\n \"old_categories\": [\"category1\"],\n \"categories\": [\"category1\",\"category2\"],\n \"old_tags\": [\"tag1\",\"tag2\"],\n \"tags\": [\"tag1\",\"tag2\",\"tag3\",\"tag4\"]\n}\n```"
},
"typeVersion": 1
},
{
"id": "935037f1-860d-42a3-b898-fccbd545c145",
"name": "게시물/페이지 반복 처리",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1776,
-352
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "779d1b8f-1523-4c49-bdcc-6f4ed34ca301",
"name": "스티키 노트10",
"type": "n8n-nodes-base.stickyNote",
"position": [
2096,
-736
],
"parameters": {
"height": 352,
"content": "## No new files in GitHub repository\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e501f3f5-a580-4fdb-94cb-62bb5de8d0dc",
"connections": {
"1b542ec1-b963-4064-89fb-40a2a846c5f6": {
"main": [
[
{
"node": "47908ded-1702-483c-9ab9-f60a1ba3c82f",
"type": "main",
"index": 0
}
],
[
{
"node": "b8e31673-da84-4368-9f88-7a9cc2980e43",
"type": "main",
"index": 0
}
]
]
},
"48cac2b7-14b3-4d02-8db7-082c9a8a5cec": {
"main": [
[
{
"node": "9985d456-e5ec-4546-9020-ce0a0f9eb57c",
"type": "main",
"index": 0
}
]
]
},
"1844db4c-6da3-47cb-be7a-2aad32126178": {
"ai_memory": [
[
{
"node": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
"type": "ai_memory",
"index": 0
}
]
]
},
"5467bd31-25c6-4133-ba33-a6c66c332881": {
"ai_languageModel": [
[
{
"node": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"8e129b23-d5a7-4630-ab8a-e780373657db": {
"main": [
[
{
"node": "980668bc-d2d2-4452-8f89-b16bec365c91",
"type": "main",
"index": 0
},
{
"node": "d462260a-ba85-4e3b-9ddf-f3e0d37ea249",
"type": "main",
"index": 0
}
]
]
},
"980668bc-d2d2-4452-8f89-b16bec365c91": {
"main": [
[
{
"node": "00c43343-2e97-43fb-96d7-a1df7492516e",
"type": "main",
"index": 0
}
]
]
},
"b8e31673-da84-4368-9f88-7a9cc2980e43": {
"main": [
[
{
"node": "935037f1-860d-42a3-b898-fccbd545c145",
"type": "main",
"index": 0
}
]
]
},
"935037f1-860d-42a3-b898-fccbd545c145": {
"main": [
[
{
"node": "a1410a1b-0ce6-490e-912b-3c14107b13bb",
"type": "main",
"index": 0
}
],
[
{
"node": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
"type": "main",
"index": 0
}
]
]
},
"ba6b4acc-e548-4df7-9559-bf3ba9b087b6": {
"ai_outputParser": [
[
{
"node": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"d462260a-ba85-4e3b-9ddf-f3e0d37ea249": {
"main": [
[
{
"node": "2f1096f5-0280-4a3b-9a6f-3247bdd1ea44",
"type": "main",
"index": 0
}
]
]
},
"ec135e1d-ba4d-4069-8da0-a1d663ad839c": {
"main": [
[
{
"node": "3aba4eab-3305-4f86-9976-ef33d5a7c96e",
"type": "main",
"index": 0
}
]
]
},
"3aba4eab-3305-4f86-9976-ef33d5a7c96e": {
"main": [
[
{
"node": "1b542ec1-b963-4064-89fb-40a2a846c5f6",
"type": "main",
"index": 0
}
]
]
},
"31799c27-6a3b-4220-bceb-e7dcf6277f5f": {
"main": [
[
{
"node": "ec135e1d-ba4d-4069-8da0-a1d663ad839c",
"type": "main",
"index": 0
}
]
]
},
"00c43343-2e97-43fb-96d7-a1df7492516e": {
"main": [
[
{
"node": "31799c27-6a3b-4220-bceb-e7dcf6277f5f",
"type": "main",
"index": 0
}
]
]
},
"9985d456-e5ec-4546-9020-ce0a0f9eb57c": {
"main": [
[
{
"node": "935037f1-860d-42a3-b898-fccbd545c145",
"type": "main",
"index": 0
}
]
]
},
"2f1096f5-0280-4a3b-9a6f-3247bdd1ea44": {
"main": [
[
{
"node": "ec135e1d-ba4d-4069-8da0-a1d663ad839c",
"type": "main",
"index": 1
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 콘텐츠 제작, AI 요약
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
WordPress 블로그 자동화 프로페셔널 에디션(심층 연구) v2.1 마켓
GPT-4o, Perplexity AI 및 다국어 지원을 사용한 SEO 최적화 블로그 생성 자동화
If
Set
Xml
+
If
Set
Xml
125 노드Daniel Ng
콘텐츠 제작
OpenAI, ElevenLabs 및 Fal.ai를 사용한 비디오, 팟캐스트 및 ASMR용 바이럴 콘텐츠 제작 자동화
OpenAI, ElevenLabs 및 Fal.ai를 사용한 비디오, 팟캐스트 및 ASMR용 바이럴 콘텐츠 제작 자동화
Set
Code
Wait
+
Set
Code
Wait
97 노드Adam Crafts
콘텐츠 제작
Bright Data MCP와 AIAgents를 사용하여 소셜 미디어 자료 검색 및 분석
AI를 사용하여 360도 소셜 미디어 보고서 - Bright Data MCP 생성
Set
Code
Form
+
Set
Code
Form
50 노드Romuald Członkowski
리드 생성
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
💥 NanoBanana, Seedream 4, ChatGPT Image 및 Veo 3를 사용한 동영상 광고 자동화 - VIDE
AI(NanoBanana, Seedream, GPT-4o, Veo 3)를 사용하여 비디오 광고 캠페인 자동화 및 게시
Set
Code
Wait
+
Set
Code
Wait
63 노드Dr. Firas
콘텐츠 제작
批量 SEO 콘텐츠 생성 및 AI 이미지 포함 Webflow 드래그 앤 드롭 생성 (템플릿)
GPT, Gemini 이미지, Webflow 드라フト를 사용하여 대량 SEO 콘텐츠 생성
If
Set
Code
+
If
Set
Code
54 노드Dahiana
콘텐츠 제작