Modifier des images avec Nano Banana

Intermédiaire

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

Prérequis
  • 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
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

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.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds12
Catégorie2
Types de nœuds6
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Automate With Marc

Automate With Marc

@marconi

Automating 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

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34