使用多智能体AI生成SEO博客和新闻简报
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 19 个节点。主要使用 Switch, Airtable, FormTrigger, HttpRequest, GoogleSheets 等节点。 使用OpenRouter、DALL-E、Gemini的多智能体AI内容创建器,用于SEO博客和新闻简报
前置要求
- •Airtable API Key
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •Google Gemini API Key
使用的节点 (19)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "JUDjMwaap2NZwOF8",
"meta": {
"instanceId": "e46a00fdf674c6a717d1781ab876c72daac39cdddf1349ff176b416ee5840ee5",
"templateCredsSetupCompleted": true
},
"name": "使用多智能体 AI 生成 SEO 博客和新闻简报",
"tags": [],
"nodes": [
{
"id": "d00a8edd-7f3d-4d3f-a9a2-f4bd830cacf3",
"name": "便签 - 主说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-496,
0
],
"parameters": {
"color": 4,
"width": 600,
"height": 956,
"content": "## 📝 SEO 博客与新闻简报生成器"
},
"typeVersion": 1
},
{
"id": "0bb32d6c-aa1a-4522-b6de-f094f0e42a4b",
"name": "便签 - 步骤 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
128,
-32
],
"parameters": {
"color": 7,
"width": 300,
"height": 332,
"content": "## 📱 步骤 1:表单输入"
},
"typeVersion": 1
},
{
"id": "c362f59b-2415-4c32-98f1-070814f39af6",
"name": "便签 - 步骤 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
736,
-80
],
"parameters": {
"color": 7,
"width": 444,
"height": 380,
"content": "## 🔬 步骤 2:AI 智能体管道"
},
"typeVersion": 1
},
{
"id": "b4b627e8-8bd1-4cf4-a303-7c0e137cd0db",
"name": "便签 - 步骤 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1568,
-80
],
"parameters": {
"color": 7,
"width": 284,
"height": 364,
"content": "## 🔀 步骤 3:内容路由器"
},
"typeVersion": 1
},
{
"id": "e67f7d9b-9acf-4e8a-b6ee-8fafcb3b64af",
"name": "便签 - 步骤 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2432,
-96
],
"parameters": {
"color": 7,
"width": 356,
"height": 364,
"content": "## 💾 步骤 4:保存与发布"
},
"typeVersion": 1
},
{
"id": "3e047d11-d768-468f-8197-f7dc528e453a",
"name": "表单提交时",
"type": "n8n-nodes-base.formTrigger",
"position": [
144,
624
],
"webhookId": "seo-blog-newsletter-generator",
"parameters": {
"options": {},
"formTitle": "SEO Blog & Newsletter Generator",
"formFields": {
"values": [
{
"fieldType": "dropdown",
"fieldLabel": "Content Type",
"fieldOptions": {
"values": [
{
"option": "Blog"
},
{
"option": "Newsletter"
}
]
},
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Topic",
"requiredField": true
}
]
},
"formDescription": "Generate high-quality, SEO-optimized blog posts and newsletters using AI"
},
"typeVersion": 2.3
},
{
"id": "3d0bd189-eb28-4daa-a3e0-7f0a3e418d56",
"name": "研究 Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
384,
624
],
"parameters": {
"text": "=Content Type: {{ $json['Content Type'] }}\nTopic: {{ $json.Topic }}\n\nYou are the Research Agent, an expert in collecting and summarizing accurate, reliable, and up-to-date information for blog and newsletter writing.\n\nYour tasks:\n1. Take the topic from the user input\n2. Search for the most relevant articles, studies, and competitor content\n3. Extract key facts, statistics, definitions, and perspectives\n4. Identify 5–10 useful subtopics or angles worth covering\n5. Provide 3–5 strong title ideas and keyword phrases (natural, not stuffed)\n6. Cite sources with URLs and rate their reliability from 0–1.0\n\nOutput format (JSON):\n{\n \"title_ideas\": [\"Title 1\", \"Title 2\", \"Title 3\"],\n \"keywords\": [\"keyword1\", \"keyword2\", \"keyword3\"],\n \"facts\": [\n {\"fact\": \"Specific fact with numbers\", \"source\": \"https://source.com\", \"reliability\": 0.9},\n {\"fact\": \"Another fact\", \"source\": \"https://source2.com\", \"reliability\": 0.85}\n ],\n \"subtopics\": [\"Subtopic 1\", \"Subtopic 2\", \"Subtopic 3\"]\n}",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "798e4f3d-e6c1-44aa-9564-a7ccc7daa019",
"name": "大纲智能体",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
688,
624
],
"parameters": {
"text": "={{ $json.output }}\n\nYou are the Outline Agent, responsible for designing a clear and engaging structure for a blog article or newsletter.\n\nYour tasks:\n1. Read the Research Agent's output (facts, subtopics, title ideas)\n2. Create a content outline with H1 (title), H2/H3 headings, and bullet points\n3. Allocate approximate word counts per section (aim for 1500-2500 words total)\n4. Suggest where visuals, stories, or examples should be added\n5. Ensure logical flow: hook → context → main points → conclusion → call-to-action\n\nOutput format (JSON):\n{\n \"chosen_title\": \"The best title from research\",\n \"outline\": [\n {\"heading\": \"Introduction\", \"level\": \"H2\", \"word_count\": 200, \"notes\": \"Include hook + brief context\"},\n {\"heading\": \"Main Section 1\", \"level\": \"H2\", \"word_count\": 400, \"notes\": \"Cover subtopic 1\"},\n {\"heading\": \"Subsection 1.1\", \"level\": \"H3\", \"word_count\": 200, \"notes\": \"Details\"},\n {\"heading\": \"Conclusion\", \"level\": \"H2\", \"word_count\": 150, \"notes\": \"Summarize + CTA\"}\n ],\n \"total_word_count\": 1800\n}",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "5054628e-bc89-482e-8ecc-38e184458a6d",
"name": "写作智能体",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1008,
624
],
"parameters": {
"text": "={{ $json.output }}\n\nYou are the Writer Agent, a professional Medium-style blog writer and newsletter creator.\n\nYour tasks:\n1. Expand the Outline Agent's structure into a full draft\n2. Use facts and sources from the Research Agent. Insert [citation] markers where needed\n3. Write in a natural, engaging style suitable for Medium:\n - Use short paragraphs (2–4 sentences)\n - Include examples, analogies, or short stories\n - Maintain clarity and flow\n - Avoid jargon unless explained\n - Use active voice\n4. Add a TL;DR at the top (2–3 sentences)\n5. End with a clear conclusion and call-to-action\n6. Target reading level: Grade 8–10\n\nOutput: Complete markdown-formatted draft, ready for publication.",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "d0b7c2a1-78d9-4df5-97fa-72e55d9d8d88",
"name": "编辑与 SEO 智能体",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1344,
624
],
"parameters": {
"text": "={{ $json.output }}\n\nYou are the Editor & SEO Agent, responsible for polishing and optimizing the Writer Agent's draft.\n\nYour tasks:\n1. Improve grammar, clarity, and readability (target Grade 8–10 reading level)\n2. Adjust tone to match the target audience (casual, professional, or inspirational)\n3. Ensure smooth flow between sections, fix awkward sentences\n4. Optimize for discoverability on Medium and search engines:\n - Natural keyword integration (no stuffing)\n - Compelling meta description (<160 characters)\n - Suggest 5–7 relevant tags for Medium\n - Optimize headings for featured snippets\n5. Verify all citations are present and properly formatted\n6. Check for plagiarism risk and flag any concerns\n7. Ensure the draft follows Medium's formatting best practices:\n - H2/H3 headings\n - Bullet points and numbered lists\n - Bold/italic for emphasis\n - Code blocks if needed\n\nOutput: Final polished markdown content + metadata (meta description, tags).",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "efe775a8-2797-4227-8e67-dcd94f1bb415",
"name": "OpenRouter 聊天模型(Grok)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
864,
368
],
"parameters": {
"model": "agentica-org/deepcoder-14b-preview:free",
"options": {
"maxTokens": 4000,
"temperature": 0.7
}
},
"credentials": {
"openRouterApi": {
"id": "4mfY6azATRcGeAVh",
"name": "OpenRouter account 2"
}
},
"typeVersion": 1
},
{
"id": "b11202d9-ed5b-4ce9-bc22-0542a64c8242",
"name": "按内容类型路由",
"type": "n8n-nodes-base.switch",
"position": [
1664,
624
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3
},
{
"id": "64aa7d8a-66dd-4fb5-9cd1-4bb22e3c2ce8",
"name": "博客发布智能体",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1968,
544
],
"parameters": {
"text": "={{ $json.output }}\n\nYou are the Blog Publisher Agent. Format the edited content for Airtable storage.\n\nYour tasks:\n1. Extract the final blog title (without markdown formatting)\n2. Extract the full blog content in clean markdown format\n3. Extract keywords and meta description\n4. Generate a concise image prompt for DALL-E (describe the visual that would best represent this blog)\n\nOutput format (JSON):\n{\n \"title_column\": \"Blog Title Here\",\n \"blog_column\": \"Full markdown content here...\",\n \"keywords\": \"keyword1, keyword2, keyword3\",\n \"meta_description\": \"Short description under 160 chars\",\n \"image_prompt\": \"A professional, high-quality image showing [describe scene]\"\n}",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "c419336e-020c-4235-bc52-6c8ce921fb9b",
"name": "新闻简报发布智能体",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1968,
784
],
"parameters": {
"text": "={{ $json.output }}\n\nYou are the Newsletter Publisher Agent. Format the edited content for email newsletter distribution.\n\nYour tasks:\n1. Extract the newsletter title\n2. Format content sections for email (simpler formatting than web)\n3. Add email-friendly formatting:\n - Clear section breaks\n - Shorter paragraphs\n - Prominent CTAs\n4. Create plain text version\n\nOutput format (JSON):\n{\n \"title_column\": \"Newsletter Title\",\n \"content_html\": \"HTML formatted content\",\n \"content_plain\": \"Plain text version\",\n \"preview_text\": \"Email preview text (50 chars)\"\n}",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "b5497764-3914-46e9-8268-688f1f131d8f",
"name": "Google Gemini聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1968,
352
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "KtAMOYdbcKc3zjad",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "0a9575d9-2403-4201-a707-91f30c4bff30",
"name": "生成特色图片(DALL-E)",
"type": "n8n-nodes-base.httpRequest",
"position": [
2288,
544
],
"parameters": {
"url": "https://api.openai.com/v1/images/generations",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"dall-e-3\",\n \"prompt\": \"{{ $json.output.image_prompt }}\",\n \"n\": 1,\n \"size\": \"1792x1024\",\n \"quality\": \"standard\",\n \"response_format\": \"b64_json\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "flZ2fT2rpkG1i3uQ",
"name": "OpenAi account 2"
}
},
"typeVersion": 4.2
},
{
"id": "313e6ab2-048d-4427-89c7-760cb6e44441",
"name": "将图片转换为文件",
"type": "n8n-nodes-base.convertToFile",
"position": [
2592,
544
],
"parameters": {
"options": {
"fileName": "=blog-featured-{{ $now.toFormat('yyyy-MM-dd-HHmmss') }}.png",
"mimeType": "image/png"
},
"operation": "toBinary",
"sourceProperty": "data[0].b64_json"
},
"typeVersion": 1.1
},
{
"id": "703820e0-8875-472d-84a8-da269bafd998",
"name": "保存博客到 Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
2880,
544
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "YOUR_AIRTABLE_BASE_ID",
"cachedResultName": "Blog Content Database"
},
"table": {
"__rl": true,
"mode": "list",
"value": "YOUR_AIRTABLE_TABLE_ID",
"cachedResultName": "Blogs"
},
"columns": {
"value": {
"Title": "={{ $('Blog Publisher Agent').item.json.output.title_column }}",
"Status": "Draft",
"Content": "={{ $('Blog Publisher Agent').item.json.output.blog_column }}",
"Keywords": "={{ $('Blog Publisher Agent').item.json.output.keywords }}",
"Created Date": "={{ $now.toISO() }}",
"Meta Description": "={{ $('Blog Publisher Agent').item.json.output.meta_description }}"
},
"mappingMode": "defineBelow"
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "P4VpVuGngKqr3klu",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2
},
{
"id": "a69cb586-0a4e-43ee-85ae-907358b8dd2d",
"name": "保存新闻简报到 Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
2880,
784
],
"parameters": {
"columns": {
"value": {
"Title": "={{ $('Newsletter Publisher Agent').item.json.output.title_column }}",
"Status": "Ready to Send",
"Content HTML": "={{ $('Newsletter Publisher Agent').item.json.output.content_html }}",
"Created Date": "={{ $now.toFormat('yyyy-MM-dd HH:mm:ss') }}",
"Preview Text": "={{ $('Newsletter Publisher Agent').item.json.output.preview_text }}",
"Content Plain": "={{ $('Newsletter Publisher Agent').item.json.output.content_plain }}"
},
"mappingMode": "defineBelow"
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "Sheet1",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEET_ID",
"cachedResultName": "Newsletter Archive"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "JGyq7W7A9p6ZfZhk",
"name": "Google Sheets account 2"
}
},
"typeVersion": 4.5
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "3257de73-97b2-49c3-9bf1-cea67218835f",
"connections": {
"Writer Agent": {
"main": [
[
{
"node": "Editor & SEO Agent",
"type": "main",
"index": 0
}
]
]
},
"Outline Agent": {
"main": [
[
{
"node": "Writer Agent",
"type": "main",
"index": 0
}
]
]
},
"Research Agent": {
"main": [
[
{
"node": "Outline Agent",
"type": "main",
"index": 0
}
]
]
},
"Editor & SEO Agent": {
"main": [
[
{
"node": "Route by Content Type",
"type": "main",
"index": 0
}
]
]
},
"On Form Submission": {
"main": [
[
{
"node": "Research Agent",
"type": "main",
"index": 0
}
]
]
},
"Blog Publisher Agent": {
"main": [
[
{
"node": "Generate Featured Image (DALL-E)",
"type": "main",
"index": 0
}
]
]
},
"Convert Image to File": {
"main": [
[
{
"node": "Save Blog to Airtable",
"type": "main",
"index": 0
}
]
]
},
"Route by Content Type": {
"main": [
[
{
"node": "Blog Publisher Agent",
"type": "main",
"index": 0
},
{
"node": "Newsletter Publisher Agent",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Blog Publisher Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Newsletter Publisher Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Newsletter Publisher Agent": {
"main": [
[
{
"node": "Save Newsletter to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model (Grok)": {
"ai_languageModel": [
[
{
"node": "Research Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Outline Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Writer Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Editor & SEO Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Generate Featured Image (DALL-E)": {
"main": [
[
{
"node": "Convert Image to File",
"type": "main",
"index": 0
}
]
]
},
"Save Newsletter to Google Sheets": {
"main": [
[]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
LinkedIn和X病毒内容自动引擎
使用AI生成和发布自动创建LinkedIn和X的病毒内容
If
Set
Wait
+26
156 节点Diptamoy Barman
内容创作
我的工作流5
基于 Gemini AI、网络搜索和 PDF 交付的全面研究报告生成器
Set
Code
Html
+14
102 节点Hichul
内容创作
基于AI的潜在客户资格评定与个性化触达(使用Relevance AI)
基于AI的潜在客户资格评定与个性化触达:使用Relevance AI
Set
Code
Gmail
+11
34 节点Diptamoy Barman
内容创作
WordPress博客自动化专业版(深度研究)v2.1市场
使用GPT-4o、Perplexity AI和多语言支持自动化SEO优化的博客创建
If
Set
Xml
+27
125 节点Daniel Ng
内容创作
使用Gemini AI、DeepSeek和GoAPI为电商生成产品图片和视频
使用Gemini AI、DeepSeek和GoAPI为电商生成产品图片和视频
If
Set
Html
+13
50 节点Dhruv Dalsaniya
内容创作
自动化网站创建和部署
使用Gemini AI和Netlify自动部署生成和部署网站
Set
Airtable
Compression
+7
18 节点Tamer
内容创作