Nano banana + Automatische Veröffentlichung
Dies ist ein Social Media, Multimodal AI-Bereich Automatisierungsworkflow mit 20 Nodes. Hauptsächlich werden If, Wait, HttpRequest, GoogleSheets, Agent und andere Nodes verwendet. Automatisierung der Bildbearbeitung und Instagram-Veröffentlichung durch Titelgenerierung mit Nano Banana und GPT-5
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
- •Google Drive API-Anmeldedaten
- •OpenAI API Key
Verwendete Nodes (20)
Kategorie
{
"id": "y3AF1pEsxHZOiRC0",
"meta": {
"instanceId": "1c7b08fed4406d546caf4a44e8b942ca317e7e207bb9a5701955a1a6e1ce1843",
"templateCredsSetupCompleted": true
},
"name": "Nano banana + Autopost",
"tags": [],
"nodes": [
{
"id": "b550bf52-81d7-44b7-8a56-6582a635870b",
"name": "Google Drive Trigger",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
0,
0
],
"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"
}
},
"credentials": {},
"typeVersion": 1
},
{
"id": "63942884-b26a-48b2-8063-7b8c59494cf2",
"name": "Nano Banana POST-Anfrage",
"type": "n8n-nodes-base.httpRequest",
"position": [
240,
0
],
"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"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "6c3c8e4d-a5ea-4287-8d71-ed732bb3a719",
"name": "15 Sekunden warten",
"type": "n8n-nodes-base.wait",
"position": [
400,
0
],
"webhookId": "319f45e0-26e7-457d-b5c5-560a8bba9f8b",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
"name": "Ergebnis von Nano Banana Node abrufen",
"type": "n8n-nodes-base.httpRequest",
"position": [
656,
0
],
"parameters": {
"url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
"options": {
"redirect": {
"redirect": {}
}
},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "4f98a56c-3eb9-4fdc-a606-29b1e10981e7",
"name": "Zeile in Tabelle anhängen",
"type": "n8n-nodes-base.googleSheets",
"position": [
1152,
0
],
"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"
}
},
"credentials": {},
"typeVersion": 4.7
},
{
"id": "0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f",
"name": "Wenn",
"type": "n8n-nodes-base.if",
"position": [
864,
0
],
"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": "Nochmals 15 Sekunden warten",
"type": "n8n-nodes-base.wait",
"position": [
928,
176
],
"webhookId": "5e110e46-28c5-4144-9052-16821d0ea666",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b",
"name": "Zu Postiz hochladen",
"type": "n8n-nodes-base.httpRequest",
"position": [
1600,
0
],
"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"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "c3184cf0-6101-48a7-9a44-4c800237f544",
"name": "Bei Instagram veröffentlichen",
"type": "n8n-nodes-base.httpRequest",
"position": [
2432,
0
],
"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"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "c46c1b35-4bf0-4c90-9881-efd520df4b2a",
"name": "Log aktualisieren",
"type": "n8n-nodes-base.googleSheets",
"position": [
1824,
0
],
"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"
}
},
"credentials": {},
"typeVersion": 4.7
},
{
"id": "cb42c1d0-795f-4605-93f3-e13f6944654b",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2112,
208
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5",
"cachedResultName": "gpt-5"
},
"options": {}
},
"credentials": {},
"typeVersion": 1.2
},
{
"id": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
"name": "Caption Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2064,
0
],
"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": "Notiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2032,
-288
],
"parameters": {
"color": 7,
"width": 288,
"height": 800,
"content": "Caption for IG"
},
"typeVersion": 1
},
{
"id": "58a237a0-8a4b-4c75-875d-833731a2c313",
"name": "Notiz5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2336,
-288
],
"parameters": {
"color": 2,
"width": 304,
"height": 800,
"content": "Post to IG"
},
"typeVersion": 1
},
{
"id": "1f080554-b4ef-42c9-8e6b-ecbeb78dc093",
"name": "Bild abrufen",
"type": "n8n-nodes-base.httpRequest",
"position": [
1392,
0
],
"parameters": {
"url": "={{ $json['Image URL'] }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "dff121ad-7120-452e-a4ae-9e33a1dfc4b4",
"name": "Notiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
1360,
-288
],
"parameters": {
"color": 3,
"width": 656,
"height": 800,
"content": "Get Image and Upload"
},
"typeVersion": 1
},
{
"id": "d8d5a377-1a6f-4684-851a-5f51adaf10f3",
"name": "Notiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
-288
],
"parameters": {
"color": 4,
"width": 784,
"height": 800,
"content": "Get Results from Nano Banana"
},
"typeVersion": 1
},
{
"id": "801e4aaf-ce66-4c03-9fe8-9a0cab42d8ed",
"name": "Notiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-288
],
"parameters": {
"color": 5,
"height": 800,
"content": "Drive Trigger"
},
"typeVersion": 1
},
{
"id": "4c8622a9-d705-4444-93ed-513a4c033b80",
"name": "Notiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-288
],
"parameters": {
"width": 368,
"height": 800,
"content": "Drive Trigger"
},
"typeVersion": 1
},
{
"id": "31820743-5d4d-4d93-9553-db353fbcc6ac",
"name": "Notiz6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1056,
-368
],
"parameters": {
"color": 7,
"width": 848,
"height": 1536,
"content": "📸 Auto-Edit Google Drive Images with Nano Banana + Social Auto-Post\n\nDrop an image into Google Drive and let this workflow handle the rest: it auto-cleans and enhances the image with Google’s Nano Banana (via Wavespeed API), generates a catchy caption with GPT-5, and publishes directly to your connected social accounts using Postiz.\n\n👉 Watch step-by-step video tutorials of workflows like these on https://www.youtube.com/watch?v=4wk6PYgBtBM&list=PL05w1TE8X3bb1H9lXBqUy98zmTrrPP-s1\n\nWhat it does\n\nTriggers from Google Drive when a new image is uploaded\n\nSends the image to Nano Banana to declutter, brighten, and make it real-estate/photo-listing ready\n\nPolls for the edited result until it’s complete\n\nLogs the edited image URL into Google Sheets for tracking\n\nDownloads and uploads the edited image into Postiz media library\n\nGenerates an engaging caption with GPT-5 Caption Agent\n\nPublishes instantly to Instagram (can be extended to TikTok, LinkedIn, etc.)\n\nPerfect for\n\nReal-estate agents posting property shots\n\nEcommerce sellers updating product catalogs\n\nSocial media marketers needing fast, polished posts\n\nApps & Services\n\nGoogle Drive (Trigger)\n\nWavespeed API – Google Nano Banana (Image editing)\n\nGoogle Sheets (Logging)\n\nPostiz (Social scheduling/posting)\n\nOpenAI GPT-5 (Caption agent)\n\nSetup\n\nConnect your Google Drive and select the upload folder.\n\nAdd your Wavespeed API key for Nano Banana.\n\nConnect Google Sheets for logging.\n\nAdd Postiz API credentials and set the integration ID for your channel(s).\n\nEnter your OpenAI API key for GPT-5 captioning.\n\nCustomization\n\nAdjust the edit prompt for different use cases (e.g., product cleanup, lighting tweaks).\n\nChange Postiz post type to scheduled instead of “now.”\n\nAdd more Postiz posts for multi-platform publishing.\n\nInsert an approval loop (Slack/Email) before posting.\n\nLogs\n\nEdited Image Log (Sheets): stores final image URL + timestamp.\n\nPublishing Log (Sheets): tracks workflow status per asset.\n\nNotes\n\nSticky notes in the template explain each major block.\n\nReplace sample IDs with your own (folder IDs, sheet IDs, Postiz integration).\n\nKeep all API keys in n8n Credentials, not in node parameters."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "5b7201de-043e-4ae6-95d0-fb7a33290f68",
"connections": {
"0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f": {
"main": [
[
{
"node": "4f98a56c-3eb9-4fdc-a606-29b1e10981e7",
"type": "main",
"index": 0
}
],
[
{
"node": "8538e41c-39e3-4923-9167-cfe17c687cdc",
"type": "main",
"index": 0
}
]
]
},
"1f080554-b4ef-42c9-8e6b-ecbeb78dc093": {
"main": [
[
{
"node": "2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b",
"type": "main",
"index": 0
}
]
]
},
"c46c1b35-4bf0-4c90-9881-efd520df4b2a": {
"main": [
[
{
"node": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
"type": "main",
"index": 0
}
]
]
},
"6c3c8e4d-a5ea-4287-8d71-ed732bb3a719": {
"main": [
[
{
"node": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
"type": "main",
"index": 0
}
]
]
},
"2e6dd8f6-460c-483e-a3d8-385d519ca7da": {
"main": [
[
{
"node": "c3184cf0-6101-48a7-9a44-4c800237f544",
"type": "main",
"index": 0
}
]
]
},
"2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b": {
"main": [
[
{
"node": "c46c1b35-4bf0-4c90-9881-efd520df4b2a",
"type": "main",
"index": 0
}
]
]
},
"cb42c1d0-795f-4605-93f3-e13f6944654b": {
"ai_languageModel": [
[
{
"node": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"8538e41c-39e3-4923-9167-cfe17c687cdc": {
"main": [
[
{
"node": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
"type": "main",
"index": 0
}
]
]
},
"4f98a56c-3eb9-4fdc-a606-29b1e10981e7": {
"main": [
[
{
"node": "1f080554-b4ef-42c9-8e6b-ecbeb78dc093",
"type": "main",
"index": 0
}
]
]
},
"b550bf52-81d7-44b7-8a56-6582a635870b": {
"main": [
[
{
"node": "63942884-b26a-48b2-8063-7b8c59494cf2",
"type": "main",
"index": 0
}
]
]
},
"63942884-b26a-48b2-8063-7b8c59494cf2": {
"main": [
[
{
"node": "6c3c8e4d-a5ea-4287-8d71-ed732bb3a719",
"type": "main",
"index": 0
}
]
]
},
"ff945721-7eaa-453e-a8aa-efd7abac7c6e": {
"main": [
[
{
"node": "0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Soziale Medien, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Automate With Marc
@marconiAutomating Start-Up and Business processes. Helping non-techies understand and leverage Agentic AI with easy to understand step-by-step tutorials. Check out my educational content: https://www.youtube.com/@Automatewithmarc
Diesen Workflow teilen