使用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 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
这是一个高级难度的工作流,适用于Content Creation、Multimodal AI等场景。适合高级用户,包含 16+ 个节点的复杂工作流
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
自动化本地线索查找与冷邮件发送
使用 Apify、AI 和 Gmail 自动查找本地线索并发送冷邮件
If
Set
Wait
+10
18 节点Meak
Content Creation
自动化潜在客户跟进:GPT-4o mini分析用于Gmail、HubSpot和Slack
自动化潜在客户跟进:GPT-4o mini分析用于Gmail、HubSpot和Slack
If
Set
Code
+7
14 节点Meak
Content Creation
使用Sora-2、GPT和YouTube创建和发布联盟产品视频
使用Sora-2、GPT和YouTube创建和发布联盟产品视频
If
Set
Code
+12
34 节点Amjid Ali
Content Creation
通过分析热门Reels使用Apify和GPT-4生成病毒式Instagram脚本
通过分析热门Reels使用Apify和GPT-4生成病毒式Instagram脚本
If
Wait
Gmail
+9
19 节点Nitin Dixit
Content Creation
✅ 病毒式Reels工厂
使用Veo、Shotstack和Postiz自动化ASMR玻璃水果视频创作与发布
If
Jwt
Set
+12
37 节点Ayoub Boutouil
Content Creation
使用Replicate和OpenAI制作无面孔恐怖短片
通过OpenAI TTS、Replicate视频生成和YouTube上传制作无面孔恐怖短片
If
Code
Wait
+13
50 节点Deb Mukherjee
Content Creation