使用Nano Banana + GPT-5自动化图片编辑和IG发布
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 19 个节点。主要使用 If, Wait, HttpRequest, GoogleSheets, Agent 等节点。 通过Nano Banana和GPT-5自动化图片编辑和Instagram发布
前置要求
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •Google Drive API 凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "011f9595948d922d10a25ff6695461f4658583189c25106651f3356ba60691ed",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "b550bf52-81d7-44b7-8a56-6582a635870b",
"name": "Google Drive 触发器",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
1424,
608
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "YOUR_FOLDER_ID",
"cachedResultUrl": "YOUR_FOLDER_URL",
"cachedResultName": "Image Upload Folder"
}
},
"typeVersion": 1
},
{
"id": "63942884-b26a-48b2-8063-7b8c59494cf2",
"name": "Nano Banana POST请求",
"type": "n8n-nodes-base.httpRequest",
"position": [
1664,
608
],
"parameters": {
"url": "https://api.wavespeed.ai/api/v3/google/nano-banana/edit",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"jsonBody": "={\n \"enable_base64_output\": false,\n \"enable_sync_mode\": false,\n \"images\": [\n \"{{ $json.webContentLink }}\"\n ],\n \"output_format\": \"jpeg\",\n \"prompt\": \"Clean up and declutter this apartment unit: remove all mess, trash, and personal items while keeping the original furniture, layout, and design intact. Tidy up surfaces, straighten objects, and make the space look neat and inviting. Enhance the lighting to appear bright and natural, similar to professional real-estate photography, without altering the structure or style of the apartment.\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "6c3c8e4d-a5ea-4287-8d71-ed732bb3a719",
"name": "等待15秒",
"type": "n8n-nodes-base.wait",
"position": [
1824,
608
],
"webhookId": "319f45e0-26e7-457d-b5c5-560a8bba9f8b",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
"name": "从Nano Banana节点获取结果",
"type": "n8n-nodes-base.httpRequest",
"position": [
2080,
608
],
"parameters": {
"url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
"options": {
"redirect": {
"redirect": {}
}
},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "4f98a56c-3eb9-4fdc-a606-29b1e10981e7",
"name": "在表格中追加行",
"type": "n8n-nodes-base.googleSheets",
"position": [
2576,
608
],
"parameters": {
"columns": {
"value": {
"Image URL": "={{ $json.data.outputs[0] }}",
"Timestamp": "={{ $now }}"
},
"schema": [
{
"id": "Image URL",
"type": "string",
"display": true,
"required": false,
"displayName": "Image URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_NAME",
"cachedResultUrl": "YOUR_SHEET_URL",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_ID",
"cachedResultUrl": "YOUR_SHEET_URL",
"cachedResultName": "Editted Image Log"
}
},
"typeVersion": 4.7
},
{
"id": "0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f",
"name": "如果",
"type": "n8n-nodes-base.if",
"position": [
2288,
608
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b84517df-a71f-4e28-b744-35bb1e55b85f",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data.status }}",
"rightValue": "completed"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "8538e41c-39e3-4923-9167-cfe17c687cdc",
"name": "再次等待15秒",
"type": "n8n-nodes-base.wait",
"position": [
2352,
784
],
"webhookId": "5e110e46-28c5-4144-9052-16821d0ea666",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b",
"name": "上传至 Postiz",
"type": "n8n-nodes-base.httpRequest",
"position": [
3024,
608
],
"parameters": {
"url": "https://api.postiz.com/public/v1/upload",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "c3184cf0-6101-48a7-9a44-4c800237f544",
"name": "发布到Instagram",
"type": "n8n-nodes-base.httpRequest",
"position": [
3856,
608
],
"parameters": {
"url": "https://api.postiz.com/public/v1/posts",
"method": "POST",
"options": {},
"jsonBody": "={\n \"type\": \"now\",\n \"shortLink\": false,\n \"date\": \"{{ new Date($now).toISOString() }}\",\n \"tags\": [],\n \"posts\": [\n {\n \"integration\": { \"id\": \"cmeku38qa00cpo90yfw4ai6lt\" },\n \"value\": [\n {\n \"content\": \"{{ $json.output }}\",\n \"image\": [\n {\n \"id\": \"{{ $node['Upload to Postiz'].json.id }}\",\n \"path\": \"{{ $node['Upload to Postiz'].json.path }}\"\n }\n ]\n }\n ],\n \"settings\": {\n \"post_type\": \"post\"\n }\n }\n ]\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "c46c1b35-4bf0-4c90-9881-efd520df4b2a",
"name": "更新日志",
"type": "n8n-nodes-base.googleSheets",
"position": [
3248,
608
],
"parameters": {
"columns": {
"value": {
"Status": "Uploaded to Postiz",
"Timestamp": "={{ $now }}",
"Video Name and Description": "={{ $('Google Drive Trigger').item.json.name }}"
},
"schema": [
{
"id": "Video Name and Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Video Name and Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "Timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_NAME",
"cachedResultUrl": "YOUR_SHEET_URL",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_ID",
"cachedResultUrl": "YOUR_SHEET_URL",
"cachedResultName": "Logs of Captioned Videos to Publish"
}
},
"typeVersion": 4.7
},
{
"id": "cb42c1d0-795f-4605-93f3-e13f6944654b",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
3536,
816
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5",
"cachedResultName": "gpt-5"
},
"options": {}
},
"typeVersion": 1.2
},
{
"id": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
"name": "字幕代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3488,
608
],
"parameters": {
"text": "={{ $json['Video Name and Description'] }}",
"options": {
"systemMessage": "=You are an expert Instagram caption writer.\nYour task is to take the image prompt provided by the user and generate a short, engaging caption for Instagram or Tik-Tok Reels\n\nCaption Guidelines\n\n\nTone: friendly, impactful and exciting\n\n##Output Rules\nDo not use special characters like {} ! %$&*\nReturn only one final caption per request.\nDo not include explanations or formatting outside of the caption itself."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "3ab434fd-3256-4687-92fa-0246078c391c",
"name": "便签 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
3456,
320
],
"parameters": {
"color": 7,
"width": 288,
"height": 800,
"content": "IG标题"
},
"typeVersion": 1
},
{
"id": "58a237a0-8a4b-4c75-875d-833731a2c313",
"name": "便签 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
3760,
320
],
"parameters": {
"color": 2,
"width": 304,
"height": 800,
"content": "发布到IG"
},
"typeVersion": 1
},
{
"id": "1f080554-b4ef-42c9-8e6b-ecbeb78dc093",
"name": "获取图像",
"type": "n8n-nodes-base.httpRequest",
"position": [
2816,
608
],
"parameters": {
"url": "={{ $json['Image URL'] }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "dff121ad-7120-452e-a4ae-9e33a1dfc4b4",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
2784,
320
],
"parameters": {
"color": 3,
"width": 656,
"height": 800,
"content": "获取图像并上传"
},
"typeVersion": 1
},
{
"id": "d8d5a377-1a6f-4684-851a-5f51adaf10f3",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1984,
320
],
"parameters": {
"color": 4,
"width": 784,
"height": 800,
"content": "从Nano Banana获取结果"
},
"typeVersion": 1
},
{
"id": "801e4aaf-ce66-4c03-9fe8-9a0cab42d8ed",
"name": "便签 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1344,
320
],
"parameters": {
"color": 5,
"height": 800,
"content": "Drive触发器"
},
"typeVersion": 1
},
{
"id": "4c8622a9-d705-4444-93ed-513a4c033b80",
"name": "便签 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1600,
320
],
"parameters": {
"width": 368,
"height": 800,
"content": "Drive触发器"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"If": {
"main": [
[
{
"node": "Append row in sheet",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait 15 Secs Again",
"type": "main",
"index": 0
}
]
]
},
"Get Image": {
"main": [
[
{
"node": "Upload to Postiz",
"type": "main",
"index": 0
}
]
]
},
"Update Log": {
"main": [
[
{
"node": "Caption Agent",
"type": "main",
"index": 0
}
]
]
},
"Wait 15 Secs": {
"main": [
[
{
"node": "GET Result from Nano Banana Node",
"type": "main",
"index": 0
}
]
]
},
"Caption Agent": {
"main": [
[
{
"node": "Post to Instagram",
"type": "main",
"index": 0
}
]
]
},
"Upload to Postiz": {
"main": [
[
{
"node": "Update Log",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Caption Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Wait 15 Secs Again": {
"main": [
[
{
"node": "GET Result from Nano Banana Node",
"type": "main",
"index": 0
}
]
]
},
"Append row in sheet": {
"main": [
[
{
"node": "Get Image",
"type": "main",
"index": 0
}
]
]
},
"Google Drive Trigger": {
"main": [
[
{
"node": "Nano Banana POST Request",
"type": "main",
"index": 0
}
]
]
},
"Nano Banana POST Request": {
"main": [
[
{
"node": "Wait 15 Secs",
"type": "main",
"index": 0
}
]
]
},
"GET Result from Nano Banana Node": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
自动化本地线索查找与冷邮件发送
使用 Apify、AI 和 Gmail 自动查找本地线索并发送冷邮件
If
Set
Wait
+10
18 节点Meak
内容创作
自动化潜在客户跟进:GPT-4o mini分析用于Gmail、HubSpot和Slack
自动化潜在客户跟进:GPT-4o mini分析用于Gmail、HubSpot和Slack
If
Set
Code
+7
14 节点Meak
内容创作
AI驱动的邮件分诊与自动回复系统,集成OpenAI代理和Gmail
AI驱动的邮件分诊与自动回复系统,集成OpenAI代理和Gmail
If
Set
Gmail
+20
68 节点Abdullahi Ahmed
内容创作
TikTok轮播复制器与翻译器
使用Gemini Vision和Midjourney自动翻译并重新创建TikTok轮播内容
If
Wait
Gmail
+11
21 节点Xavier Tai
内容创作
✅ 病毒式Reels工厂
使用Veo、Shotstack和Postiz自动化ASMR玻璃水果视频创作与发布
If
Jwt
Set
+12
37 节点Ayoub Boutouil
内容创作
Apollo 数据抓取与触达流程 1 ✅
使用 Apollo、AI 解析和定时邮件跟进自动生成潜在客户
If
Code
Wait
+13
39 节点Deniz
内容创作