웹 데이터 기반 AI 차트 생성 및 WordPress 업로드
중급
이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 15개의 노드를 포함합니다.주로 Code, HttpRequest, ManualTrigger, Agent, OpenAi 등의 노드를 사용하며. 웹 데이터 기반 AI 기반 차트 생성, GPT-4o 사용 및 WordPress에 업로드
사전 요구사항
- •대상 API의 인증 정보가 필요할 수 있음
- •OpenAI API Key
사용된 노드 (15)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "52254486b159b349334953c1738da94e90477c7604aa8db2062d11afc0120739",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "502f1b86-95d7-49c1-9503-2a38e37ff9ba",
"name": "다른 워크플로우에 의해 실행 시",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
992,
-224
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "prompt"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "88196843-a411-4ef0-ba4e-df54fc8f924f",
"name": "QuickChart 객체 스키마",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1920,
-16
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"slug\": {\n \"type\": \"string\",\n \"description\": \"Proposed image filename or identifier (e.g., 'ev-sales-2024')\"\n },\n \"width\": {\n \"type\": \"string\",\n \"description\": \"Pixel width of the image canvas (e.g., '500')\"\n },\n \"height\": {\n \"type\": \"string\",\n \"description\": \"Pixel height of the image canvas (e.g., '300')\"\n },\n \"devicePixelRatio\": {\n \"type\": \"number\",\n \"description\": \"Device pixel ratio (e.g., 2)\"\n },\n \"format\": {\n \"type\": \"string\",\n \"enum\": [\"png\", \"jpeg\", \"webp\", \"svg\", \"pdf\"],\n \"description\": \"Output format of the image\"\n },\n \"backgroundColor\": {\n \"type\": \"string\",\n \"description\": \"Canvas background color in hex or named CSS color, make it white #FFFFFF by default\"\n },\n \"version\": {\n \"type\": \"string\",\n \"description\": \"Chart.js version (e.g., '3.9.1')\"\n },\n \"chart\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\"line\", \"bar\", \"doughnut\", \"pie\", \"polarArea\"]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"labels\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"minItems\": 1\n },\n \"datasets\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": { \"type\": \"string\" },\n \"data\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"number\" },\n \"minItems\": 1\n },\n \"backgroundColor\": {\n \"type\": [\"string\", \"array\"],\n \"items\": { \"type\": \"string\" }\n },\n \"borderColor\": {\n \"type\": [\"string\", \"array\"],\n \"items\": { \"type\": \"string\" }\n },\n \"fill\": { \"type\": [\"boolean\", \"string\"] },\n \"borderWidth\": { \"type\": \"number\" }\n },\n \"required\": [\"label\", \"data\"]\n },\n \"minItems\": 1\n }\n },\n \"required\": [\"labels\", \"datasets\"]\n },\n \"options\": {\n \"type\": \"object\",\n \"description\": \"Chart.js configuration options including title, plugins, scales, etc.\"\n }\n },\n \"required\": [\"type\", \"data\"]\n }\n },\n \"required\": [\"slug\", \"chart\"],\n \"default\": {\n \"format\": \"png\",\n \"backgroundColor\": \"white\"\n }\n}\n"
},
"typeVersion": 1.2
},
{
"id": "9a398d7a-0435-44d2-9cbb-e5156fbad68f",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1664,
-16
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - default project"
}
},
"typeVersion": 1.2
},
{
"id": "0afadfd3-348a-4df7-958b-c14eca32b316",
"name": "이미지 업로드2",
"type": "n8n-nodes-base.httpRequest",
"position": [
2272,
-224
],
"parameters": {
"url": "https://your.wordpress.com/wp-json/wp/v2/media",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "binaryData",
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Disposition",
"value": "=attachment; filename=\"chart-{{ $json.output.slug }}.png\""
}
]
},
"inputDataFieldName": "data",
"nodeCredentialType": "wordpressApi"
},
"credentials": {
"wordpressApi": {
"id": "G1G8jDdEoWAVytQb",
"name": "Wordpress - author@email.com"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 5000
},
{
"id": "bb57c519-8dff-4bf5-8db6-a1c17c9bfb78",
"name": "차트 생성 AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1664,
-224
],
"parameters": {
"text": "={{ $json.message.content }}",
"options": {
"systemMessage": "You are a Chart.js configuration agent. Your task is to transform a user-provided data table into a valid QuickChart JSON object compatible with line, bar, pie, doughnut, or polarArea charts.\n\nInstructions:\n1. Read and interpret the markdown table input provided by the data agent.\n2. Based on structure, choose the most appropriate chart type from:\n - \"line\", \"bar\" → for time series or value comparison\n - \"pie\", \"doughnut\", \"polarArea\" → for proportion-based data\n3. Construct a valid Chart.js object following QuickChart format.\n4. Always include:\n - `type`\n - `data.labels`\n - `data.datasets` (with `label`, `data`, `backgroundColor`)\n - `options.plugins.title.text` with a suitable chart title\n\nOutput only valid JSON matching the schema:\n- No code blocks\n- No markdown\n- No explanations"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "e6235b7c-6b11-4cba-bc0c-9e22db2e8220",
"name": "'워크플로우 실행' 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
992,
-32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9570f247-b9f1-49b2-b104-6adcbe32e450",
"name": "모델에 메시지 전송",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1248,
-224
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-search-preview",
"cachedResultName": "GPT-4O-SEARCH-PREVIEW"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "You are a data aggregation AI agent with access to real-time web search. Your goal is to collect relevant, structured, and up-to-date data from trusted sources based on the user's query.\n\nInstructions:\n1. Search the web for reliable, factual, and recent data related to the query.\n2. Extract the data into a clean, readable table format (markdown table).\n3. The table should contain categories (e.g. country, platform, year) as rows or columns depending on structure.\n4. Include source URLs for each data group, appended below the table.\n\nRules:\n- Do not interpret or visualize the data.\n- Do not generate charts.\n- Do not summarize or paraphrase data.\n- Return only the data table and source list in markdown format."
},
{
"content": "={{ $json.prompt }}"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - default project"
}
},
"typeVersion": 1.8
},
{
"id": "5002b0f9-036d-4416-b36a-818c699e0b71",
"name": "생각1",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
1792,
-16
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7612a971-459f-4106-8b0d-eda11b23f46a",
"name": "QuickChart 생성",
"type": "n8n-nodes-base.httpRequest",
"position": [
2032,
-224
],
"parameters": {
"url": "=https://quickchart.io/chart",
"method": "POST",
"options": {},
"jsonBody": "={{ $json.output }}",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
},
{
"id": "b654b232-2e12-4864-a829-752b77abc3c4",
"name": "코드",
"type": "n8n-nodes-base.code",
"position": [
2496,
-224
],
"parameters": {
"jsCode": "return {\n \"research\" : $('Message a model').first().json,\n \"graph_data\" : $('Generate Chart AI agent').first().json.output,\n \"graph_image\" : $('Upload image2').first().json,\n \"result_image_url\" : $('Upload image2').first().json.guid.raw\n}"
},
"typeVersion": 2
},
{
"id": "6e184446-0d1c-43fa-8bc0-862bca3b17a2",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
1216,
-320
],
"parameters": {
"color": 5,
"width": 336,
"height": 448,
"content": "## Search the web\nUsing Gpt 4o search preview and generate a table"
},
"typeVersion": 1
},
{
"id": "abca6241-a82c-4a6f-b604-fecdb4268533",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1568,
-320
],
"parameters": {
"color": 4,
"width": 624,
"height": 448,
"content": "## Generate chart\nUsing openchart / chart.js "
},
"typeVersion": 1
},
{
"id": "acfa1a4d-d900-445b-a1a1-90147ee441d9",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2208,
-320
],
"parameters": {
"color": 6,
"width": 224,
"height": 448,
"content": "## Upload chart image to WP\n"
},
"typeVersion": 1
},
{
"id": "5a9349d9-6d61-4aac-9ead-a3bb44506d5d",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1568,
144
],
"parameters": {
"color": 7,
"width": 864,
"height": 576,
"content": "## Convert the table to chart.js\n"
},
"typeVersion": 1
},
{
"id": "3e89f9d7-d068-49c2-a22c-3424fa2de70e",
"name": "스티커 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
144
],
"parameters": {
"color": 7,
"width": 592,
"height": 576,
"content": "## Search the web and generate a table\n```\n[\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Here is the data on Apple's market share in the mobile phone market for Q1 2025:\\n\\n\n| Q1 2025 | Shipments | Market Share | Shipments | Market Share | Annual Growth |\\n\n|---------|------------|--------------|-----------|--------------|---------------|\\n\n| Samsung | 60.5 | 20% | 60.0 | 20% | 1% |\\n\n| Apple | 55.0 | 19% | 48.7 | 16% | 13% |\\n\n| Xiaomi | 41.8 | 14% | 40.7 | 14% | 3% |\\n\n| vivo | 22.9 | 8% | 21.4 | 7% | 7% |\\n\n| OPPO | 22.7 | 8% | 25.0 | 8% | -9% |\\n\n| Others | 94.0 | 32% | 100.5 | 34% | -6% |\\n\n| Total | 296.9 | 100% | 296.2 | *100% | 0% |\\n\\n\n*Note: Percentages may not add up to 100% due to rounding.*\\n\\nSource: [Canalys Newsroom - Global smartphone market grows just 1% in Q1 after rocky start to 2025](https://www.canalys.com/newsroom/global-smartphone-market-q1-2025)\\n\\nAdditionally, according to Counterpoint Research, Apple achieved a 19% market share in Q1 2025, marking the first time it secured the top position in global smartphone sales during a first quarter. This success was driven by the launch of the iPhone 16e and strong demand in markets such as Japan and India. ([counterpointresearch.com](https://www.counterpointresearch.com/insight/post-insight-global-smartphone-market-grows-3-in-q1-2025-but-future-uncertain-apple-takes-1-spot-in-q1-for-first-time/?utm_source=openai))\\n\\n*Note: Different research firms may report varying figures due to differences in data collection methodologies.* \",\n \"refusal\": null,\n \"annotations\": [\n {\n \"type\": \"url_citation\",\n \"url_citation\": {\n \"end_index\": 2146,\n \"start_index\": 1935,\n \"title\": \"Global Smartphone Market Grows 3% in Q1 2025 But Future Uncertain; Apple Takes #1 Spot in Q1 For First Time\",\n \"url\": \"https://www.counterpointresearch.com/insight/post-insight-global-smartphone-market-grows-3-in-q1-2025-but-future-uncertain-apple-takes-1-spot-in-q1-for-first-time/?utm_source=openai\"\n }\n }\n ]\n },\n \"finish_reason\": \"stop\"\n }\n]\n```"
},
"typeVersion": 1
}
],
"pinData": {
"When clicking ‘Execute workflow’": [
{
"prompt": "Generate a graph of apple's market share in the mobile phone market in q1 2025"
}
]
},
"connections": {
"5002b0f9-036d-4416-b36a-818c699e0b71": {
"ai_tool": [
[
{
"node": "bb57c519-8dff-4bf5-8db6-a1c17c9bfb78",
"type": "ai_tool",
"index": 0
}
]
]
},
"0afadfd3-348a-4df7-958b-c14eca32b316": {
"main": [
[
{
"node": "b654b232-2e12-4864-a829-752b77abc3c4",
"type": "main",
"index": 0
}
]
]
},
"9570f247-b9f1-49b2-b104-6adcbe32e450": {
"main": [
[
{
"node": "bb57c519-8dff-4bf5-8db6-a1c17c9bfb78",
"type": "main",
"index": 0
}
]
]
},
"7612a971-459f-4106-8b0d-eda11b23f46a": {
"main": [
[
{
"node": "0afadfd3-348a-4df7-958b-c14eca32b316",
"type": "main",
"index": 0
}
]
]
},
"9a398d7a-0435-44d2-9cbb-e5156fbad68f": {
"ai_languageModel": [
[
{
"node": "bb57c519-8dff-4bf5-8db6-a1c17c9bfb78",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"bb57c519-8dff-4bf5-8db6-a1c17c9bfb78": {
"main": [
[
{
"node": "7612a971-459f-4106-8b0d-eda11b23f46a",
"type": "main",
"index": 0
}
]
]
},
"88196843-a411-4ef0-ba4e-df54fc8f924f": {
"ai_outputParser": [
[
{
"node": "bb57c519-8dff-4bf5-8db6-a1c17c9bfb78",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"502f1b86-95d7-49c1-9503-2a38e37ff9ba": {
"main": [
[
{
"node": "9570f247-b9f1-49b2-b104-6adcbe32e450",
"type": "main",
"index": 0
}
]
]
},
"e6235b7c-6b11-4cba-bc0c-9e22db2e8220": {
"main": [
[
{
"node": "9570f247-b9f1-49b2-b104-6adcbe32e450",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 콘텐츠 제작, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
콘텐츠생성기 v3
AI驱动블로그자동화:사용GPT-4생성并게시SEO기사至WordPress및Twitter
If
Set
Code
+
If
Set
Code
144 노드Jay Emp0
콘텐츠 제작
OpenAI, ElevenLabs 및 Fal.ai를 사용한 비디오, 팟캐스트 및 ASMR용 바이럴 콘텐츠 제작 자동화
OpenAI, ElevenLabs 및 Fal.ai를 사용한 비디오, 팟캐스트 및 ASMR용 바이럴 콘텐츠 제작 자동화
Set
Code
Wait
+
Set
Code
Wait
97 노드Adam Crafts
콘텐츠 제작
💥 NanoBanana, Seedream 4, ChatGPT Image 및 Veo 3를 사용한 동영상 광고 자동화 - VIDE
AI(NanoBanana, Seedream, GPT-4o, Veo 3)를 사용하여 비디오 광고 캠페인 자동화 및 게시
Set
Code
Wait
+
Set
Code
Wait
63 노드Dr. Firas
콘텐츠 제작
YouTube 비디오 기반 자율 블로그 게시
ChatGPT, Sheets, Apify, Pexels, WordPress를 사용하여 YouTube 비디오를 자동으로 블로그에 게시합니다.
If
Set
Code
+
If
Set
Code
80 노드Oriol Seguí
콘텐츠 제작
1. 플레이리스트 상세 설정 로봇 복사본
Suno, GPT-4, Runway, Creatomate로 AI 생성 YouTube 음악 플레이리스트 생성
If
Set
Code
+
If
Set
Code
203 노드Joseph
콘텐츠 제작
OpenAI, ElevenLabs, Hedra를 사용하여 바이러스 성婴儿播客 YouTube短视频 생성
OpenAI, ElevenLabs, Hedra를 사용하여 바이러스성 베이비 블로그 YouTube 짧은 비디오 만들기
Code
Wait
Merge
+
Code
Wait
Merge
38 노드Electrabot
콘텐츠 제작
워크플로우 정보
난이도
중급
노드 수15
카테고리2
노드 유형10
저자
Jay Emp0
@jay-emp0AI and Automation developer. Im implementing n8n and ai tools to automate marketing and sales in companies
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유