Bright Data의 SERP 데이터 AI 분석을 사용하여 데이터 중심의 SEO 콘텐츠 브리핑 생성
고급
이것은AI Summarization, Multimodal AI분야의자동화 워크플로우로, 27개의 노드를 포함합니다.주로 Set, Code, Limit, Merge, Aggregate 등의 노드를 사용하며. Bright Data의 SERP 데이터 AI 분석을 사용하여 데이터 주도형 SEO 내용 요약을 생성하세요
사전 요구사항
- •특별한 사전 요구사항 없이 가져와 바로 사용 가능합니다
사용된 노드 (27)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "4a11afdb3c52fd098e3eae9fad4b39fdf1bbcde142f596adda46c795e366b326",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "ab8957e5-c78b-4fd7-b4f7-d4958449c8a2",
"name": "채팅 메시지 수신 시",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-576,
32
],
"webhookId": "858ae4fe-d2b9-43e4-bfc7-8ca6ef9f6cde",
"parameters": {
"public": true,
"options": {
"title": "SEO Content Strategist",
"subtitle": "Generate a strategic content brief based on SERP analysis.",
"responseMode": "responseNodes",
"inputPlaceholder": "Enter your target keyword...",
"loadPreviousSession": "memory"
},
"initialMessages": "Welcome.\nI am your AI Content Strategist. Provide a target keyword, and I will analyze the top 10 search results to generate a detailed content plan designed to outrank the competition."
},
"typeVersion": 1.3
},
{
"id": "d41436d3-0b50-456f-aa04-53dd2ea58460",
"name": "URL 추출",
"type": "n8n-nodes-base.code",
"position": [
256,
32
],
"parameters": {
"jsCode": "// Extract each result from the 'organic' array of each input item\n// and transform it into a new individual n8n item.\nreturn items.flatMap((item, index) => {\n // Use optional chaining (?.) to safely access 'organic'.\n const organicResults = item.json?.organic;\n\n // Check if 'organicResults' is an array before proceeding.\n if (!Array.isArray(organicResults)) {\n return []; // Return an empty array if 'organic' does not exist or is not an array.\n }\n \n // For each result in 'organic', create a new n8n item.\n return organicResults.map(result => ({\n json: result,\n // Link this output item to the original input item for traceability.\n pairedItem: {\n item: index\n }\n }));\n});"
},
"typeVersion": 2
},
{
"id": "181ecd07-25a0-4e9a-b35d-87c80c0182ea",
"name": "Google SERP",
"type": "@brightdata/n8n-nodes-brightdata.brightData",
"position": [
32,
32
],
"parameters": {
"url": "=https://www.google.com/search?q={{ encodeURIComponent($json.chatInput) }}&num=10&brd_json=1",
"zone": {
"__rl": true,
"mode": "list",
"value": "serp_api1",
"cachedResultName": "serp_api1"
},
"country": {
"__rl": true,
"mode": "list",
"value": "us"
},
"requestOptions": {}
},
"credentials": {
"brightdataApi": {
"id": "i897C8Zq5VcQXQU9",
"name": "BrightData Inforeole"
}
},
"typeVersion": 1
},
{
"id": "b66a2603-0db5-43c7-a57b-6ae2f8e1b17e",
"name": "항목 반복 처리",
"type": "n8n-nodes-base.splitInBatches",
"position": [
912,
32
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "bed27461-483e-4d4b-9fe0-a668ccb18259",
"name": "제한",
"type": "n8n-nodes-base.limit",
"disabled": true,
"position": [
688,
32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e9880005-8d30-4a46-a3d5-90c442c8b942",
"name": "집계",
"type": "n8n-nodes-base.aggregate",
"position": [
1152,
-480
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "b13a5f96-aa70-4415-85aa-58ad02cd21ba",
"name": "OpenRouter 채팅 모델1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
2112,
-272
],
"parameters": {
"model": "openai/gpt-5-nano",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "KElXI3DlHnhrYSjM",
"name": "OpenRouter PrestaM"
}
},
"typeVersion": 1
},
{
"id": "d73b8962-d7e3-4eaa-9154-d71b116f2d23",
"name": "채팅 응답",
"type": "@n8n/n8n-nodes-langchain.chat",
"position": [
464,
32
],
"parameters": {
"message": "Starting content extraction from top-ranking pages.",
"options": {
"memoryConnection": false
},
"waitUserReply": false
},
"typeVersion": 1
},
{
"id": "2a5b0dac-6c8f-4b78-8721-32f5df9a75e8",
"name": "채팅 응답1",
"type": "@n8n/n8n-nodes-langchain.chat",
"position": [
-192,
32
],
"parameters": {
"message": "=Processing: Analyzing top 10 Google results for \"{{ $json.chatInput }}\". ",
"options": {},
"waitUserReply": false
},
"typeVersion": 1
},
{
"id": "7e8b299d-34c7-4c22-ab0f-f8128c45e10c",
"name": "채팅 응답2",
"type": "@n8n/n8n-nodes-langchain.chat",
"position": [
2544,
480
],
"parameters": {
"message": "=Scraped {{ $json.url }}",
"options": {},
"waitUserReply": false
},
"typeVersion": 1
},
{
"id": "772b40b4-6cc8-469c-83fa-0a05551bea78",
"name": "채팅 응답3",
"type": "@n8n/n8n-nodes-langchain.chat",
"position": [
1360,
-544
],
"parameters": {
"message": "All data collected. Synthesizing insights and generating your strategic content plan. ",
"options": {},
"waitUserReply": false
},
"typeVersion": 1
},
{
"id": "0416ad60-aa54-4aff-b9c8-c59aaae1e9ad",
"name": "채팅 응답4",
"type": "@n8n/n8n-nodes-langchain.chat",
"position": [
2432,
-592
],
"parameters": {
"message": "={{ $json.text }}",
"options": {},
"waitUserReply": false
},
"typeVersion": 1
},
{
"id": "cd673b53-9f62-4fa4-9cfc-e627b2e35b93",
"name": "OpenRouter 채팅 모델2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
1456,
-368
],
"parameters": {
"model": "openai/gpt-4o",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "KElXI3DlHnhrYSjM",
"name": "OpenRouter PrestaM"
}
},
"typeVersion": 1
},
{
"id": "fb4c0751-9093-4527-b605-4586d2eaa158",
"name": "채팅 응답5",
"type": "@n8n/n8n-nodes-langchain.chat",
"position": [
1872,
-400
],
"parameters": {
"message": "={{ $json.text }}",
"options": {},
"waitUserReply": false
},
"typeVersion": 1
},
{
"id": "85795099-7b23-478a-8ec1-9a971a583519",
"name": "특정 URL 데이터 접근 및 추출",
"type": "@brightdata/n8n-nodes-brightdata.brightData",
"position": [
1200,
192
],
"parameters": {
"url": "={{ $json.link }}",
"zone": {
"__rl": true,
"mode": "list",
"value": "web_unlocker1",
"cachedResultName": "web_unlocker1"
},
"country": {
"__rl": true,
"mode": "list",
"value": "us"
},
"requestOptions": {}
},
"credentials": {
"brightdataApi": {
"id": "i897C8Zq5VcQXQU9",
"name": "BrightData Inforeole"
}
},
"retryOnFail": true,
"typeVersion": 1
},
{
"id": "3725cd69-396b-477d-9850-eaee8478ded2",
"name": "OpenRouter 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
1728,
448
],
"parameters": {
"model": "openai/gpt-5-nano",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "KElXI3DlHnhrYSjM",
"name": "OpenRouter PrestaM"
}
},
"typeVersion": 1
},
{
"id": "05d95321-57a7-46ef-bdf2-63fc38eaa0bc",
"name": "구조화 출력 파서",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1904,
464
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"summary\": \"This is a summary of the analyzed content.\"\n}"
},
"typeVersion": 1.3
},
{
"id": "f1c56a78-8157-4be9-acd8-8004e4815cd4",
"name": "사이트 분석",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1744,
256
],
"parameters": {
"text": "={{ $json.cleanedHtml }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "You are an SEO expert:|Output in JSON without any comments** summary: summarize this page."
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "e73d1f30-9b67-4f5f-8b60-555d21adf79f",
"name": "HTML 추출1",
"type": "n8n-nodes-base.code",
"position": [
1792,
96
],
"parameters": {
"jsCode": "// Extracts title, description, headings, and counts words from the HTML content.\n// Reads from the 'cleanedHtml' property provided by the previous node.\n\nconst results = [];\nfor (let i = 0; i < items.length; i++) {\n const html = items[i].json.cleanedHtml;\n\n if (typeof html !== 'string') {\n results.push({\n json: {\n error: \"The 'cleanedHtml' field is missing or invalid.\"\n },\n pairedItem: i\n });\n continue;\n }\n\n // Existing extractions\n const titleMatch = html.match(/<title>(.*?)<\\/title>/i);\n const title = titleMatch ? titleMatch[1].trim() : null;\n\n const descriptionMatch = html.match(/<meta\\s+name=\"description\"\\s+content=\"(.*?)\"/i);\n const description = descriptionMatch ? descriptionMatch[1].trim() : null;\n\n const headingRegex = /<h([1-6])[^>]*>(.*?)<\\/h\\1>/gi;\n const headings = Array.from(html.matchAll(headingRegex)).map(match => ({\n level: parseInt(match[1], 10),\n text: match[2].trim()\n }));\n\n // Addition: Word count\n // Remove all HTML tags to keep only the text.\n const textContent = html.replace(/<[^>]*>/g, ' ');\n // Replace multiple spaces with a single one, trim leading/trailing spaces, then split by space.\n const words = textContent.replace(/\\s+/g, ' ').trim().split(' ');\n // Filter out empty elements that might result from the split.\n const wordCount = words.filter(word => word.length > 0).length;\n\n results.push({\n json: {\n title,\n description,\n headings,\n wordCount // Add the word count result\n },\n pairedItem: i\n });\n}\n\nreturn results;"
},
"typeVersion": 2
},
{
"id": "b36a1655-500e-45ff-8c66-6e3918d3bf91",
"name": "HTML 정제",
"type": "n8n-nodes-base.code",
"position": [
1408,
192
],
"parameters": {
"jsCode": "// Applies a series of regex cleaning rules to HTML content,\n// including the removal of <svg>, <nav>, <ul>, and <li> tags.\nconst cleaningRules = [\n { regex: /<script\\b[^>]*>[\\s\\S]*?<\\/script>/gi, replacement: '' },\n { regex: /<style\\b[^>]*>[\\s\\S]*?<\\/style>/gi, replacement: '' },\n { regex: /<svg\\b[^>]*>[\\s\\S]*?<\\/svg>/gi, replacement: '' },\n { regex: /<nav\\b[^>]*>[\\s\\S]*?<\\/nav>/gi, replacement: '' },\n // Removes <ul> and <li> tags but keeps their text content.\n { regex: /<\\/?(ul|li)[^>]*>/gi, replacement: '' },\n { regex: /\\s+(class|id|style|for|tabindex|aria-[\\w-]+|data-[\\w-]+)\\s*=\\s*(?:'[^']*'|\"[^\"]*\")/gi, replacement: '' },\n { regex: />\\s+</g, replacement: '><' },\n { regex: /(\\r\\n|\\n|\\r){2,}/g, replacement: '\\n' },\n { regex: /[ \\t]{2,}/g, replacement: ' ' }\n];\n\nreturn items.map((item, i) => {\n // Looks for HTML content in item.json.data or directly in item.json.\n const htmlContent = String(item.json.data || item.json || '');\n\n if (typeof htmlContent !== 'string' || htmlContent.length === 0) {\n return {\n json: { \"cleanedHtml\": \"\" },\n pairedItem: i\n };\n }\n\n // Sequentially applies each cleaning rule to the HTML content.\n const cleanedHtml = cleaningRules.reduce(\n (currentHtml, rule) => currentHtml.replace(rule.regex, rule.replacement),\n htmlContent\n ).trim();\n\n // Returns the structured data object for n8n.\n return {\n json: {\n \"cleanedHtml\": cleanedHtml\n },\n pairedItem: i // Links this output item to its corresponding input item.\n };\n});"
},
"typeVersion": 2
},
{
"id": "cd6100c1-65ec-4772-9619-784b307b6c9f",
"name": "URL",
"type": "n8n-nodes-base.set",
"position": [
1776,
-80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "19fbb0af-21ad-42bd-9f27-5504ae101a21",
"name": "url",
"type": "string",
"value": "={{ $json.link }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "687c6627-7259-4f12-a523-8ae065d4e1c7",
"name": "병합1",
"type": "n8n-nodes-base.merge",
"position": [
2240,
48
],
"parameters": {
"numberInputs": 3
},
"typeVersion": 3.2
},
{
"id": "0bf5c3d4-552a-445a-a624-d00fe0879c23",
"name": "구조화 출력 파서1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1712,
-352
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"search_intent\": {\n \"primary_intent\": \"A single word describing the intent: Informational, Commercial, Navigational, or Transactional.\",\n \"description\": \"A brief explanation of what the user is trying to find or accomplish based on the SERP analysis.\"\n },\n \"global_intent\": \"A high-level statement about the new article's strategic goal. Example: 'To create the definitive guide on [Main Topic], addressing key user questions from beginner to advanced levels.'\",\n \"must_cover_topics\": [\n {\n \"title\": \"The title of a core topic that must be included.\",\n \"reasoning\": \"A brief explanation of why this topic is essential, referencing its prevalence in the SERP data.\"\n }\n ],\n \"differentiation_suggestions\": [\n {\n \"suggestion\": \"A specific, actionable suggestion for content that will differentiate the article.\",\n \"reasoning\": \"Explain why this suggestion addresses a content gap or provides unique value compared to the current top results.\"\n }\n ],\n \"suggested_h2_outline\": [\n {\n \"h2_title\": \"What is [Main Keyword]?\",\n \"description\": \"Define the main keyword and explain its core concepts. This section should address the fundamental 'what is' question for beginners.\"\n },\n {\n \"h2_title\": \"Why is [Related Concept] Important?\",\n \"description\": \"Explain the significance or benefits of a core concept related to the main keyword, establishing its value for the reader.\"\n },\n {\n \"h2_title\": \"How to Get Started with [Main Keyword]\",\n \"description\": \"Provide a step-by-step guide or a list of initial actions a user should take. This addresses the practical application of the topic.\"\n },\n {\n \"h2_title\": \"Comparing [Option A] vs. [Option B]\",\n \"description\": \"Present a comparison of common methods, tools, or options related to the main keyword. This helps users make informed decisions.\"\n }\n ]\n}"
},
"typeVersion": 1.3
},
{
"id": "5d12238d-0f79-4015-8c10-464c6a751f42",
"name": "분석",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"onError": "continueErrorOutput",
"position": [
1568,
-560
],
"parameters": {
"text": "=target keyword : {{ $('When chat message received').item.json.chatInput }}\n\nserp synthesis:\n{{ $items(\"Google SERP\").map(item => JSON.stringify(item.json, null, 2)).join('\\n\\n---\\n\\n') }}\n\ntop 10 pages extract:\n{{ $items(\"Aggregate\").map(item => JSON.stringify(item.json, null, 2)).join('\\n\\n---\\n\\n') }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=You are a world-class SEO Content Strategist and data analyst.\nYou have been provided with a JSON object containing scraped data (titles, meta descriptions, summaries, headings) from the top Google results for a given keyword.\n\nYour mission is to synthesize this raw data into a strategic insight document. You must analyze the data as a whole to find patterns, core topics, and competitive gaps, and then structure these findings into a logical article outline.\n\n### YOUR TASK\nBased on the raw data provided above, generate a structured insight report. Follow these analytical steps:\n1. **Analyze Search Intent**: From the titles and summaries, determine the primary user intent (e.g., informational, commercial, navigational, transactional) and describe what the user wants to accomplish.\n2. **Define Global Intent**: Based on the analysis, formulate a high-level strategic goal for a new piece of content on this topic.\n3. **Identify Core Topics**: Find the recurring high-value topics, entities, and questions that are common across most top-ranking articles. These are the \"must-have\" subjects to cover.\n4. **Detect Differentiation Opportunities**: Identify questions or subtopics that are poorly covered, only mentioned by one or two articles, or are completely missed. These are the opportunities to add unique value and stand out.\n5. **Propose an H2 Outline**: Consolidate the core topics and differentiation opportunities into a logical sequence of H2 headings for the article.\n\n### OUTPUT FORMAT\nYour output MUST be a single, valid JSON object and nothing else. Do not add any commentary or explanations. The JSON object must adhere strictly to the following structure:\n\n{\n \"search_intent\": {\n \"primary_intent\": \"A single word describing the intent: Informational, Commercial, Navigational, or Transactional.\",\n \"description\": \"A brief explanation of what the user is trying to find or accomplish based on the SERP analysis.\"\n },\n \"global_intent\": \"A high-level statement about the new article's strategic goal. Example: 'To create the definitive guide on [Main Topic], addressing key user questions from beginner to advanced levels.'\",\n \"must_cover_topics\": [\n {\n \"title\": \"The title of a core topic that must be included.\",\n \"reasoning\": \"A brief explanation of why this topic is essential, referencing its prevalence in the SERP data.\"\n }\n ],\n \"differentiation_suggestions\": [\n {\n \"suggestion\": \"A specific, actionable suggestion for content that will differentiate the article.\",\n \"reasoning\": \"Explain why this suggestion addresses a content gap or provides unique value compared to the current top results.\"\n }\n ],\n \"suggested_h2_outline\": [\n {\n \"h2_title\": \"What is [Main Keyword]?\",\n \"description\": \"Define the main keyword and explain its core concepts. This section should address the fundamental 'what is' question for beginners.\"\n },\n {\n \"h2_title\": \"Why is [Related Concept] Important?\",\n \"description\": \"Explain the significance or benefits of a core concept related to the main keyword, establishing its value for the reader.\"\n },\n {\n \"h2_title\": \"How to Get Started with [Main Keyword]\",\n \"description\": \"Provide a step-by-step guide or a list of initial actions a user should take. This addresses the practical application of the topic.\"\n },\n {\n \"h2_title\": \"Comparing [Option A] vs. [Option B]\",\n \"description\": \"Present a comparison of common methods, tools, or options related to the main keyword. This helps users make informed decisions.\"\n }\n ]\n}"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "8ab5bac7-64e4-405a-b44c-2489c6edba54",
"name": "출력 형식 지정",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"onError": "continueErrorOutput",
"position": [
2048,
-592
],
"parameters": {
"text": "=targeted Keyword: {{ $('When chat message received').item.json.chatInput }}\n\nAnalysis:\n{{ $items(\"Analysis\").map(item => JSON.stringify(item.json, null, 2)).join('\\n\\n---\\n\\n') }}\n{{$json}}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=Your objective is to analyze the provided JSON data and generate a structured summary in English, formatted using Markdown.\n\nStrictly adhere to the following structure and formatting rules for the output:\n\nMain Title: Start with a level 1 Markdown heading: # Content Strategy Analysis\n\nSearch Intent Section:\n\nCreate a level 2 heading: ## Search Intent\n\nBelow it, create an unordered list with the following items, extracted directly from the JSON:\n\nThe value of search_intent.primary_intent.\n\nThe value of search_intent.description.\n\nThe value of global_intent.\n\nMust-Cover Topics Section:\n\nCreate a level 2 heading: ## Must-Cover Topics\n\nBelow it, iterate through the must_cover_topics array. For each object in the array, create a list item formatted as: **[title]:** [reasoning]\n\nDifferentiation Suggestions Section:\n\nCreate a level 2 heading: ## Differentiation Suggestions\n\nBelow it, iterate through the differentiation_suggestions array. For each object in the array, create a list item formatted as: **[suggestion]:** [reasoning]\n\nSuggested Outline Section:\n\nCreate a level 2 heading: ## Suggested H2 Outline\n\nBelow it, iterate through the suggested_h2_outline array. For each object in the array, create a list item formatted as: **[h2_title]:** [description]\n\nDo not include any introductory or concluding phrases. The output must only contain the formatted analysis based on the JSON."
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "25288223-d6f6-469b-aa3c-55506628b184",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-512,
-400
],
"parameters": {
"width": 560,
"height": 352,
"content": "# SEO content Planner\n\n **Google SERP Analysis** \n The [n8n](https://n8n.partnerlinks.io/build) workflow retrieves the **top 10 Google search results** for a given keyword using Bright Data. \n 👉 Get your free Bright Data API key here: [https://get.brightdata.com/scrap](https://get.brightdata.com/scrap)\n\n **Content Extraction & Cleaning** \n It scrapes each result, cleans the HTML, and extracts structured data such as titles, meta descriptions, headings, and word count for analysis.\n\n **Strategic Content Plan Generation** \n AI models analyze the scraped data to determine search intent, identify essential topics, detect content gaps, and produce a strategic H2 outline for SEO content planning."
},
"typeVersion": 1
},
{
"id": "13d5d113-00cb-4cb9-8022-62c3629fd599",
"name": "단순 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-576,
240
],
"parameters": {},
"typeVersion": 1.3
}
],
"pinData": {},
"connections": {
"cd6100c1-65ec-4772-9619-784b307b6c9f": {
"main": [
[
{
"node": "687c6627-7259-4f12-a523-8ae065d4e1c7",
"type": "main",
"index": 0
}
]
]
},
"bed27461-483e-4d4b-9fe0-a668ccb18259": {
"main": [
[
{
"node": "b66a2603-0db5-43c7-a57b-6ae2f8e1b17e",
"type": "main",
"index": 0
}
]
]
},
"687c6627-7259-4f12-a523-8ae065d4e1c7": {
"main": [
[
{
"node": "7e8b299d-34c7-4c22-ab0f-f8128c45e10c",
"type": "main",
"index": 0
}
]
]
},
"5d12238d-0f79-4015-8c10-464c6a751f42": {
"main": [
[
{
"node": "8ab5bac7-64e4-405a-b44c-2489c6edba54",
"type": "main",
"index": 0
}
],
[
{
"node": "fb4c0751-9093-4527-b605-4586d2eaa158",
"type": "main",
"index": 0
}
]
]
},
"e9880005-8d30-4a46-a3d5-90c442c8b942": {
"main": [
[
{
"node": "772b40b4-6cc8-469c-83fa-0a05551bea78",
"type": "main",
"index": 0
}
]
]
},
"b36a1655-500e-45ff-8c66-6e3918d3bf91": {
"main": [
[
{
"node": "f1c56a78-8157-4be9-acd8-8004e4815cd4",
"type": "main",
"index": 0
},
{
"node": "e73d1f30-9b67-4f5f-8b60-555d21adf79f",
"type": "main",
"index": 0
}
]
]
},
"181ecd07-25a0-4e9a-b35d-87c80c0182ea": {
"main": [
[
{
"node": "d41436d3-0b50-456f-aa04-53dd2ea58460",
"type": "main",
"index": 0
}
]
]
},
"d41436d3-0b50-456f-aa04-53dd2ea58460": {
"main": [
[
{
"node": "d73b8962-d7e3-4eaa-9154-d71b116f2d23",
"type": "main",
"index": 0
}
]
]
},
"f1c56a78-8157-4be9-acd8-8004e4815cd4": {
"main": [
[
{
"node": "687c6627-7259-4f12-a523-8ae065d4e1c7",
"type": "main",
"index": 2
}
]
]
},
"8ab5bac7-64e4-405a-b44c-2489c6edba54": {
"main": [
[
{
"node": "0416ad60-aa54-4aff-b9c8-c59aaae1e9ad",
"type": "main",
"index": 0
}
],
[
{
"node": "0416ad60-aa54-4aff-b9c8-c59aaae1e9ad",
"type": "main",
"index": 0
}
]
]
},
"13d5d113-00cb-4cb9-8022-62c3629fd599": {
"ai_memory": [
[
{
"node": "ab8957e5-c78b-4fd7-b4f7-d4958449c8a2",
"type": "ai_memory",
"index": 0
}
]
]
},
"e73d1f30-9b67-4f5f-8b60-555d21adf79f": {
"main": [
[
{
"node": "687c6627-7259-4f12-a523-8ae065d4e1c7",
"type": "main",
"index": 1
}
]
]
},
"b66a2603-0db5-43c7-a57b-6ae2f8e1b17e": {
"main": [
[
{
"node": "e9880005-8d30-4a46-a3d5-90c442c8b942",
"type": "main",
"index": 0
}
],
[
{
"node": "85795099-7b23-478a-8ec1-9a971a583519",
"type": "main",
"index": 0
},
{
"node": "cd6100c1-65ec-4772-9619-784b307b6c9f",
"type": "main",
"index": 0
}
]
]
},
"d73b8962-d7e3-4eaa-9154-d71b116f2d23": {
"main": [
[
{
"node": "bed27461-483e-4d4b-9fe0-a668ccb18259",
"type": "main",
"index": 0
}
]
]
},
"2a5b0dac-6c8f-4b78-8721-32f5df9a75e8": {
"main": [
[
{
"node": "181ecd07-25a0-4e9a-b35d-87c80c0182ea",
"type": "main",
"index": 0
}
]
]
},
"7e8b299d-34c7-4c22-ab0f-f8128c45e10c": {
"main": [
[
{
"node": "b66a2603-0db5-43c7-a57b-6ae2f8e1b17e",
"type": "main",
"index": 0
}
]
]
},
"772b40b4-6cc8-469c-83fa-0a05551bea78": {
"main": [
[
{
"node": "5d12238d-0f79-4015-8c10-464c6a751f42",
"type": "main",
"index": 0
}
]
]
},
"3725cd69-396b-477d-9850-eaee8478ded2": {
"ai_languageModel": [
[
{
"node": "f1c56a78-8157-4be9-acd8-8004e4815cd4",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"b13a5f96-aa70-4415-85aa-58ad02cd21ba": {
"ai_languageModel": [
[
{
"node": "8ab5bac7-64e4-405a-b44c-2489c6edba54",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"cd673b53-9f62-4fa4-9cfc-e627b2e35b93": {
"ai_languageModel": [
[
{
"node": "5d12238d-0f79-4015-8c10-464c6a751f42",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"05d95321-57a7-46ef-bdf2-63fc38eaa0bc": {
"ai_outputParser": [
[
{
"node": "f1c56a78-8157-4be9-acd8-8004e4815cd4",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"0bf5c3d4-552a-445a-a624-d00fe0879c23": {
"ai_outputParser": [
[
{
"node": "5d12238d-0f79-4015-8c10-464c6a751f42",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"ab8957e5-c78b-4fd7-b4f7-d4958449c8a2": {
"main": [
[
{
"node": "2a5b0dac-6c8f-4b78-8721-32f5df9a75e8",
"type": "main",
"index": 0
}
]
]
},
"85795099-7b23-478a-8ec1-9a971a583519": {
"main": [
[
{
"node": "b36a1655-500e-45ff-8c66-6e3918d3bf91",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - AI 요약, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Brightdata와 OpenRouter AI를 사용하여 웹사이트에서 B2B 잠재 고객 기회 생성
Brightdata와 OpenRouter AI를 사용하여 웹사이트에서 B2B 잠재 고객 기회 생성
Set
Code
Html
+
Set
Code
Html
17 노드phil
AI 요약
Twitter 데이터 스크래핑 - n8n Creator
사용Gemini 2.5 Pro자동생성Twitter情报摘要并推送로WhatsApp群组
Set
Code
Wait
+
Set
Code
Wait
39 노드Daniel Lianes
AI 요약
매일 WhatsApp 그룹 지능형 분석: GPT-4.1 분석 및 음성 메시지 변환
매일 WhatsApp 그룹 지능 분석: GPT-4.1 분석 및 음성 메시지 트랜스크립션
If
Set
Code
+
If
Set
Code
52 노드Daniel Lianes
기타
GPT-5와 fal.ai 이미지를 사용한 키워드에서 WordPress까지 자동화 SEO 블로그 프로세스
GPT-5 및 fal.ai 이미지를 사용한 키워드 to WordPress SEO 블로그 프로세스 자동화
Set
Code
Wait
+
Set
Code
Wait
96 노드Paul
콘텐츠 제작
Perplexity와 GPT를 사용하여 WordPress에 SEO 최적화 블로그 생성, 키워드와 미디어 포함
Perplexity와 GPT를 사용하여 WordPress에 SEO 최적화 블로그를 만들어 키워드와 미디어 포함
Set
Code
Limit
+
Set
Code
Limit
124 노드Paul
콘텐츠 제작
특정 도구를 사용하여 WordPress에 SEO 최적화 블로그 생성
특정 도구를 사용하여 WordPress에 SEO 최적화 블로그 생성
Set
Code
Limit
+
Set
Code
Limit
124 노드Paul
콘텐츠 제작
워크플로우 정보
난이도
고급
노드 수27
카테고리2
노드 유형14
저자
phil
@phile-com AI automation: 90% time saved on repetitive tasks: product sheets, after-sales chatbots, etc. 🚀 save time, win customers
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유