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 β
{
"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
}
]
]
}
}
}
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.
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
Video Watermark Remover. Uses telegramTrigger, stickyNote, httpRequest, telegram. Event-driven trigger; 14 nodes.
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
TextMain. Uses telegramTrigger, stopAndError, telegram, httpRequest. Event-driven trigger; 56 nodes.
Pede Ai. Uses httpRequest, telegram, postgres, telegramTrigger. Event-driven trigger; 53 nodes.