Modifier des images avec Nano Banana
Ceci est unMiscellaneous, Multimodal AIworkflow d'automatisation du domainecontenant 12 nœuds.Utilise principalement des nœuds comme If, Wait, Gmail, HttpRequest, GoogleDriveTrigger. Utiliser Nano Banana pour modifier automatiquement les images dans Google Drive et les envoyer par Gmail
- •Compte Google et informations d'identification Gmail API
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Drive API
Nœuds utilisés (12)
Catégorie
{
"id": "FypITSkWGorqJ9AC",
"meta": {
"instanceId": "1c7b08fed4406d546caf4a44e8b942ca317e7e207bb9a5701955a1a6e1ce1843",
"templateCredsSetupCompleted": true
},
"name": "Edit Images with Nano Banana",
"tags": [],
"nodes": [
{
"id": "e13be6e8-d952-4b3e-a2cd-299e8d6b2703",
"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": "REDACTED_FOLDER_ID",
"cachedResultUrl": "REDACTED_FOLDER_URL",
"cachedResultName": "Image Upload Folder"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 1
},
{
"id": "0d29dcde-79b9-4c5c-a403-9c01004d8afe",
"name": "Post Image Edit Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
256,
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\": \"Change the lighting to night scene\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 4.2
},
{
"id": "7a6b15d9-7a92-4037-8c51-3a45e6b10091",
"name": "Get Image Edit Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
784,
0
],
"parameters": {
"url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
"options": {
"redirect": {
"redirect": {}
}
},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 4.2
},
{
"id": "6ed0ffd0-d7ff-42de-8b9f-e649cb0c308a",
"name": "Attendre 15 Secs",
"type": "n8n-nodes-base.wait",
"position": [
496,
0
],
"webhookId": "bb1fb286-c850-452f-9abb-87042232fb05",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "b3890106-f04c-4d42-ac06-fcb6c317754f",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
992,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bb31e7d0-81be-4f66-bb33-355a6bee54ad",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data.status }}",
"rightValue": "completed"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f05d5f9a-754f-48cf-8084-913e19456f92",
"name": "Attendre 15 Secs2",
"type": "n8n-nodes-base.wait",
"position": [
896,
176
],
"webhookId": "eaa01585-31de-4930-9ab7-237e0905ca17",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "6fbd64ee-b4c3-4098-b51f-9a5753adc48c",
"name": "Send Edited Image to E-mail",
"type": "n8n-nodes-base.gmail",
"position": [
1312,
-16
],
"webhookId": "12ba2444-1b18-4a0d-8378-e228880ca283",
"parameters": {
"sendTo": "REDACTED_EMAIL",
"message": "={{ $json.data.outputs[0] }}",
"options": {},
"subject": "Edited Image"
},
"credentials": {
"gmailOAuth2": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 2.1
},
{
"id": "b4fb4713-2fd5-40a8-97f1-ea40b33c6cc2",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-192
],
"parameters": {
"height": 672,
"content": "Image Upload to Drive Trigger"
},
"typeVersion": 1
},
{
"id": "314f2fe1-b0e8-4fbb-b8d3-cae73fabfd80",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-192
],
"parameters": {
"color": 7,
"width": 256,
"height": 672,
"content": "Post Image to Nano Banana to Edit (Wavespeed)"
},
"typeVersion": 1
},
{
"id": "1b267f45-4981-47e7-a6c2-85a66e0f9716",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
-192
],
"parameters": {
"color": 4,
"width": 704,
"height": 672,
"content": "Get Edited Image from Nano Banana (Wavespeed)"
},
"typeVersion": 1
},
{
"id": "e3fffbab-22bb-47ae-81fc-62c0237eda95",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1168,
-192
],
"parameters": {
"color": 3,
"width": 336,
"height": 672,
"content": "Send Edited Image to Email"
},
"typeVersion": 1
},
{
"id": "5ce5afb0-398b-494e-978a-e0c3a7dbd799",
"name": "Note adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
-208
],
"parameters": {
"width": 1008,
"height": 1392,
"content": "Google Drive → Wavespeed (Google Nano Banana) → Gmail: Auto-Edit & Email Images\n\nWhen a new image is uploaded to a specific Google Drive folder, this workflow sends it to Wavespeed’s Google Nano Banana image editing API, waits for the edited version, and then emails the result automatically. Perfect for creators, marketers, and ops teams who want hands-off, consistent image edits with instant delivery to a stakeholder inbox.\n\n👉 Watch step-by-step video tutorials of workflows like these on: www.youtube.com/@automatewithmarc\n\nHighlights\n\nGoogle Drive trigger detects new image uploads\n\nWavespeed API (Google Nano Banana) performs automated image editing\n\nPolling loop checks job status until complete\n\nGmail auto-sends the edited image to your chosen recipient\n\nGreat for social media pipelines, product photo retouching, or team approvals\n\n\nApps & Nodes Used\n\nTrigger: Google Drive Trigger (fileCreated in folder)\n\nHTTP Request: POST to Wavespeed (submit edit job)\n\nWait: Delay before first status check (15s)\n\nHTTP Request: GET result (poll prediction status)\n\nIF: Status == completed → proceed, else wait & recheck\n\nGmail: Send edited image output to recipient\n\nPrerequisites\n\nn8n account (Cloud or Self-hosted)\n\nGoogle Drive folder for uploads\n\nWavespeed API key (HTTP Header Auth)\n\nGmail account with OAuth2 connected to n8n\n\nConfiguration (5 Steps)\n\nGoogle Drive Trigger – set to your image upload folder.\n\nPOST Image Edit Request – sends file URL + prompt (default: “Change the lighting to night scene”).\n\nWait 15s – lets the job start.\n\nGET Image Edit Request – checks prediction status/result.\n\nIF → Gmail – once status = completed, send edited image to your chosen email.\n\nCustomization\n\nChange the prompt (e.g., “remove background”, “enhance product lighting”).\n\nSet Gmail recipient dynamically or statically.\n\nAdjust polling wait times based on job length.\n\nSave results to Drive/S3 instead of email if needed.\n\nError Handling\n\nAdd IF nodes to catch API errors.\nSet a retry limit to avoid infinite loops.\nUse Drive “Share File” if API can’t access the uploaded file link."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "d54ba365-2b52-4494-b77a-7d08f29cec34",
"connections": {
"b3890106-f04c-4d42-ac06-fcb6c317754f": {
"main": [
[
{
"node": "Send Edited Image to Email",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait 15 Secs2",
"type": "main",
"index": 0
}
]
]
},
"Wait 15 Secs": {
"main": [
[
{
"node": "7a6b15d9-7a92-4037-8c51-3a45e6b10091",
"type": "main",
"index": 0
}
]
]
},
"Wait 15 Secs2": {
"main": [
[
{
"node": "7a6b15d9-7a92-4037-8c51-3a45e6b10091",
"type": "main",
"index": 0
}
]
]
},
"e13be6e8-d952-4b3e-a2cd-299e8d6b2703": {
"main": [
[
{
"node": "0d29dcde-79b9-4c5c-a403-9c01004d8afe",
"type": "main",
"index": 0
}
]
]
},
"7a6b15d9-7a92-4037-8c51-3a45e6b10091": {
"main": [
[
{
"node": "b3890106-f04c-4d42-ac06-fcb6c317754f",
"type": "main",
"index": 0
}
]
]
},
"0d29dcde-79b9-4c5c-a403-9c01004d8afe": {
"main": [
[
{
"node": "Wait 15 Secs",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Divers, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
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
Partager ce workflow