AutomationFlows β€Ί Slack & Telegram β€Ί Enhance Real-estate Photos with Google Nano Banana AI via Telegram Bot

Enhance Real-estate Photos with Google Nano Banana AI via Telegram Bot

ByAutomate With Marc @marconiβœ“ on n8n.io

πŸ€– Telegram Image Editor with Nano Banana

Event triggerβ˜…β˜…β˜…β˜…β˜† complexity15 nodesHTTP RequestTelegram TriggerTelegramGoogle Drive
Slack & Telegram Trigger: Event Nodes: 15 Complexity: β˜…β˜…β˜…β˜…β˜† Added:

This workflow corresponds to n8n.io template #8726 β€” we link there as the canonical source.

This workflow follows the Google Drive β†’ HTTP Request recipe pattern β€” see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide β†’

Download .json
{
  "id": "yo4uYVB632LSnvSU",
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "name": "Telegram to Nano Banana Workflow",
  "tags": [],
  "nodes": [
    {
      "id": "7c24c0ee-5f38-4bba-92e6-d1d01e436581",
      "name": "Nano Banana POST Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        336,
        16
      ],
      "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\": \"Enhance this apartment photo to make it appealing for real-estate listing. Brighten the overall lighting and create a warm, inviting atmosphere. Improve color balance, contrast, and sharpness to highlight the space. Tidy up and declutter visible items (e.g., remove small messes, smooth out wrinkles on furniture, clear counters). Add natural daylight tones through the windows and enhance shadows for depth. Do not alter permanent fixtures such as flooring, walls, windows, doors, or built-in cabinetry. Keep the original layout intact but ensure the space looks clean, modern, and move-in ready.\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "1f3805fc-c2d2-4b48-a340-7dafa0b0379f",
      "name": "Wait 15 Secs",
      "type": "n8n-nodes-base.wait",
      "position": [
        608,
        0
      ],
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "50fb891b-0525-4df6-9dfd-37b1e6eddf36",
      "name": "GET Result from Nano Banana Node",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        864,
        0
      ],
      "parameters": {
        "url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "25f5c3eb-ae6b-4df1-8c1e-7e555e2869f3",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        1072,
        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": "6969741a-716f-4db3-98ac-2c5fefba0a69",
      "name": "Wait 15 Secs Again",
      "type": "n8n-nodes-base.wait",
      "position": [
        1136,
        176
      ],
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "a9c30d3e-a5ee-4d4c-bea2-dda831661fb1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        -288
      ],
      "parameters": {
        "color": 3,
        "width": 304,
        "height": 800,
        "content": "Get Image and Upload"
      },
      "typeVersion": 1
    },
    {
      "id": "b1005b6a-4a02-4734-989f-892ac418fa8a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -288
      ],
      "parameters": {
        "color": 4,
        "width": 784,
        "height": 800,
        "content": "Get Results from Nano Banana"
      },
      "typeVersion": 1
    },
    {
      "id": "c5ec9b6b-812d-4baf-ad63-d9e43035edbb",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        -288
      ],
      "parameters": {
        "color": 5,
        "height": 800,
        "content": "Telegram Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "63fd933d-4aa0-466d-8a56-6eba6613ed3f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -288
      ],
      "parameters": {
        "width": 384,
        "height": 800,
        "content": "Download from Telegram"
      },
      "typeVersion": 1
    },
    {
      "id": "5fd8202f-6bbe-4568-a4ac-7c5153b51b1c",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -368,
        16
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "f97b1dbe-7641-4041-b481-d6437a535c71",
      "name": "Get a file",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -128,
        16
      ],
      "parameters": {
        "fileId": "={{ $json.message.photo[3].file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "b191aac9-9a9b-407f-a02e-d448fed08e4d",
      "name": "Upload file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        80,
        16
      ],
      "parameters": {
        "name": "Image",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "478dedf1-4436-424f-a3bf-2b36853fc61a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        -288
      ],
      "parameters": {
        "width": 336,
        "height": 800,
        "content": "POST Request to Nano Banana"
      },
      "typeVersion": 1
    },
    {
      "id": "a2acb7ab-2d20-4d05-879b-e6c432c4569c",
      "name": "Send a photo message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1424,
        -16
      ],
      "parameters": {
        "file": "={{ $json.data.outputs[0] }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.from.id }}",
        "operation": "sendPhoto",
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "3d2e0dd0-6fd0-4706-bb0c-1d8716294f23",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        -304
      ],
      "parameters": {
        "width": 720,
        "height": 1072,
        "content": "\ud83e\udd16 Telegram Image Editor with Nano Banana\n\nSend an image to your Telegram bot, and this workflow will automatically enhance it with Google\u2019s Nano Banana (via Wavespeed API), then return the polished version back to the same chat\u2014seamlessly.\n\n\ud83d\udc49 Watch step-by-step video tutorials of workflows like these on www.youtube.com/@automatewithmarc\n\nWhat it does\n\nListens on Telegram for incoming photo messages\n\nDownloads the file sent by the user\n\nUploads it to Google Drive (temporary storage for processing)\n\nSends the image to Nano Banana API with a real-estate style cleanup + enhancement prompt\n\nPolls until the job is complete (handles async processing)\n\nReturns the edited image back to the same Telegram chat\n\nPerfect for\n\nReal-estate agents previewing polished property photos instantly\n\nSocial media managers editing on-the-fly from Telegram\n\nAnyone who wants \u201csend \u2192 cleaned \u2192 returned\u201d image flow without manual edits\n\nApps & Services\n\nTelegram Bot API (Trigger + Send/Receive files)\n\nGoogle Drive (Temporary file storage)\n\nWavespeed / Google Nano Banana (AI-powered image editing)\n\nSetup\n\nConnect your Telegram Bot API token in n8n.\n\nAdd your Wavespeed API key for Nano Banana.\n\nLink your Google Drive account (temporary storage).\n\nDeploy the workflow and send a test photo to your Telegram bot.\n\nCustomization\n\nAdjust the Nano Banana prompt for different styles (e.g., ecommerce cleanup, portrait retouching, color correction).\n\nReplace Google Drive with another storage service if preferred.\n\nAdd logging to Google Sheets or Airtable to track edits."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "a4042770-302d-44b7-8d75-3178a190b8c9",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Send a photo message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 15 Secs Again",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a file": {
      "main": [
        [
          {
            "node": "Upload file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload file": {
      "main": [
        [
          {
            "node": "Nano Banana POST Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 15 Secs": {
      "main": [
        [
          {
            "node": "GET Result from Nano Banana Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Get a file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 15 Secs Again": {
      "main": [
        [
          {
            "node": "GET Result from Nano Banana Node",
            "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
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

πŸ€– Telegram Image Editor with Nano Banana

Source: https://n8n.io/workflows/8726/ β€” original creator credit. Request a take-down β†’

More Slack & Telegram workflows β†’ Β· Browse all categories β†’

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

This n8n workflow receives files sent in a Telegram chat, uploads them to Google Drive, extracts text using OCR (for images and PDFs), and stores the extracted content in Airtable for quick search and

Telegram Trigger, Telegram, Google Drive +2
Slack & Telegram

Video Watermark Remover. Uses telegramTrigger, stickyNote, httpRequest, telegram. Event-driven trigger; 14 nodes.

Telegram Trigger, HTTP Request, Telegram +1
Slack & Telegram

This workflow creates a voice AI assistant accessible via Telegram that leverages ElevenLabs powerful voice synthesis technology. Users can either clone their own voice or transform their voice* using

Telegram Trigger, Telegram, HTTP Request +1
Slack & Telegram

TextMain. Uses telegramTrigger, stopAndError, telegram, httpRequest. Event-driven trigger; 56 nodes.

Telegram Trigger, Stop And Error, Telegram +2
Slack & Telegram

Pede Ai. Uses httpRequest, telegram, postgres, telegramTrigger. Event-driven trigger; 53 nodes.

HTTP Request, Telegram, Postgres +1