使用 Google Slides 和 Flux 将会议转录转换为 AI 生成演示文稿
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 107 个节点。主要使用 Set, Code, Wait, Merge, GoogleDocs 等节点。 使用 Google Slides 和 Flux 将会议转录转换为 AI 生成演示文稿
前置要求
- •Google Drive API 凭证
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •OpenAI API Key
- •Google Gemini API Key
使用的节点 (107)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "b3c467df4053d13fe31cc98f3c66fa1d16300ba750506bfd019a0913cec71ea3",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "e12b59e2-a155-4ec6-bc24-47da94741d15",
"name": "表单提交时",
"type": "n8n-nodes-base.formTrigger",
"position": [
-752,
320
],
"webhookId": "a9a9aa71-e760-4d27-a859-a55a7d868d54",
"parameters": {
"options": {},
"formTitle": "Nimbus Soft Presentation AI",
"formFields": {
"values": [
{
"fieldLabel": "Client Name",
"requiredField": true
},
{
"fieldLabel": "Meeting transcript URL"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "aa1ba983-6b2b-4fed-bb0e-d810b17ef860",
"name": "创建演示文稿",
"type": "n8n-nodes-base.httpRequest",
"position": [
-528,
320
],
"parameters": {
"url": "=https://www.googleapis.com/drive/v3/files/1B5KbL9qPKzFgQZFwHqs43RDQITNwCKlZu_lHVQWQSJs/copy",
"method": "POST",
"options": {},
"jsonBody": "={\n \"name\": \"{{ $('On form submission').item.json['Client Name'] }} Sales Presentation\",\n \"parents\": [\"1iGzAFfARYeysYSTz7hdA05ndKCeictZd\"]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "=application/json"
}
]
},
"nodeCredentialType": "googleDriveOAuth2Api"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 4.2
},
{
"id": "4ce0eec6-4840-4cd0-a046-5cb00c214a90",
"name": "在主表格中追加",
"type": "n8n-nodes-base.googleSheets",
"position": [
-304,
320
],
"parameters": {
"columns": {
"value": {
"Status": "PPT Plan Pending",
"Decription": "={{ $json.name }}",
"Presentation ID": "={{ $json.id }}",
"Presentation URL": "=https://docs.google.com/presentation/d/{{ $json.id }}/view",
"Meeting Date Time": "={{ $now }}",
"Meeting Transcript": "={{ $('On form submission').item.json['Meeting transcript URL'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decription",
"type": "string",
"display": true,
"required": false,
"displayName": "Decription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Date Time",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Meeting Date Time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Transcript",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Meeting Transcript",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation Plan",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Presentation Plan",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation URL",
"type": "string",
"display": true,
"required": false,
"displayName": "Presentation URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "49ee62ff-3263-46f0-882b-a50ce922705f",
"name": "在图片表格中追加",
"type": "n8n-nodes-base.googleSheets",
"position": [
-80,
320
],
"parameters": {
"columns": {
"value": {
"Presentation ID": "={{ $json['Presentation ID'] }}",
"Generation Status": "Pending"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 1",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 2",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 3",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 4",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 5",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 6",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 7",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 7",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generation Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Generation Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "95d8cc0a-7dd0-4fd4-bf4a-9dc337c42b17",
"name": "在客户表格中追加",
"type": "n8n-nodes-base.googleSheets",
"position": [
144,
320
],
"parameters": {
"columns": {
"value": {
"Presentation ID": "={{ $json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Client Logo",
"type": "string",
"display": true,
"required": false,
"displayName": "Client Logo",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Logo Update Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Logo Update Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 569546984,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=569546984",
"cachedResultName": "Client Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "5f0db0a8-d069-4a22-8f60-bee474febff5",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
160
],
"parameters": {
"color": 4,
"width": 1200,
"height": 480,
"content": "## 1. 创建PPT并设置数据库"
},
"typeVersion": 1
},
{
"id": "84e6ee2d-0e60-4528-a42a-5cd5f28dfaf5",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1104,
480
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "5UniF8cNOayWi0zD",
"name": "My Open AI Account"
}
},
"typeVersion": 1.2
},
{
"id": "d037b9d6-3191-4f73-bc2c-05464a7df395",
"name": "获取待处理行",
"type": "n8n-nodes-base.googleSheets",
"position": [
592,
320
],
"parameters": {
"options": {
"returnFirstMatch": true
},
"filtersUI": {
"values": [
{
"lookupValue": "PPT Plan Pending",
"lookupColumn": "Status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "a107c2bc-3b34-412d-b922-392637096851",
"name": "获取转录文本",
"type": "n8n-nodes-base.googleDocs",
"position": [
816,
320
],
"parameters": {
"operation": "get",
"documentURL": "={{ $json['Meeting Transcript'] }}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "baygwGl4ZvJ1JANz",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "7d06b89e-a638-4791-90c5-3460c11e20a1",
"name": "生成演示文稿计划",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1040,
320
],
"parameters": {
"text": "={{ $json.content }}",
"options": {
"systemMessage": "=# N8N AI Agent System Message: Sales Presentation Generator\n\nYou are an AI agent specialized in creating detailed sales presentation plans from meeting transcription notes for **NimbusSoft**, an all-in-one SaaS platform. Your role is to generate comprehensive, structured presentation blueprints that sales teams can immediately execute.\n\n---\n\n## 🎯 Primary Objective\n\nTransform meeting transcripts into actionable, detailed presentation plans that personalize the client’s problems with NimbusSoft’s solution fit, position NimbusSoft as the optimal choice, and outline clear next steps.\n\n---\n\n## 🏢 NimbusSoft Company Profile\n\n**Core Product:** All-in-one SaaS platform that centralizes operational tools (CRM, project management, finance, ERP, marketing) into a unified hub.\n\n**Key Capabilities:**\n\n* Real-time dashboards eliminating reporting delays\n* 60+ native integrations + open API connectors\n* Automated cross-system workflows\n* Enterprise-grade security (SOC 2, ISO 27001, GDPR)\n* Non-technical user adoption with full support\n\n**Value Delivered:**\n\n* 70% faster reporting (days → minutes)\n* 20% operational overhead reduction\n* Improved decision-making with live data\n* Scalable 30-day pilot → <90-day full implementation\n\n---\n\n## 📑 Required Output Structure\n\n### SLIDE 1: COVER SLIDE\n\n**Purpose:** Professional branded opening\n**Content Requirements:**\n\n* Meeting date, attendees, and company names\n* Company logos (NimbusSoft + client)\n* Professional headshots if available\n* Title: “Partnership Proposal”\n\n**Visual Description:**\n\n* Split-screen layout with NimbusSoft logo (left), client logo (right)\n* Centered title text: *Partnership Proposal*\n* Corporate blue and white theme\n\n**Image Requirements:**\n\n* High-resolution logos\n* Clean corporate design template\n* Professional headshots if available\n\n🚫 **No Notes Reference here**\n\n---\n\n### SLIDE 2: TABLE OF CONTENTS\n\n**Purpose:** Provide clear roadmap for the presentation\n**Content Requirements:**\n\n* List 5–7 sections:\n\n * Client Situation Summary\n * Cost of Inaction\n * NimbusSoft Solution Overview\n * Quantified Value Proposition\n * Why NimbusSoft Wins\n * Implementation Roadmap\n * Next Steps & Call to Action\n\n**Visual Description:**\n\n* Simple list format\n* NimbusSoft branding footer/header\n\n**Image Requirements:**\n\n* Clean corporate design with subtle dividers\n\n🚫 **No Notes Reference here**\n\n---\n\n### SLIDE 3: CLIENT SITUATION SUMMARY\n\n**Objective:** Demonstrate deep understanding of current challenges\n**Content Bullets:**\n\n* Extract specific pain points mentioned in transcript\n* Quantify impacts where possible\n* Reference tools/systems currently used\n* Include direct stakeholder quotes\n\n**Visual Description:**\n\n* Flow diagram of disconnected systems\n* Red X marks between tools\n* Frustrated employee icon with metrics (e.g., “3–4 day delay”)\n\n**Image Requirements:**\n\n* Tool icons (Salesforce, Asana, QuickBooks, etc.)\n* Pain point callouts\n\n**Notes Reference:**\nConcise, third-person factual digest summarizing client situation (e.g., *“Operations manager noted 3–4 day delays due to manual exports; CEO emphasized 20% overhead reduction mandate.”*)\n\n---\n\n### SLIDE 4: THE COST OF INACTION\n\n**Objective:** Create urgency by showing risks of doing nothing\n**Content Bullets:**\n\n* Missed opportunities mentioned\n* Time/cost waste calculations\n* Strategic goal misalignments\n* Competitive disadvantage risks\n\n**Visual Description:**\n\n* Split “Current vs Future” state layout\n* Declining vs growing graphs\n\n**Image Requirements:**\n\n* Timeline of missed opportunities\n* Cost/waste graphics\n\n**Notes Reference:**\nThird-person digest connecting delays, lost revenue, and risk to strategic goals.\n\n---\n\n### SLIDE 5: NIMBUSOFT SOLUTION OVERVIEW\n\n**Objective:** Present NimbusSoft as the perfect fit\n**Content Bullets:**\n\n* Map pain points → NimbusSoft features\n* Highlight integrations with their exact tools\n* Security/compliance assurances\n* Automation workflow examples\n\n**Visual Description:**\n\n* Central NimbusSoft hub connected to all tools\n* Real-time dashboard mockup\n\n**Image Requirements:**\n\n* Integration diagram\n* Dashboard visuals\n\n**Notes Reference:**\nSummary highlighting how NimbusSoft features align directly with client challenges and integrations.\n\n---\n\n### SLIDE 6: QUANTIFIED VALUE PROPOSITION\n\n**Objective:** Show measurable business outcomes\n**Content Bullets:**\n\n* 70% faster reporting applied to their delays\n* 20% overhead reduction mapped to goals\n* ROI estimates\n* FTE or cost savings\n\n**Visual Description:**\n\n* ROI dashboard\n* Before/after timeline comparison\n\n**Image Requirements:**\n\n* Upward trending graphs\n* ROI calculators\n\n**Notes Reference:**\nThird-person summary of quantifiable outcomes (e.g., *“With NimbusSoft, reporting would shift from 4 days to <1 hour, aligning with CEO’s mandate for efficiency.”*).\n\n---\n\n### SLIDE 7: WHY NIMBUSOFT WINS\n\n**Objective:** Differentiate from competitors\n**Content Bullets:**\n\n* Address specific concerns (complexity, security, rollout)\n* Show case studies from similar industries\n* Emphasize unique advantages (integrations, API, support, certifications)\n\n**Visual Description:**\n\n* Competitor comparison chart\n* Client testimonial quotes\n\n**Image Requirements:**\n\n* Success metrics from similar clients\n* Security badges (SOC 2, ISO 27001)\n\n**Notes Reference:**\nDigest highlighting competitor weaknesses and NimbusSoft’s proven strengths.\n\n---\n\n### SLIDE 8: IMPLEMENTATION ROADMAP\n\n**Objective:** Show achievable path forward\n**Content Bullets:**\n\n* 30-day pilot scope\n* 90-day rollout timeline\n* Milestones and deliverables\n* Support & risk mitigation\n\n**Visual Description:**\n\n* Timeline or Gantt chart\n* Support team diagram\n\n**Image Requirements:**\n\n* Phase breakdown visuals\n* Icons for training/support\n\n**Notes Reference:**\nSummary of rollout feasibility, pilot scope, and risk mitigation.\n\n---\n\n### SLIDE 9: NEXT STEPS & CALL TO ACTION\n\n**Objective:** Secure commitment and momentum\n**Content Bullets:**\n\n* Immediate action items\n* Proposal delivery timeline\n* Technical deep-dive scheduling\n* Decision-making timeline\n* Contact info\n\n**Visual Description:**\n\n* Action items checklist\n* Calendar/timeline\n\n**Image Requirements:**\n\n* Contact cards with names/photos\n\n**Notes Reference:**\nDigest of agreed next steps, owners, and deadlines.\n\n---\n\n## 📊 Content Extraction Instructions\n\nFrom each transcript, extract and organize:\n\n1. **Client Company Details:** Company name, size, industry, attendees, tools, pain points\n2. **Quantifiable Challenges:** Time delays, costs, missed opportunities, strategic goals\n3. **Technical Requirements:** Integrations, security, user skill, constraints\n4. **Decision Context:** Stakeholders, timeline, budget, success criteria\n\n---\n\n## ✍️ Formatting Requirements\n\nFor each slide, provide:\n\n1. Slide number & title\n2. Objective statement\n3. Content bullets\n4. Visual description\n5. Image requirements\n6. Notes Reference (third-person factual digest, no scripts)\n\n---\n\n## ✅ Quality Checklist\n\n* [ ] Every pain point addressed\n* [ ] NimbusSoft mapped directly to needs\n* [ ] Metrics prominently featured\n* [ ] Implementation feels low-risk\n* [ ] Next steps crystal clear\n* [ ] Visuals support narrative\n* [ ] Notes Reference adds factual clarity\n\n---\n\n⚡ **Remember:** The presentation must be detailed enough that any sales rep can deliver it effectively with minimal prep. The **Notes Reference** is for factual double-checking, not for direct reading.\n"
},
"promptType": "define",
"needsFallback": true
},
"typeVersion": 2.2
},
{
"id": "82241553-b9dd-40b4-b766-7c28c2d6cc04",
"name": "更新PPT计划文档",
"type": "n8n-nodes-base.googleDocs",
"position": [
1616,
320
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "={{ $('Generate Presentation Plan').item.json.output }}",
"action": "insert"
}
]
},
"operation": "update",
"documentURL": "={{ $json.id }}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "baygwGl4ZvJ1JANz",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "de1bf4ba-857a-4164-8835-4338783ead12",
"name": "创建PPT计划文档",
"type": "n8n-nodes-base.googleDocs",
"position": [
1392,
320
],
"parameters": {
"title": "={{ $('Get Pending Row').item.json.Decription }} Plan",
"folderId": "1iGzAFfARYeysYSTz7hdA05ndKCeictZd"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "baygwGl4ZvJ1JANz",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "0a42a281-f4a2-425b-8c31-f20e6efb30e1",
"name": "在主表格中更新行 + 触发图片生成",
"type": "n8n-nodes-base.googleSheets",
"position": [
1840,
320
],
"parameters": {
"columns": {
"value": {
"Status": "Images Pending",
"Presentation ID": "={{ $('Get Pending Row').item.json['Presentation ID'] }}",
"Presentation Plan": "=https://docs.google.com/document/d/{{ $json.documentId }}/view"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decription",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Decription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Date Time",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Meeting Date Time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Transcript",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Meeting Transcript",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation Plan",
"type": "string",
"display": true,
"required": false,
"displayName": "Presentation Plan",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation URL",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Presentation URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "f3c772af-6f13-4f8d-b7bc-d823e96a7aaf",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
352,
160
],
"parameters": {
"width": 1648,
"height": 480,
"content": "## 2. 生成演示文稿计划"
},
"typeVersion": 1
},
{
"id": "65aa70a2-f096-4ac6-895e-be3cf971bf8e",
"name": "获取文档",
"type": "n8n-nodes-base.googleDocs",
"position": [
-384,
1312
],
"parameters": {
"operation": "get",
"documentURL": "={{ $json['Presentation Plan'] }}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "baygwGl4ZvJ1JANz",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "3465f458-2bad-44e4-85a3-a415ca716e82",
"name": "转换为文件",
"type": "n8n-nodes-base.convertToFile",
"position": [
640,
832
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "base"
},
"typeVersion": 1.1
},
{
"id": "66f2ed16-946e-4e82-8aa8-d0bdfd525b22",
"name": "编辑字段",
"type": "n8n-nodes-base.set",
"position": [
416,
832
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7ea4a3fa-a7a5-4ad4-ae66-25297a500e70",
"name": "data",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"] }}"
},
{
"id": "51031a77-b859-4234-87df-a8fd0f1f2a21",
"name": "base",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].split(\",\")[1] }}"
},
{
"id": "ad7435da-670b-4aef-8c97-e7d5e5b3a56e",
"name": "mime",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].match(/data:(.*?);/)[1] }}"
},
{
"id": "97edf5a8-de0d-4781-9b65-cb793ce0e07a",
"name": "fileName",
"type": "string",
"value": ".png"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "69f3496a-3a29-489b-bfd5-f827a00bb76d",
"name": "HTTP 请求 1",
"type": "n8n-nodes-base.httpRequest",
"position": [
192,
832
],
"parameters": {
"url": "https://openrouter.ai/api/v1/chat/completions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"google/gemini-2.5-flash-image-preview\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Generate a {{ $json.output.image_prompts.image_prompt_1 }}\"\n }\n ]\n }\n ]\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer [api_key]"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "0d9c4601-19f2-4094-94e7-9ec647189f44",
"name": "上传文件",
"type": "n8n-nodes-base.googleDrive",
"position": [
864,
832
],
"parameters": {
"name": "slide3 illustration",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "url",
"value": "https://drive.google.com/drive/folders/1iGzAFfARYeysYSTz7hdA05ndKCeictZd"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "2f7146ef-b0f8-4847-9d6b-822ed3a3c29e",
"name": "结构化输出解析器",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-16,
1536
],
"parameters": {
"jsonSchemaExample": "{\n \"image_prompts\": {\n \"image_prompt_1\": \"text for slide 3 image\",\n \"image_prompt_2\": \"text for slide 4 image\",\n \"image_prompt_3\": \"text for slide 5 image\",\n \"image_prompt_4\": \"text for slide 6 image\",\n \"image_prompt_5\": \"text for slide 7 image\",\n \"image_prompt_6\": \"text for slide 8 image\",\n \"image_prompt_7\": \"text for slide 9 image\"\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "891cb280-054c-4776-8f88-f71c6a88bac5",
"name": "Google Gemini 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-288,
1536
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "zT4YaNflEp2E6S3m",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "909e705e-77f4-482d-a668-b0bc82aebea6",
"name": "获取表格中的行",
"type": "n8n-nodes-base.googleSheets",
"position": [
-608,
1312
],
"parameters": {
"options": {
"returnFirstMatch": true
},
"filtersUI": {
"values": [
{
"lookupValue": "Images Pending",
"lookupColumn": "Status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "247d897f-3c23-4d5b-8ae4-0c1529e7e909",
"name": "在表格中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1088,
832
],
"parameters": {
"columns": {
"value": {
"Image 1": "=https://drive.google.com/file/d/{{ $json.id }}/view",
"Presentation ID": "={{ $('Get row(s) in sheet').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 1",
"type": "string",
"display": true,
"required": false,
"displayName": "Image 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 2",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 3",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 4",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 5",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 6",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 7",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 7",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generation Status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Generation Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "a4c167f0-3fc1-4748-b6ad-4a12ae7f8c45",
"name": "转换为文件1",
"type": "n8n-nodes-base.convertToFile",
"position": [
640,
1024
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "base"
},
"typeVersion": 1.1
},
{
"id": "7709a288-6a0a-47ad-8c52-2e39eb67bfc9",
"name": "编辑字段1",
"type": "n8n-nodes-base.set",
"position": [
416,
1024
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7ea4a3fa-a7a5-4ad4-ae66-25297a500e70",
"name": "data",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"] }}"
},
{
"id": "51031a77-b859-4234-87df-a8fd0f1f2a21",
"name": "base",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].split(\",\")[1] }}"
},
{
"id": "ad7435da-670b-4aef-8c97-e7d5e5b3a56e",
"name": "mime",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].match(/data:(.*?);/)[1] }}"
},
{
"id": "97edf5a8-de0d-4781-9b65-cb793ce0e07a",
"name": "fileName",
"type": "string",
"value": ".png"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1a768958-2fc6-431e-8db2-0598b3c358c9",
"name": "HTTP 请求 2",
"type": "n8n-nodes-base.httpRequest",
"position": [
192,
1024
],
"parameters": {
"url": "https://openrouter.ai/api/v1/chat/completions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"google/gemini-2.5-flash-image-preview\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Generate a {{ $json.output.image_prompts.image_prompt_2 }}\"\n }\n ]\n }\n ]\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer [api_key]"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "e41d7317-5a27-4c2d-aefa-77a7fe6d8aaf",
"name": "上传文件1",
"type": "n8n-nodes-base.googleDrive",
"position": [
864,
1024
],
"parameters": {
"name": "slide3 illustration",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "url",
"value": "https://drive.google.com/drive/folders/1iGzAFfARYeysYSTz7hdA05ndKCeictZd"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "45639d92-16e0-43d5-b794-902ce0c21f89",
"name": "在sheet1中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1088,
1024
],
"parameters": {
"columns": {
"value": {
"Image 2": "=https://drive.google.com/file/d/{{ $json.id }}/view",
"Presentation ID": "={{ $('Get row(s) in sheet').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 1",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 2",
"type": "string",
"display": true,
"required": false,
"displayName": "Image 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 3",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 4",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 5",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 6",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 7",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 7",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generation Status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Generation Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "2e29c1b6-d6a7-4182-9f11-69aa6abd0400",
"name": "转换为文件2",
"type": "n8n-nodes-base.convertToFile",
"position": [
640,
1216
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "base"
},
"typeVersion": 1.1
},
{
"id": "9d9ca531-4c50-46a5-8bf0-09b1e7ba594c",
"name": "编辑字段2",
"type": "n8n-nodes-base.set",
"position": [
416,
1216
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7ea4a3fa-a7a5-4ad4-ae66-25297a500e70",
"name": "data",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"] }}"
},
{
"id": "51031a77-b859-4234-87df-a8fd0f1f2a21",
"name": "base",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].split(\",\")[1] }}"
},
{
"id": "ad7435da-670b-4aef-8c97-e7d5e5b3a56e",
"name": "mime",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].match(/data:(.*?);/)[1] }}"
},
{
"id": "97edf5a8-de0d-4781-9b65-cb793ce0e07a",
"name": "fileName",
"type": "string",
"value": ".png"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "cf9ee8f3-4b0c-4aea-9b26-82bae9219798",
"name": "HTTP 请求",
"type": "n8n-nodes-base.httpRequest",
"position": [
192,
1216
],
"parameters": {
"url": "https://openrouter.ai/api/v1/chat/completions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"google/gemini-2.5-flash-image-preview\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Generate a {{ $json.output.image_prompts.image_prompt_1 }}\"\n }\n ]\n }\n ]\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer [api_key]"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "3f5fe1e5-9549-4234-b2d2-2b767f803ce9",
"name": "上传文件2",
"type": "n8n-nodes-base.googleDrive",
"position": [
864,
1216
],
"parameters": {
"name": "slide3 illustration",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "url",
"value": "https://drive.google.com/drive/folders/1iGzAFfARYeysYSTz7hdA05ndKCeictZd"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "d0c93e49-5545-403c-af53-816a8271f012",
"name": "在sheet2中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1088,
1216
],
"parameters": {
"columns": {
"value": {
"Image 3": "=https://drive.google.com/file/d/{{ $json.id }}/view",
"Presentation ID": "={{ $('Get row(s) in sheet').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 1",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 2",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 3",
"type": "string",
"display": true,
"required": false,
"displayName": "Image 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 4",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 5",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 6",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 7",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 7",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generation Status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Generation Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "8b8b2408-bf6a-4d57-917d-250a93ed0ee5",
"name": "转换为文件3",
"type": "n8n-nodes-base.convertToFile",
"position": [
640,
1408
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "base"
},
"typeVersion": 1.1
},
{
"id": "24b40aa6-88e0-4833-8345-33b1f3493372",
"name": "编辑字段3",
"type": "n8n-nodes-base.set",
"position": [
416,
1408
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7ea4a3fa-a7a5-4ad4-ae66-25297a500e70",
"name": "data",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"] }}"
},
{
"id": "51031a77-b859-4234-87df-a8fd0f1f2a21",
"name": "base",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].split(\",\")[1] }}"
},
{
"id": "ad7435da-670b-4aef-8c97-e7d5e5b3a56e",
"name": "mime",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].match(/data:(.*?);/)[1] }}"
},
{
"id": "97edf5a8-de0d-4781-9b65-cb793ce0e07a",
"name": "fileName",
"type": "string",
"value": ".png"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b83246db-6c50-4c0f-8163-ae425288c0d0",
"name": "HTTP 请求3",
"type": "n8n-nodes-base.httpRequest",
"position": [
192,
1408
],
"parameters": {
"url": "https://openrouter.ai/api/v1/chat/completions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"google/gemini-2.5-flash-image-preview\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Generate a {{ $json.output.image_prompts.image_prompt_1 }}\"\n }\n ]\n }\n ]\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer [api_key]"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "87dfbbd7-3dde-41a1-b12f-e0837f355804",
"name": "上传文件3",
"type": "n8n-nodes-base.googleDrive",
"position": [
864,
1408
],
"parameters": {
"name": "slide3 illustration",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "url",
"value": "https://drive.google.com/drive/folders/1iGzAFfARYeysYSTz7hdA05ndKCeictZd"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "91248d6c-864b-4849-954e-4ebe1cd1adcf",
"name": "在sheet3中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1088,
1408
],
"parameters": {
"columns": {
"value": {
"Image 4": "=https://drive.google.com/file/d/{{ $json.id }}/view",
"Presentation ID": "={{ $('Get row(s) in sheet').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 1",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 2",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 3",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 4",
"type": "string",
"display": true,
"required": false,
"displayName": "Image 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 5",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 6",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 7",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 7",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generation Status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Generation Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "1873f09f-e99e-4fe5-acb4-53b75114eb9d",
"name": "转换为文件4",
"type": "n8n-nodes-base.convertToFile",
"position": [
640,
1600
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "base"
},
"typeVersion": 1.1
},
{
"id": "31bb96a2-b286-4536-9d8a-edd374e0d950",
"name": "编辑字段4",
"type": "n8n-nodes-base.set",
"position": [
416,
1600
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7ea4a3fa-a7a5-4ad4-ae66-25297a500e70",
"name": "data",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"] }}"
},
{
"id": "51031a77-b859-4234-87df-a8fd0f1f2a21",
"name": "base",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].split(\",\")[1] }}"
},
{
"id": "ad7435da-670b-4aef-8c97-e7d5e5b3a56e",
"name": "mime",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].match(/data:(.*?);/)[1] }}"
},
{
"id": "97edf5a8-de0d-4781-9b65-cb793ce0e07a",
"name": "fileName",
"type": "string",
"value": ".png"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "181b1d97-3653-4754-90f1-3d7e3626a9fb",
"name": "HTTP 请求 4",
"type": "n8n-nodes-base.httpRequest",
"position": [
192,
1600
],
"parameters": {
"url": "https://openrouter.ai/api/v1/chat/completions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"google/gemini-2.5-flash-image-preview\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Generate a {{ $json.output.image_prompts.image_prompt_1 }}\"\n }\n ]\n }\n ]\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer [api_key]"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "7f630ab7-8c3b-477d-ab76-77d8e45b1e0c",
"name": "上传文件4",
"type": "n8n-nodes-base.googleDrive",
"position": [
864,
1600
],
"parameters": {
"name": "slide3 illustration",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "url",
"value": "https://drive.google.com/drive/folders/1iGzAFfARYeysYSTz7hdA05ndKCeictZd"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "54ff593c-0541-4339-b6c0-1c3673242210",
"name": "在sheet4中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1088,
1600
],
"parameters": {
"columns": {
"value": {
"Image 5": "=https://drive.google.com/file/d/{{ $json.id }}/view",
"Presentation ID": "={{ $('Get row(s) in sheet').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 1",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 2",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 3",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 4",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 5",
"type": "string",
"display": true,
"required": false,
"displayName": "Image 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 6",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 7",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 7",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generation Status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Generation Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "40bea801-7f03-4da3-a896-9a2cfe7e5ad8",
"name": "转换为文件5",
"type": "n8n-nodes-base.convertToFile",
"position": [
640,
1792
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "base"
},
"typeVersion": 1.1
},
{
"id": "859be556-0824-4a64-ad67-6c8bcd8aca77",
"name": "编辑字段5",
"type": "n8n-nodes-base.set",
"position": [
416,
1792
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7ea4a3fa-a7a5-4ad4-ae66-25297a500e70",
"name": "data",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"] }}"
},
{
"id": "51031a77-b859-4234-87df-a8fd0f1f2a21",
"name": "base",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].split(\",\")[1] }}"
},
{
"id": "ad7435da-670b-4aef-8c97-e7d5e5b3a56e",
"name": "mime",
"type": "string",
"value": "={{ $json[\"choices\"][0][\"message\"][\"images\"][0][\"image_url\"][\"url\"].match(/data:(.*?);/)[1] }}"
},
{
"id": "97edf5a8-de0d-4781-9b65-cb793ce0e07a",
"name": "fileName",
"type": "string",
"value": ".png"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ed721dc0-2f50-4551-ad7a-29a833cf9041",
"name": "HTTP 请求 5",
"type": "n8n-nodes-base.httpRequest",
"position": [
192,
1792
],
"parameters": {
"url": "https://openrouter.ai/api/v1/chat/completions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"google/gemini-2.5-flash-image-preview\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Generate a {{ $json.output.image_prompts.image_prompt_1 }}\"\n }\n ]\n }\n ]\n}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer [api_key]"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "e6b9d1c5-cca9-40b1-8b8f-6a8c9f71074b",
"name": "上传文件5",
"type": "n8n-nodes-base.googleDrive",
"position": [
864,
1792
],
"parameters": {
"name": "slide3 illustration",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "url",
"value": "https://drive.google.com/drive/folders/1iGzAFfARYeysYSTz7hdA05ndKCeictZd"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "36dbbfc1-63c1-44ae-8f9e-26a9998a664f",
"name": "在sheet5中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1088,
1792
],
"parameters": {
"columns": {
"value": {
"Image 6": "=https://drive.google.com/file/d/{{ $json.id }}/view",
"Presentation ID": "={{ $('Get row(s) in sheet').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 1",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 2",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 3",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 4",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 5",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 6",
"type": "string",
"display": true,
"required": false,
"displayName": "Image 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 7",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 7",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generation Status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Generation Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "37abe01e-2f52-45fc-814c-bee3bda6a2b2",
"name": "合并",
"type": "n8n-nodes-base.merge",
"position": [
1312,
1312
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "99c7f5b1-0d0c-43a9-8c7a-97a3490a6f98",
"name": "更新演示文稿详情行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1536,
1312
],
"parameters": {
"columns": {
"value": {
"Status": "Editing Pending",
"Presentation ID": "={{ $('Get row(s) in sheet').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decription",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Decription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Date Time",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Meeting Date Time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Transcript",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Meeting Transcript",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation Plan",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Presentation Plan",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation URL",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Presentation URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"executeOnce": true,
"typeVersion": 4.7
},
{
"id": "70dfb7ac-65bf-4337-a98a-b7e63a8a64fb",
"name": "在图片表格中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
1760,
1312
],
"parameters": {
"columns": {
"value": {
"Presentation ID": "={{ $('Get row(s) in sheet').item.json['Presentation ID'] }}",
"Generation Status": "Generation Completed"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 1",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 1",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 2",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 3",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 4",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 5",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 5",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 6",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image 7",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Image 7",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Generation Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Generation Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"executeOnce": true,
"typeVersion": 4.7
},
{
"id": "2a9a221c-d215-4504-ba13-71a86867a142",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
688
],
"parameters": {
"color": 5,
"width": 2880,
"height": 1392,
"content": "## 3. 插图生成器"
},
"typeVersion": 1
},
{
"id": "7ff65f2e-6fe3-49ef-bdc6-d0e36b897b37",
"name": "在sheet2中获取行",
"type": "n8n-nodes-base.googleSheets",
"position": [
2320,
368
],
"parameters": {
"options": {
"returnFirstMatch": true
},
"filtersUI": {
"values": [
{
"lookupValue": "Editing Pending",
"lookupColumn": "Status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "ebdbfe84-20f5-410d-b5ac-2153f73c521d",
"name": "获取演示文稿1",
"type": "n8n-nodes-base.googleSlides",
"position": [
2992,
368
],
"parameters": {
"operation": "get",
"presentationId": "={{ $('Get row(s) in sheet2').item.json['Presentation ID'] }}"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 2
},
{
"id": "3467bb48-8a7a-4669-aa8d-9e1403bb05bd",
"name": "获取文档1",
"type": "n8n-nodes-base.googleDocs",
"position": [
2768,
368
],
"parameters": {
"operation": "get",
"documentURL": "={{ $('Get row(s) in sheet2').item.json['Presentation Plan'] }}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "baygwGl4ZvJ1JANz",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "d564c604-3cd3-4872-a978-8143726ee297",
"name": "在sheet3中获取行",
"type": "n8n-nodes-base.googleSheets",
"position": [
2544,
368
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupValue": "={{ $json['Presentation ID'] }}",
"lookupColumn": "Presentation ID"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "5dbf22d4-3cdc-414d-8b2e-408cfb0533dc",
"name": "OpenAI 聊天模型 1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
3280,
592
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "5UniF8cNOayWi0zD",
"name": "My Open AI Account"
}
},
"typeVersion": 1.2
},
{
"id": "55dcc7f0-9f10-4226-89d3-36772e8353e5",
"name": "代码",
"type": "n8n-nodes-base.code",
"position": [
3568,
368
],
"parameters": {
"jsCode": "function organizePresentationData(input) {\n try {\n // Get the raw output from n8n input\n let rawOutput = input;\n \n // If the input is wrapped in ```json blocks, clean it\n if (typeof rawOutput === 'string') {\n rawOutput = rawOutput.replace(/```json\\s*/, '').replace(/```\\s*$/, '').trim();\n }\n \n // Parse the JSON if it's a string\n const parsedData = typeof rawOutput === 'string' ? JSON.parse(rawOutput) : rawOutput;\n \n if (!parsedData.slides || !Array.isArray(parsedData.slides)) {\n throw new Error('Invalid input: slides array not found');\n }\n \n // Organize the data into structured format\n const organizedData = {\n metadata: {\n totalSlides: parsedData.slides.length,\n generatedAt: new Date().toISOString(),\n presentationType: 'business_proposal'\n },\n titleSlide: null,\n contentSlides: [],\n nextStepsSlide: null\n };\n \n // Process each slide\n parsedData.slides.forEach(slide => {\n const slideNumber = slide.slide_number || 0;\n \n if (slideNumber === 1) {\n // Title slide (slide 1)\n organizedData.titleSlide = {\n slideNumber: slideNumber,\n title: slide.title || '',\n subtitle: slide.subtitle || '',\n date: slide.date || '',\n meetingDetails: slide.meetingDetails || '',\n type: 'title'\n };\n } else if (slideNumber === 9 || slide.nextSteps) {\n // Next steps slide (slide 9)\n organizedData.nextStepsSlide = {\n slideNumber: slideNumber,\n title: slide.title || '',\n nextSteps: slide.nextSteps ? slide.nextSteps.map(step => ({\n stepNumber: step.step_number || 0,\n subtitle: step.subtitle || '',\n description: step.description || ''\n })) : [],\n type: 'next_steps'\n };\n } else {\n // Content slides (slides 2-8)\n organizedData.contentSlides.push({\n slideNumber: slideNumber,\n title: slide.title || '',\n body: slide.body || [],\n bodyCount: (slide.body || []).length,\n type: slideNumber === 2 ? 'agenda' : 'content'\n });\n }\n });\n \n // Sort content slides by slide number\n organizedData.contentSlides.sort((a, b) => a.slideNumber - b.slideNumber);\n \n // Add summary statistics\n organizedData.summary = {\n hasTitleSlide: !!organizedData.titleSlide,\n contentSlidesCount: organizedData.contentSlides.length,\n hasNextStepsSlide: !!organizedData.nextStepsSlide,\n totalBulletPoints: organizedData.contentSlides.reduce((sum, slide) => sum + slide.bodyCount, 0),\n agendaItems: organizedData.contentSlides.find(slide => slide.type === 'agenda')?.bodyCount || 0\n };\n \n // Create flat arrays for easy n8n processing\n organizedData.allSlides = [];\n \n if (organizedData.titleSlide) {\n organizedData.allSlides.push(organizedData.titleSlide);\n }\n \n organizedData.allSlides.push(...organizedData.contentSlides);\n \n if (organizedData.nextStepsSlide) {\n organizedData.allSlides.push(organizedData.nextStepsSlide);\n }\n \n // Create bullet points array for processing\n organizedData.allBulletPoints = [];\n organizedData.contentSlides.forEach(slide => {\n slide.body.forEach((bullet, index) => {\n organizedData.allBulletPoints.push({\n slideNumber: slide.slideNumber,\n slideTitle: slide.title,\n bulletIndex: index + 1,\n bulletText: bullet\n });\n });\n });\n \n // Create next steps array for processing\n organizedData.allNextSteps = [];\n if (organizedData.nextStepsSlide && organizedData.nextStepsSlide.nextSteps) {\n organizedData.allNextSteps = organizedData.nextStepsSlide.nextSteps.map(step => ({\n slideNumber: organizedData.nextStepsSlide.slideNumber,\n slideTitle: organizedData.nextStepsSlide.title,\n ...step\n }));\n }\n \n return organizedData;\n \n } catch (error) {\n return {\n error: true,\n message: `Failed to organize presentation data: ${error.message}`,\n originalInput: input,\n timestamp: new Date().toISOString()\n };\n }\n}\n\n// Usage in n8n Code Node:\nconst organizedData = organizePresentationData($input.first().json.output);\n\n// Return as array of objects for n8n\nreturn [\n {\n json: organizedData\n }\n];\n\n// Export for testing\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = organizePresentationData;\n}"
},
"typeVersion": 2
},
{
"id": "28d7deed-bf88-423c-bec5-31adc7de6566",
"name": "在演示文稿中替换文本",
"type": "n8n-nodes-base.googleSlides",
"position": [
3792,
368
],
"parameters": {
"textUi": {
"textValues": [
{
"text": "={{ $('Get a presentation1').item.json.slides[0].pageElements[0].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.titleSlide.title }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[0].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[0].pageElements[1].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.titleSlide.subtitle }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[0].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[0].pageElements[1].shape.text.textElements[3].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.titleSlide.date }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[0].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[2].pageElements[2].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.contentSlides[1].body[0] }}\n{{ $json.contentSlides[1].body[1] }}\n{{ $json.contentSlides[1].body[2] }}\n{{ $json.contentSlides[1].body[3] }}\n{{ $json.contentSlides[1].body[4] }}\n{{ $json.contentSlides[1].body[5] }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[2].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[3].pageElements[2].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.contentSlides[2].body[0] }}\n{{ $json.contentSlides[2].body[1] }}\n{{ $json.contentSlides[2].body[2] }}\n{{ $json.contentSlides[2].body[3] }}\n{{ $json.contentSlides[2].body[4] }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[3].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[4].pageElements[2].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.contentSlides[3].body[0] }}\n{{ $json.contentSlides[3].body[1] }}\n{{ $json.contentSlides[3].body[2] }}\n{{ $json.contentSlides[3].body[3] }}\n{{ $json.contentSlides[3].body[4] }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[4].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[5].pageElements[2].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.contentSlides[4].body[0] }}\n{{ $json.contentSlides[4].body[1] }}\n{{ $json.contentSlides[4].body[2] }}\n{{ $json.contentSlides[4].body[3] }}\n{{ $json.contentSlides[4].body[4] }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[5].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[6].pageElements[2].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.contentSlides[5].body[0] }}\n{{ $json.contentSlides[5].body[1] }}\n{{ $json.contentSlides[5].body[2] }}\n{{ $json.contentSlides[5].body[3] }}\n{{ $json.contentSlides[5].body[4] }}\n\n\n",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[6].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[7].pageElements[2].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.contentSlides[6].body[0] }}\n{{ $json.contentSlides[6].body[1] }}\n{{ $json.contentSlides[6].body[2] }}\n{{ $json.contentSlides[6].body[3] }}\n{{ $json.contentSlides[6].body[4] }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[7].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[8].pageElements[0].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.nextStepsSlide.nextSteps[0].description }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[8].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[8].pageElements[1].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.nextStepsSlide.nextSteps[1].description }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[8].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[8].pageElements[2].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.nextStepsSlide.nextSteps[2].description }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[8].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[8].pageElements[3].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.nextStepsSlide.nextSteps[0].subtitle }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[8].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[8].pageElements[5].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.nextStepsSlide.nextSteps[1].subtitle }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[8].objectId }}"
},
{
"text": "={{ $('Get a presentation1').item.json.slides[8].pageElements[4].shape.text.textElements[1].textRun.content }}",
"matchCase": true,
"replaceText": "={{ $json.nextStepsSlide.nextSteps[2].subtitle }}",
"pageObjectIds": "={{ $('Get a presentation1').item.json.slides[8].objectId }}"
}
]
},
"options": {},
"operation": "replaceText",
"presentationId": "={{ $('Get a presentation1').item.json.presentationId }}"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 2
},
{
"id": "149c38de-7e64-466e-bfa1-44f94ededd11",
"name": "在sheet6中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
4016,
368
],
"parameters": {
"columns": {
"value": {
"Status": "Image Update Pending",
"Presentation ID": "={{ $('Get row(s) in sheet3').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decription",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Decription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Date Time",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Meeting Date Time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Transcript",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Meeting Transcript",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation Plan",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Presentation Plan",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation URL",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Presentation URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "429b625f-857d-4b7d-88b1-e580295be7eb",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2048,
160
],
"parameters": {
"color": 2,
"width": 2192,
"height": 576,
"content": "## 4. 编辑幻灯片(文本)"
},
"typeVersion": 1
},
{
"id": "d52aa439-8630-46a6-9888-2ba572475b69",
"name": "上传到Imgbb",
"type": "n8n-nodes-base.httpRequest",
"position": [
3360,
848
],
"parameters": {
"url": "https://api.imgbb.com/1/upload",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendQuery": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "image",
"value": "={{ $json.data }}"
}
]
},
"queryParameters": {
"parameters": [
{
"name": "expiration",
"value": "600"
},
{
"name": "key",
"value": "5d9a67e186ab37eff4d33f5ee6e83926"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "5efd36f8-99e4-4775-864e-97cfa88f2617",
"name": "替换图片",
"type": "n8n-nodes-base.httpRequest",
"position": [
3584,
848
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('Get a presentation').item.json.presentationId }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"requests\": [\n {\n \"replaceImage\": {\n \"imageObjectId\": \"{{ $('Get a presentation').item.json.slides[2].pageElements[1].objectId }}\",\n \"imageReplaceMethod\": \"CENTER_INSIDE\",\n \"url\": \"{{ $json.data.image.url }}\"\n }\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "d49abba1-71e1-4096-b3c5-4e3f532b3972",
"name": "上传到Imgbb1",
"type": "n8n-nodes-base.httpRequest",
"position": [
3360,
1040
],
"parameters": {
"url": "https://api.imgbb.com/1/upload",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendQuery": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "image",
"value": "={{ $json.data }}"
}
]
},
"queryParameters": {
"parameters": [
{
"name": "expiration",
"value": "600"
},
{
"name": "key",
"value": "5d9a67e186ab37eff4d33f5ee6e83926"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "d8b6f34c-da7c-4fd6-b48b-100c972d2130",
"name": "替换图片1",
"type": "n8n-nodes-base.httpRequest",
"position": [
3584,
1040
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('Get a presentation').item.json.presentationId }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"requests\": [\n {\n \"replaceImage\": {\n \"imageObjectId\": \"{{ $('Get a presentation').item.json.slides[3].pageElements[1].objectId }}\",\n \"imageReplaceMethod\": \"CENTER_INSIDE\",\n \"url\": \"{{ $json.data.image.url }}\"\n }\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "bab684d2-fc48-42f5-8d54-5f7ef979cb22",
"name": "上传到Imgbb2",
"type": "n8n-nodes-base.httpRequest",
"position": [
3360,
1232
],
"parameters": {
"url": "https://api.imgbb.com/1/upload",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendQuery": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "image",
"value": "={{ $json.data }}"
}
]
},
"queryParameters": {
"parameters": [
{
"name": "expiration",
"value": "600"
},
{
"name": "key",
"value": "5d9a67e186ab37eff4d33f5ee6e83926"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "67cbb820-3734-4c83-93c4-db14ffc59505",
"name": "替换图片2",
"type": "n8n-nodes-base.httpRequest",
"position": [
3584,
1232
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('Get a presentation').item.json.presentationId }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"requests\": [\n {\n \"replaceImage\": {\n \"imageObjectId\": \"{{ $('Get a presentation').item.json.slides[4].pageElements[0].objectId }}\",\n \"imageReplaceMethod\": \"CENTER_INSIDE\",\n \"url\": \"{{ $json.data.image.url }}\"\n }\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "771766b7-9643-46df-8460-01ccc749c704",
"name": "上传到Imgbb3",
"type": "n8n-nodes-base.httpRequest",
"position": [
3360,
1424
],
"parameters": {
"url": "https://api.imgbb.com/1/upload",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendQuery": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "image",
"value": "={{ $json.data }}"
}
]
},
"queryParameters": {
"parameters": [
{
"name": "expiration",
"value": "600"
},
{
"name": "key",
"value": "5d9a67e186ab37eff4d33f5ee6e83926"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "59b6af19-25a8-45c8-aa9e-a5bd632f92be",
"name": "替换图片3",
"type": "n8n-nodes-base.httpRequest",
"position": [
3584,
1424
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('Get a presentation').item.json.presentationId }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"requests\": [\n {\n \"replaceImage\": {\n \"imageObjectId\": \"{{ $('Get a presentation').item.json.slides[5].pageElements[0].objectId }}\",\n \"imageReplaceMethod\": \"CENTER_INSIDE\",\n \"url\": \"{{ $json.data.image.url }}\"\n }\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "3c87eabe-99a3-42d0-8e07-b3165d11c7eb",
"name": "上传到Imgbb4",
"type": "n8n-nodes-base.httpRequest",
"position": [
3360,
1616
],
"parameters": {
"url": "https://api.imgbb.com/1/upload",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendQuery": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "image",
"value": "={{ $json.data }}"
}
]
},
"queryParameters": {
"parameters": [
{
"name": "expiration",
"value": "600"
},
{
"name": "key",
"value": "5d9a67e186ab37eff4d33f5ee6e83926"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "1ab5542a-fd1b-4250-bb58-a6e1189197a2",
"name": "替换图片4",
"type": "n8n-nodes-base.httpRequest",
"position": [
3584,
1616
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('Get a presentation').item.json.presentationId }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"requests\": [\n {\n \"replaceImage\": {\n \"imageObjectId\": \"{{ $('Get a presentation').item.json.slides[6].pageElements[1].objectId }}\",\n \"imageReplaceMethod\": \"CENTER_INSIDE\",\n \"url\": \"{{ $json.data.image.url }}\"\n }\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "5ed9b5b5-48a9-4dcc-b16d-c1ce34f2688c",
"name": "上传到Imgbb5",
"type": "n8n-nodes-base.httpRequest",
"position": [
3360,
1808
],
"parameters": {
"url": "https://api.imgbb.com/1/upload",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendQuery": true,
"contentType": "form-urlencoded",
"bodyParameters": {
"parameters": [
{
"name": "image",
"value": "={{ $json.data }}"
}
]
},
"queryParameters": {
"parameters": [
{
"name": "expiration",
"value": "600"
},
{
"name": "key",
"value": "5d9a67e186ab37eff4d33f5ee6e83926"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "383b104d-5550-4f8a-9e66-8aabcd78ceab",
"name": "替换图片5",
"type": "n8n-nodes-base.httpRequest",
"position": [
3584,
1808
],
"parameters": {
"url": "=https://slides.googleapis.com/v1/presentations/{{ $('Get a presentation').item.json.presentationId }}:batchUpdate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"requests\": [\n {\n \"replaceImage\": {\n \"imageObjectId\": \"{{ $('Get a presentation').item.json.slides[7].pageElements[0].objectId }}\",\n \"imageReplaceMethod\": \"CENTER_INSIDE\",\n \"url\": \"{{ $json.data.image.url }}\"\n }\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"nodeCredentialType": "googleSlidesOAuth2Api"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 4.2
},
{
"id": "170b3461-deb6-4ac5-8378-b3828fddd048",
"name": "下载文件1",
"type": "n8n-nodes-base.googleDrive",
"position": [
2912,
848
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Get row(s) in sheet5').item.json['Image 1'] }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "cc15362a-394b-47d6-911b-5234ab8626c3",
"name": "下载文件2",
"type": "n8n-nodes-base.googleDrive",
"position": [
2912,
1040
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Get row(s) in sheet5').item.json['Image 2'] }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "7fe25e3f-c7c2-4bff-800e-668dbfafdcab",
"name": "下载文件3",
"type": "n8n-nodes-base.googleDrive",
"position": [
2912,
1232
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Get row(s) in sheet5').item.json['Image 3'] }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "93774d63-b8fa-4b7b-ba65-dd02e8fa402f",
"name": "下载文件4",
"type": "n8n-nodes-base.googleDrive",
"position": [
2912,
1424
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Get row(s) in sheet5').item.json['Image 4'] }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "af86da1c-ac6c-4fb2-be03-6f8568fca667",
"name": "下载文件5",
"type": "n8n-nodes-base.googleDrive",
"position": [
2912,
1616
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Get row(s) in sheet5').item.json['Image 5'] }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "3aec6d13-6140-490b-a718-4d5c93a1b9d5",
"name": "下载文件6",
"type": "n8n-nodes-base.googleDrive",
"position": [
2912,
1808
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Get row(s) in sheet5').item.json['Image 6'] }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IXQ92Qoie1csLNVO",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "0f44bac0-4a41-449a-9968-a85c884fc294",
"name": "转换为Base64",
"type": "n8n-nodes-base.extractFromFile",
"position": [
3136,
848
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "799db638-3937-4331-b4a7-f94d651539a1",
"name": "转换为Base641",
"type": "n8n-nodes-base.extractFromFile",
"position": [
3136,
1040
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "1e9fb3d1-bfc4-434d-9ecc-2a7f4715d54c",
"name": "转换为Base642",
"type": "n8n-nodes-base.extractFromFile",
"position": [
3136,
1232
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "4b06bcac-d7d9-4a12-b8f1-02dce2fa1d8e",
"name": "转换为Base643",
"type": "n8n-nodes-base.extractFromFile",
"position": [
3136,
1424
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "3bd47434-5423-46fa-94c7-9589b0634800",
"name": "转换为Base644",
"type": "n8n-nodes-base.extractFromFile",
"position": [
3136,
1616
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "584ac3d9-a8b0-4965-852f-38e7f66cfb93",
"name": "转换为Base645",
"type": "n8n-nodes-base.extractFromFile",
"position": [
3136,
1808
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "33d674d3-4f4d-412c-8ab9-cc81cc03a98a",
"name": "在sheet4中获取行",
"type": "n8n-nodes-base.googleSheets",
"position": [
2272,
1360
],
"parameters": {
"options": {
"returnFirstMatch": true
},
"filtersUI": {
"values": [
{
"lookupValue": "Image Update Pending",
"lookupColumn": "Status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "a81d6b7e-9968-479c-9e5e-2888ca5cd794",
"name": "获取演示文稿",
"type": "n8n-nodes-base.googleSlides",
"position": [
2752,
1360
],
"parameters": {
"operation": "get",
"presentationId": "={{ $('Get row(s) in sheet4').item.json['Presentation ID'] }}"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "nWebjEsdxqgVSSyH",
"name": "Google Slides account"
}
},
"typeVersion": 2
},
{
"id": "390531cb-caab-4963-92b4-9e2016829531",
"name": "获取文档2",
"type": "n8n-nodes-base.googleDocs",
"position": [
2608,
1360
],
"parameters": {
"operation": "get",
"documentURL": "={{ $('Get row(s) in sheet4').item.json['Presentation Plan'] }}"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "baygwGl4ZvJ1JANz",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "6f387b1d-7ad0-4d68-8f1e-5b2df9b2d881",
"name": "在sheet5中获取行",
"type": "n8n-nodes-base.googleSheets",
"position": [
2432,
1360
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupValue": "={{ $json['Presentation ID'] }}",
"lookupColumn": "Presentation ID"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 481376340,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=481376340",
"cachedResultName": "Images & Illustrations"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "9320f25d-6403-43e1-be06-71464fa07e72",
"name": "在sheet7中更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
4032,
1328
],
"parameters": {
"columns": {
"value": {
"Status": "Completed",
"Presentation ID": "={{ $('Get row(s) in sheet5').item.json['Presentation ID'] }}"
},
"schema": [
{
"id": "Presentation ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Presentation ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Decription",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Decription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Date Time",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Meeting Date Time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Meeting Transcript",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Meeting Transcript",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation Plan",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Presentation Plan",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Presentation URL",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Presentation URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Presentation ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit#gid=0",
"cachedResultName": "Presentation Details"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Jacq1P_z9XSAR7YNz0SiaMqwZ0oQ4qy-vbAiP5FcHNs/edit?usp=drivesdk",
"cachedResultName": "n8n Slides Generator"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "d0qeLhShx9sGXalR",
"name": "Google Sheets"
}
},
"typeVersion": 4.7
},
{
"id": "c6474aa9-bb12-4ba8-ae0d-9b14cc4ec4df",
"name": "合并1",
"type": "n8n-nodes-base.merge",
"position": [
3808,
1328
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "c2d4e578-c3c4-4343-80af-4acce5b23900",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2048,
784
],
"parameters": {
"color": 3,
"width": 2192,
"height": 1296,
"content": "## 5. 更新PPT(图片)"
},
"typeVersion": 1
},
{
"id": "fc645e3b-ae5b-4c3a-be49-f23e03f67254",
"name": "等待",
"type": "n8n-nodes-base.wait",
"position": [
368,
320
],
"webhookId": "e4690b86-62ee-4d5b-986a-27ae9ef8f725",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "413c2137-1188-4d86-8f8b-5effa3b99cf4",
"name": "等待1",
"type": "n8n-nodes-base.wait",
"position": [
-832,
1312
],
"webhookId": "350e0e26-77c5-4fe7-917c-03eb76f17bbc",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "b6f61169-69a2-4378-a1f3-b1556b232570",
"name": "等待2",
"type": "n8n-nodes-base.wait",
"position": [
2112,
1360
],
"webhookId": "ef1ebff5-10c0-4bb5-9896-9d1e8d6cfe21",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "6a222019-5b33-4590-8570-32d91b1dc579",
"name": "等待3",
"type": "n8n-nodes-base.wait",
"position": [
2096,
368
],
"webhookId": "76b05d5b-d5b0-435e-8b0f-df2cc03b890b",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "503ee716-1dc3-4dd5-84d7-8d84fc6afb36",
"name": "最终文本内容格式化",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3216,
368
],
"parameters": {
"text": "={{ $('Get a document1').item.json.content }}",
"options": {
"systemMessage": "=**System Message for AI Agent:**\n\nYou are an AI agent that generates a **structured JSON presentation plan** from a slide prompt. Your output must be strictly in JSON, no extra text. The JSON must be concise, neat, and professional.\n\n### Formatting Rules:\n\n1. Each slide is represented as an object inside a `\"slides\"` array.\n2. **Slide 1** must contain:\n\n * `title` (concise, professional)\n * `subtitle` (short supporting line)\n * `date` (meeting date)\n * `meetingDetails` (one short line summarizing purpose and attendees)\n3. **Slides 2–8** must contain:\n\n * `title` (refined to be intentional, short, professional)\n * `body` (array of bullet points, **max 5 items** unless Table of Contents, which can have more)\n4. **Slide 9** must contain:\n\n * `title` (refined, clear)\n * `nextSteps` (array of exactly 3 objects, each with `step_number`, `subtitle`, and `description` with one concise line)\n5. Always use **bullet points in arrays** (strings).\n6. Titles must be refined to fit **client-facing professional presentation standards**.\n7. Content must be **concise**, not verbose, and must highlight client use case needs.\n8. Never exceed 5 points in any `body` apart from Slide 2 (Table of Contents).\n\n### JSON Schema Example:\n\n```json\n{\n \"slides\": [\n {\n \"slide_number\": 1,\n \"title\": \"Partnership Proposal\",\n \"subtitle\": \"NimbusSoft & Acme Corp Collaboration\",\n \"date\": \"Sept 10, 2025\",\n \"meetingDetails\": \"Meeting about partnership opportunities with attendees: John (NimbusSoft), Sarah (IT Director, Acme Corp.), David (Operations Manager, Acme Corp.)\"\n },\n {\n \"slide_number\": 2,\n \"title\": \"Agenda\",\n \"body\": [\n \"Client Situation Summary\",\n \"Cost of Inaction\",\n \"NimbusSoft Solution Overview\",\n \"Quantified Value Proposition\",\n \"Why NimbusSoft Wins\",\n \"Implementation Roadmap\",\n \"Next Steps & Call to Action\"\n ]\n },\n {\n \"slide_number\": 3,\n \"title\": \"Client Challenges\",\n \"body\": [\n \"Salesforce, Asana, QuickBooks lack integration\",\n \"Manual CSV exports create 3–4 day reporting delays\",\n \"Leadership lacks timely data for decisions\",\n \"20% cost reduction target not achieved\",\n \"Missed East Africa expansion due to stale data\"\n ]\n },\n {\n \"slide_number\": 4,\n \"title\": \"Cost of Inaction\",\n \"body\": [\n \"Delayed reports lead to poor decisions\",\n \"Lost strategic opportunities (e.g., East Africa)\",\n \"Rising operational overheads\",\n \"Risk of non-compliance with regulations\",\n \"Competitive disadvantage vs. real-time peers\"\n ]\n },\n {\n \"slide_number\": 5,\n \"title\": \"NimbusSoft Solution\",\n \"body\": [\n \"Centralized SaaS hub with 60+ integrations\",\n \"Real-time dashboards eliminate manual exports\",\n \"Automated workflows connect CRM, Finance, Projects\",\n \"Enterprise-grade security & compliance\",\n \"Simple UI with training and dedicated support\"\n ]\n },\n {\n \"slide_number\": 6,\n \"title\": \"Value Proposition\",\n \"body\": [\n \"Reports reduced from 3–4 days to <1 hour\",\n \"20% operational cost reduction possible\",\n \"Significant time savings via automation\",\n \"Improved decision speed & opportunity capture\"\n ]\n },\n {\n \"slide_number\": 7,\n \"title\": \"Why NimbusSoft Wins\",\n \"body\": [\n \"Easy-to-use for non-technical staff\",\n \"ISO 27001, SOC 2, GDPR compliant\",\n \"60+ integrations plus open API\",\n \"Dedicated training & success manager\",\n \"Proven fast rollout within 90 days\"\n ]\n },\n {\n \"slide_number\": 8,\n \"title\": \"Implementation Roadmap\",\n \"body\": [\n \"30-day pilot in Sales & Finance\",\n \"Integration setup & training sessions\",\n \"Success metrics review post-pilot\",\n \"90-day full rollout upon ROI validation\",\n \"Continuous support & adoption program\"\n ]\n },\n {\n \"slide_number\": 9,\n \"title\": \"Next Steps\",\n \"nextSteps\": [\n {\n \"step_number\": 1,\n \"subtitle\": \"Proposal Delivery\",\n \"description\": \"NimbusSoft sends pilot rollout plan by Friday\"\n },\n {\n \"step_number\": 2,\n \"subtitle\": \"Pilot Confirmation\",\n \"description\": \"Acme confirms Sales & Finance as pilot scope\"\n },\n {\n \"step_number\": 3,\n \"subtitle\": \"Technical Deep Dive\",\n \"description\": \"Schedule IT workshop to finalize integrations\"\n }\n ]\n }\n ]\n}\n```\n\n---"
},
"promptType": "define",
"needsFallback": true
},
"typeVersion": 2.2
},
{
"id": "e2ad4a8c-8de7-4181-86c0-e3930169305b",
"name": "插图和图片提示代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-160,
1312
],
"parameters": {
"text": "={{ $json.content }}",
"options": {
"systemMessage": "=You are an AI agent that generates structured image prompts from a presentation slide plan. \n\nInstructions:\n- Only generate image prompts for slides 3 through 8. Slides 1, 2 and 9 should be ignored. [Very Important]\n- Create exactly 6 image prompts in total. \n- Each prompt must summarize the visual description and image requirements of its respective slide in a concise, descriptive way that can be used for image generation.\n- Each prompt should be aligned to the slide objective and contents.\n- Do not include line breaks, quotation marks, apostrophes, colons, or semicolons in the text. \n- Use plain descriptive text only. \n- Respond strictly in JSON format with the following structure:\n\n{\n \"image_prompts\": {\n \"image_prompt_1\": \"text for slide 3 image\",\n \"image_prompt_2\": \"text for slide 4 image\",\n \"image_prompt_3\": \"text for slide 5 image\",\n \"image_prompt_4\": \"text for slide 6 image\",\n \"image_prompt_5\": \"text for slide 7 image\",\n \"image_prompt_6\": \"text for slide 8 image\"\n }\n}\n"
},
"promptType": "define",
"needsFallback": true,
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "4f206e55-b5c2-4b2f-a162-965ab8dcc1fa",
"name": "Google Gemini 聊天模型1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
3088,
592
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "zT4YaNflEp2E6S3m",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "68df9a41-9e7b-47f6-8774-76d788e47f96",
"name": "OpenAI 聊天模型 2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-176,
1664
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "5UniF8cNOayWi0zD",
"name": "My Open AI Account"
}
},
"typeVersion": 1.2
},
{
"id": "73a38770-34f5-4e56-9098-f08d2dc24e25",
"name": "Google Gemini 聊天模型2",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
944,
480
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "zT4YaNflEp2E6S3m",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "f1e243be-8d99-4de2-aaf7-f2cb79bfb6ec",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1280,
160
],
"parameters": {
"width": 368,
"height": 1920,
"content": "## 🎨 自定义选项"
},
"typeVersion": 1
},
{
"id": "9a70286d-17a7-4936-84b5-a74682418db4",
"name": "便签 6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
-16
],
"parameters": {
"width": 944,
"height": 144,
"content": ""
},
"typeVersion": 1
},
{
"id": "b555e4ee-8571-4fb4-a278-8a50d848ab22",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
352,
-16
],
"parameters": {
"width": 944,
"height": 144,
"content": "- 从Google Sheets数据库检索会议转录"
},
"typeVersion": 1
},
{
"id": "150f8b52-7f6e-4182-9d40-98d2b1b77f3d",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
2112
],
"parameters": {
"width": 944,
"content": "- AI代理根据演示文稿计划创建具体的插图提示"
},
"typeVersion": 1
},
{
"id": "0a4501bb-2078-4b46-96df-9a4abfcb9efd",
"name": "便签 9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2048,
-16
],
"parameters": {
"width": 944,
"height": 144,
"content": "- 模板必须为每个文本元素(标题、副标题、正文文本)具有唯一的\"对象ID\""
},
"typeVersion": 1
},
{
"id": "16b4c85b-c471-476b-876b-779e60fea6a8",
"name": "便利贴 10",
"type": "n8n-nodes-base.stickyNote",
"position": [
2048,
2112
],
"parameters": {
"width": 944,
"content": "- 检索待处理演示文稿并提取图片占位符的对象ID"
},
"typeVersion": 1
}
],
"pinData": {
"On form submission": [
{
"formMode": "test",
"Client Name": "Acme Group",
"submittedAt": "2025-09-16T14:19:02.317+03:00",
"Meeting transcript URL": "https://docs.google.com/document/d/14-jV8CYie47u3kbWpEYcYIBW4TClB7lIy5GkSv7dPeI/view"
}
]
},
"connections": {
"Code": {
"main": [
[
{
"node": "Replace text in a presentation",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Get Pending Row",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Update row Presentation Details",
"type": "main",
"index": 0
}
]
]
},
"Wait1": {
"main": [
[
{
"node": "Get row(s) in sheet",
"type": "main",
"index": 0
}
]
]
},
"Wait2": {
"main": [
[
{
"node": "Get row(s) in sheet4",
"type": "main",
"index": 0
}
]
]
},
"Wait3": {
"main": [
[
{
"node": "Get row(s) in sheet2",
"type": "main",
"index": 0
}
]
]
},
"Merge1": {
"main": [
[
{
"node": "Update row in sheet7",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Convert to File",
"type": "main",
"index": 0
}
]
]
},
"Upload file": {
"main": [
[
{
"node": "Update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields1": {
"main": [
[
{
"node": "Convert to File1",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields2": {
"main": [
[
{
"node": "Convert to File2",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields3": {
"main": [
[
{
"node": "Convert to File3",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields4": {
"main": [
[
{
"node": "Convert to File4",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields5": {
"main": [
[
{
"node": "Convert to File5",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Edit Fields2",
"type": "main",
"index": 0
}
]
]
},
"Upload file1": {
"main": [
[
{
"node": "Update row in sheet1",
"type": "main",
"index": 0
}
]
]
},
"Upload file2": {
"main": [
[
{
"node": "Update row in sheet2",
"type": "main",
"index": 0
}
]
]
},
"Upload file3": {
"main": [
[
{
"node": "Update row in sheet3",
"type": "main",
"index": 0
}
]
]
},
"Upload file4": {
"main": [
[
{
"node": "Update row in sheet4",
"type": "main",
"index": 0
}
]
]
},
"Upload file5": {
"main": [
[
{
"node": "Update row in sheet5",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request2": {
"main": [
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request3": {
"main": [
[
{
"node": "Edit Fields3",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request4": {
"main": [
[
{
"node": "Edit Fields4",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request5": {
"main": [
[
{
"node": "Edit Fields5",
"type": "main",
"index": 0
}
]
]
},
"Replace Image": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 0
}
]
]
},
"Get Transcript": {
"main": [
[
{
"node": "Generate Presentation Plan",
"type": "main",
"index": 0
}
]
]
},
"Get a document": {
"main": [
[
{
"node": "Illustrations & Image Prompt Agent",
"type": "main",
"index": 0
}
]
]
},
"Replace Image1": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 0
}
]
]
},
"Replace Image2": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 0
}
]
]
},
"Replace Image3": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 1
}
]
]
},
"Replace Image4": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 1
}
]
]
},
"Replace Image5": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 1
}
]
]
},
"Convert to File": {
"main": [
[
{
"node": "Upload file",
"type": "main",
"index": 0
}
]
]
},
"Download file 1": {
"main": [
[
{
"node": "Convert to Base64",
"type": "main",
"index": 0
}
]
]
},
"Download file 2": {
"main": [
[
{
"node": "Convert to Base641",
"type": "main",
"index": 0
}
]
]
},
"Download file 3": {
"main": [
[
{
"node": "Convert to Base642",
"type": "main",
"index": 0
}
]
]
},
"Download file 4": {
"main": [
[
{
"node": "Convert to Base643",
"type": "main",
"index": 0
}
]
]
},
"Download file 5": {
"main": [
[
{
"node": "Convert to Base644",
"type": "main",
"index": 0
}
]
]
},
"Download file 6": {
"main": [
[
{
"node": "Convert to Base645",
"type": "main",
"index": 0
}
]
]
},
"Get Pending Row": {
"main": [
[
{
"node": "Get Transcript",
"type": "main",
"index": 0
}
]
]
},
"Get a document1": {
"main": [
[
{
"node": "Get a presentation1",
"type": "main",
"index": 0
}
]
]
},
"Get a document2": {
"main": [
[
{
"node": "Get a presentation",
"type": "main",
"index": 0
}
]
]
},
"Upload to Imgbb": {
"main": [
[
{
"node": "Replace Image",
"type": "main",
"index": 0
}
]
]
},
"Convert to File1": {
"main": [
[
{
"node": "Upload file1",
"type": "main",
"index": 0
}
]
]
},
"Convert to File2": {
"main": [
[
{
"node": "Upload file2",
"type": "main",
"index": 0
}
]
]
},
"Convert to File3": {
"main": [
[
{
"node": "Upload file3",
"type": "main",
"index": 0
}
]
]
},
"Convert to File4": {
"main": [
[
{
"node": "Upload file4",
"type": "main",
"index": 0
}
]
]
},
"Convert to File5": {
"main": [
[
{
"node": "Upload file5",
"type": "main",
"index": 0
}
]
]
},
"Upload to Imgbb1": {
"main": [
[
{
"node": "Replace Image1",
"type": "main",
"index": 0
}
]
]
},
"Upload to Imgbb2": {
"main": [
[
{
"node": "Replace Image2",
"type": "main",
"index": 0
}
]
]
},
"Upload to Imgbb3": {
"main": [
[
{
"node": "Replace Image3",
"type": "main",
"index": 0
}
]
]
},
"Upload to Imgbb4": {
"main": [
[
{
"node": "Replace Image4",
"type": "main",
"index": 0
}
]
]
},
"Upload to Imgbb5": {
"main": [
[
{
"node": "Replace Image5",
"type": "main",
"index": 0
}
]
]
},
"Convert to Base64": {
"main": [
[
{
"node": "Upload to Imgbb",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Generate Presentation Plan",
"type": "ai_languageModel",
"index": 1
}
]
]
},
"Convert to Base641": {
"main": [
[
{
"node": "Upload to Imgbb1",
"type": "main",
"index": 0
}
]
]
},
"Convert to Base642": {
"main": [
[
{
"node": "Upload to Imgbb2",
"type": "main",
"index": 0
}
]
]
},
"Convert to Base643": {
"main": [
[
{
"node": "Upload to Imgbb3",
"type": "main",
"index": 0
}
]
]
},
"Convert to Base644": {
"main": [
[
{
"node": "Upload to Imgbb4",
"type": "main",
"index": 0
}
]
]
},
"Convert to Base645": {
"main": [
[
{
"node": "Upload to Imgbb5",
"type": "main",
"index": 0
}
]
]
},
"Get a presentation": {
"main": [
[
{
"node": "Download file 2",
"type": "main",
"index": 0
},
{
"node": "Download file 3",
"type": "main",
"index": 0
},
{
"node": "Download file 4",
"type": "main",
"index": 0
},
{
"node": "Download file 5",
"type": "main",
"index": 0
},
{
"node": "Download file 6",
"type": "main",
"index": 0
},
{
"node": "Download file 1",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Create Presentation",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Final Text Content Formatting",
"type": "ai_languageModel",
"index": 1
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Illustrations & Image Prompt Agent",
"type": "ai_languageModel",
"index": 1
}
]
]
},
"Create PPT Plan Doc": {
"main": [
[
{
"node": "Update PPT Plan Doc",
"type": "main",
"index": 0
}
]
]
},
"Create Presentation": {
"main": [
[
{
"node": "Append in Main Sheet",
"type": "main",
"index": 0
}
]
]
},
"Get a presentation1": {
"main": [
[
{
"node": "Final Text Content Formatting",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet": {
"main": [
[
{
"node": "Get a document",
"type": "main",
"index": 0
}
]
]
},
"Update PPT Plan Doc": {
"main": [
[
{
"node": "Update row in Main Sheet + Trigger Image Gen",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Append in Main Sheet": {
"main": [
[
{
"node": "Append in Images Sheet",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet2": {
"main": [
[
{
"node": "Get row(s) in sheet3",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet3": {
"main": [
[
{
"node": "Get a document1",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet4": {
"main": [
[
{
"node": "Get row(s) in sheet5",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet5": {
"main": [
[
{
"node": "Get a document2",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet1": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet2": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet3": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet4": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Update row in sheet5": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Update row in sheet6": {
"main": [
[
{
"node": "Wait2",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet7": {
"main": [
[]
]
},
"Append in Client Sheet": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Append in Images Sheet": {
"main": [
[
{
"node": "Append in Client Sheet",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Illustrations & Image Prompt Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Illustrations & Image Prompt Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Google Gemini Chat Model1": {
"ai_languageModel": [
[
{
"node": "Final Text Content Formatting",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google Gemini Chat Model2": {
"ai_languageModel": [
[
{
"node": "Generate Presentation Plan",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Generate Presentation Plan": {
"main": [
[
{
"node": "Create PPT Plan Doc",
"type": "main",
"index": 0
}
]
]
},
"Update row in Images Sheet": {
"main": [
[
{
"node": "Wait3",
"type": "main",
"index": 0
}
]
]
},
"Final Text Content Formatting": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Replace text in a presentation": {
"main": [
[
{
"node": "Update row in sheet6",
"type": "main",
"index": 0
}
]
]
},
"Update row Presentation Details": {
"main": [
[
{
"node": "Update row in Images Sheet",
"type": "main",
"index": 0
}
]
]
},
"Illustrations & Image Prompt Agent": {
"main": [
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
},
{
"node": "HTTP Request2",
"type": "main",
"index": 0
},
{
"node": "HTTP Request",
"type": "main",
"index": 0
},
{
"node": "HTTP Request3",
"type": "main",
"index": 0
},
{
"node": "HTTP Request4",
"type": "main",
"index": 0
},
{
"node": "HTTP Request5",
"type": "main",
"index": 0
}
]
]
},
"Update row in Main Sheet + Trigger Image Gen": {
"main": [
[
{
"node": "Wait1",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
WordPress博客自动化专业版(深度研究)v2.1市场
使用GPT-4o、Perplexity AI和多语言支持自动化SEO优化的博客创建
If
Set
Xml
+27
125 节点Daniel Ng
内容创作
1. 播放列表详情设置机器人副本
使用 Suno、GPT-4、Runway 和 Creatomate 创建 AI 生成的 YouTube 音乐播放列表
If
Set
Code
+22
203 节点Joseph
内容创作
使用 OpenAI、ElevenLabs 和 Fal.ai 自动化病毒式内容创作,适用于视频、播客和 ASMR
使用 OpenAI、ElevenLabs 和 Fal.ai 自动化病毒式内容创作,适用于视频、播客和 ASMR
Set
Code
Wait
+16
97 节点Adam Crafts
内容创作
使用OpenAI、RunwayML和ElevenLabs自动化无脸短视频
使用OpenAI、RunwayML和ElevenLabs自动化无脸短视频:从脚本到社交媒体
Set
Code
Wait
+18
56 节点LeeWei
内容创作
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+93
113 节点I versus AI
其他
HR候选人解析与评估 - 使用GPT-4.1和LinkedIn数据的CSV/XLSX
HR候选人解析与评估 - 使用GPT-4.1和LinkedIn数据的CSV/XLSX
Set
Code
Gmail
+15
33 节点Elay Guez
内容创作
工作流信息
难度等级
高级
节点数量107
分类2
节点类型17
作者
Joseph
@mjombaAutomation expert specializing in building smart, scalable workflows using tools like n8n, Make, and Airtable. I help businesses save time, reduce manual work, and grow faster with tailored automation solutions. Feel free to reach out at joseph@uppfy.com to discuss your project. I am also on x.com/juppfy
外部链接
在 n8n.io 查看 →
分享此工作流