AI Image Generation & Editing with Google Gemini and Telegram Bot
Experte
Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 28 Nodes. Hauptsächlich werden If, Set, Code, Merge, Airtable und andere Nodes verwendet. KI-Bildgenerierung und -bearbeitung basierend auf Google Gemini sowie Telegram-Bot
Voraussetzungen
- •Airtable API Key
- •Telegram Bot Token
- •Google Drive API-Anmeldedaten
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Verwendete Nodes (28)
Kategorie
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"id": "dOynwI3sAYdHex7x",
"meta": {
"instanceId": "d3c17a28b831505b1128b4be827611328e2ecd2d4b635d3c4ca5c08fd677a016",
"templateCredsSetupCompleted": true
},
"name": "Home Furnishing AI (Google Nano Banana) - Santhej Kallada",
"tags": [
{
"id": "o5lUbXtRS653224b",
"name": "tutorials",
"createdAt": "2025-10-29T07:23:26.446Z",
"updatedAt": "2025-10-29T07:23:26.446Z"
}
],
"nodes": [
{
"id": "47fbda3a-c350-4dc8-8e4d-a02b989b44fc",
"name": "Telegram-Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-528,
1680
],
"webhookId": "fb264149-5f6f-41ef-9b49-aca9304879cc",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "54e2b068-775c-47d4-a1bc-9ddfe17e3d88",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
-304,
1680
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "a43f58c6-dccc-41fd-bbaf-7bb3f299adc7",
"operator": {
"type": "object",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.photo[0] }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "093a6d6a-ae91-4906-a7f3-5e6a63b382ee",
"name": "Edit Fields1",
"type": "n8n-nodes-base.set",
"position": [
1040,
1760
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2cb56c0e-aa56-4fe4-830e-8e42f2dee528",
"name": "message",
"type": "string",
"value": "={{ $('Telegram Trigger').item.json.message.text }}"
},
{
"id": "f7063ef9-30fe-4364-9ef2-043f55bcf591",
"name": "id",
"type": "string",
"value": "={{ $('Telegram Trigger').item.json.message.from.id }}"
},
{
"id": "e05afa5d-3824-41a6-8f7b-6cee3b0f5f36",
"name": "base_image_link",
"type": "string",
"value": "={{ $('Search records').item.json.base_image_link }}"
},
{
"id": "95219c2c-700b-41c6-a8d3-b635270a232f",
"name": "base_image64",
"type": "string",
"value": "={{ $json.data }}"
},
{
"id": "107928c3-4056-4e14-b7cd-13d6dccb0dac",
"name": "image_exits",
"type": "boolean",
"value": true
}
]
}
},
"typeVersion": 3.4
},
{
"id": "3a62cd46-9b63-4dac-ab7b-ea562e62a828",
"name": "Search records",
"type": "n8n-nodes-base.airtable",
"position": [
-80,
1696
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "apppCImnrYx31QQ4S",
"cachedResultUrl": "https://airtable.com/apppCImnrYx31QQ4S",
"cachedResultName": "Home Furnish AI"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblfIbgIrLUoUXFyA",
"cachedResultUrl": "https://airtable.com/apppCImnrYx31QQ4S/tblfIbgIrLUoUXFyA",
"cachedResultName": "Table 1"
},
"options": {},
"operation": "search",
"filterByFormula": "={ID} = \"{{ $('Telegram Trigger').item.json.message.from.id }}\""
},
"typeVersion": 2.1,
"alwaysOutputData": true
},
{
"id": "5ef4c48c-1c9e-4272-bb80-22b08720dec1",
"name": "Bild bearbeiten",
"type": "n8n-nodes-base.httpRequest",
"position": [
1264,
1760
],
"parameters": {
"url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent",
"method": "POST",
"options": {},
"jsonBody": "={\n \"contents\": [{\n \"parts\": [\n {\n \"text\": {{ JSON.stringify($json.message) }}\n },\n {\n \"inline_data\": {\n \"mime_type\": \"image/jpeg\",\n \"data\": \"{{ $('Edit Fields1').item.json.base_image64 }}\"\n }\n }\n ]\n }]\n}",
"sendBody": true,
"jsonHeaders": "{\n \"x-goog-api-key\": \"put your api key here\",\n \"Content-Type\": \"application/json\"\n}",
"sendHeaders": true,
"specifyBody": "json",
"specifyHeaders": "json"
},
"typeVersion": 4.2
},
{
"id": "ea28d393-8e4f-47ce-8ac6-766aca28f795",
"name": "Send a photo message",
"type": "n8n-nodes-base.telegram",
"position": [
1840,
1824
],
"webhookId": "f12c1e45-334d-4629-bb73-f9caae62f4f1",
"parameters": {
"chatId": "={{ $('Telegram Trigger').item.json.message.from.id }}",
"operation": "sendPhoto",
"binaryData": true,
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "b4225b8e-eae3-4ad0-8ffe-bfe5932bf56a",
"name": "Create or update a record1",
"type": "n8n-nodes-base.airtable",
"position": [
1888,
1616
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "apppCImnrYx31QQ4S",
"cachedResultUrl": "https://airtable.com/apppCImnrYx31QQ4S",
"cachedResultName": "Home Furnish AI"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblfIbgIrLUoUXFyA",
"cachedResultUrl": "https://airtable.com/apppCImnrYx31QQ4S/tblfIbgIrLUoUXFyA",
"cachedResultName": "Table 1"
},
"columns": {
"value": {
"ID": "={{ $('Telegram Trigger').item.json.message.from.id }}",
"base_image_link": "={{ $json.webContentLink }}"
},
"schema": [
{
"id": "ID",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "base_image_link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "base_image_link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "baseImage_64",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "baseImage_64",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"typeVersion": 2.1
},
{
"id": "a7ce2cca-93a0-4b0d-8ba3-eb51d24e1362",
"name": "Download Image1",
"type": "n8n-nodes-base.telegram",
"position": [
-352,
928
],
"webhookId": "fc1c495a-005e-454e-b92b-66cf1f130634",
"parameters": {
"fileId": "={{ $json.message.photo[2].file_id }}",
"resource": "file",
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "fed96b49-66fa-4479-8c66-b89370907341",
"name": "Transform to base",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-160,
928
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "2bcd11a9-94a2-4b78-86a7-3e31529ee4c0",
"name": "Upload file",
"type": "n8n-nodes-base.googleDrive",
"position": [
-48,
1264
],
"parameters": {
"name": "={{ $json.result.file_unique_id }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1Wu1bv38J1izuaCRQmXE0RfEwKR3o3Iwi",
"cachedResultUrl": "https://drive.google.com/drive/folders/1Wu1bv38J1izuaCRQmXE0RfEwKR3o3Iwi",
"cachedResultName": "Home Furnishing AI"
}
},
"typeVersion": 3
},
{
"id": "1d00c8bf-191f-4086-a385-1840f56767a2",
"name": "Zusammenführen",
"type": "n8n-nodes-base.merge",
"position": [
208,
1264
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "7de5184c-2ab8-40b8-8e5d-af68f42c8f36",
"name": "Aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
400,
1264
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "845d6a60-14fb-4c94-9b97-fc44d04a54c2",
"name": "Edit Fields",
"type": "n8n-nodes-base.set",
"position": [
624,
1264
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "32b9d6c1-61ed-4f6a-8757-3209ebb7e4d4",
"name": "image_link",
"type": "string",
"value": "={{ $json.data[0].webContentLink }}"
},
{
"id": "55cb05ec-b1b8-4b54-9a08-fb6c545ef32b",
"name": "image_hash",
"type": "string",
"value": "={{ $json.data[1].data }}"
},
{
"id": "d0511aaf-95f2-46fb-afcb-ad0eefa18485",
"name": "id",
"type": "string",
"value": "={{ $('Telegram Trigger').item.json.message.from.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "53655955-c77f-4a95-ade0-021895f197ba",
"name": "Create or update a record",
"type": "n8n-nodes-base.airtable",
"disabled": true,
"position": [
864,
1264
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "apppCImnrYx31QQ4S",
"cachedResultUrl": "https://airtable.com/apppCImnrYx31QQ4S",
"cachedResultName": "Home Furnish AI"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblfIbgIrLUoUXFyA",
"cachedResultUrl": "https://airtable.com/apppCImnrYx31QQ4S/tblfIbgIrLUoUXFyA",
"cachedResultName": "Table 1"
},
"columns": {
"value": {
"ID": "={{ $json.id }}",
"base_image_link": "={{ $json.image_link }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "ID",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "base_image_link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "base_image_link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "baseImage_64",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "baseImage_64",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"typeVersion": 2.1
},
{
"id": "0b8c5466-58ca-47ea-89cf-5d5ee95e90ef",
"name": "Send a text message1",
"type": "n8n-nodes-base.telegram",
"position": [
1072,
1264
],
"webhookId": "7a160598-996f-4e02-ada6-2149a9a1c12b",
"parameters": {
"text": "Thank you for providing the image. Please let us know the edits you require",
"chatId": "={{ $('Telegram Trigger').item.json.message.from.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "e06f6e8f-5f00-43ee-bec3-75e4deca92a3",
"name": "Extract from File",
"type": "n8n-nodes-base.extractFromFile",
"position": [
832,
1760
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "97d63a01-3a54-4e4f-8941-928e98185b3b",
"name": "Datei herunterladen",
"type": "n8n-nodes-base.httpRequest",
"position": [
672,
1760
],
"parameters": {
"url": "={{ $('Search records').item.json.base_image_link }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "623e5e22-e227-4aa1-b866-ee74301bc407",
"name": "Upload file1",
"type": "n8n-nodes-base.googleDrive",
"position": [
1664,
1616
],
"parameters": {
"name": "={{ $('Telegram Trigger').item.json.message.from.id }}_base",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1Wu1bv38J1izuaCRQmXE0RfEwKR3o3Iwi",
"cachedResultUrl": "https://drive.google.com/drive/folders/1Wu1bv38J1izuaCRQmXE0RfEwKR3o3Iwi",
"cachedResultName": "Home Furnishing AI"
}
},
"typeVersion": 3
},
{
"id": "5db3e15a-fbbc-487d-93c5-c71e042e8478",
"name": "Convert To File",
"type": "n8n-nodes-base.code",
"position": [
1424,
1760
],
"parameters": {
"jsCode": "// Enhanced n8n code node for base64 to PNG conversion\nconst inputData = $input.all();\nconst outputData = [];\n\n// Helper function to safely get nested property\nfunction getNestedProperty(obj, path) {\n return path.split('.').reduce((current, key) => {\n return current && current[key] !== undefined ? current[key] : null;\n }, obj);\n}\n\n// Helper function to validate base64\nfunction isValidBase64(str) {\n if (!str || typeof str !== 'string') return false;\n try {\n // Basic base64 pattern check\n const base64Pattern = /^[A-Za-z0-9+/]*={0,2}$/;\n return base64Pattern.test(str) && str.length % 4 === 0;\n } catch (err) {\n return false;\n }\n}\n\n// Helper function to detect image format from base64\nfunction detectImageFormat(base64String) {\n try {\n const header = base64String.substring(0, 20);\n const decoded = Buffer.from(header, 'base64');\n \n // PNG signature: 89 50 4E 47\n if (decoded[0] === 0x89 && decoded[1] === 0x50 && decoded[2] === 0x4E && decoded[3] === 0x47) {\n return 'png';\n }\n // JPEG signature: FF D8 FF\n if (decoded[0] === 0xFF && decoded[1] === 0xD8 && decoded[2] === 0xFF) {\n return 'jpeg';\n }\n // GIF signature: 47 49 46\n if (decoded[0] === 0x47 && decoded[1] === 0x49 && decoded[2] === 0x46) {\n return 'gif';\n }\n // WebP signature: starts with \"RIFF\" and contains \"WEBP\"\n const str = decoded.toString('ascii', 0, 12);\n if (str.startsWith('RIFF') && str.includes('WEBP')) {\n return 'webp';\n }\n return 'unknown';\n } catch (error) {\n return 'unknown';\n }\n}\n\nfor (const [index, item] of inputData.entries()) {\n try {\n let base64String = null;\n let sourcePath = null;\n \n // Define possible paths where base64 data might be located\n const possiblePaths = [\n 'candidates.0.content.parts.1.inlineData.data',\n 'candidates.0.content.parts.0.inlineData.data',\n // Add other possible variations\n 'candidates.0.content.parts.1.inline_data.data',\n 'candidates.0.content.parts.0.inline_data.data',\n // Check if there are multiple parts\n 'candidates.0.content.parts.2.inlineData.data',\n 'candidates.0.content.parts.3.inlineData.data',\n // Fallback to common base64 field names\n 'base64',\n 'data',\n 'image',\n 'content'\n ];\n \n // Try to find base64 data in any of the possible paths\n for (const path of possiblePaths) {\n const value = getNestedProperty(item.json, path);\n if (value && typeof value === 'string' && value.length > 100) { // Minimum length check for image data\n // Handle data URL format if present\n let cleanValue = value;\n if (value.includes('data:image/') && value.includes('base64,')) {\n cleanValue = value.split('base64,')[1];\n }\n \n // Validate if it's proper base64\n if (isValidBase64(cleanValue)) {\n base64String = cleanValue;\n sourcePath = path;\n break;\n }\n }\n }\n \n // Also check if there are multiple parts and scan through them\n if (!base64String && item.json.candidates && item.json.candidates[0] && item.json.candidates[0].content && item.json.candidates[0].content.parts) {\n const parts = item.json.candidates[0].content.parts;\n for (let i = 0; i < parts.length; i++) {\n if (parts[i] && parts[i].inlineData && parts[i].inlineData.data) {\n const value = parts[i].inlineData.data;\n if (isValidBase64(value)) {\n base64String = value;\n sourcePath = `candidates.0.content.parts.${i}.inlineData.data`;\n break;\n }\n }\n // Also check for inline_data (underscore variant)\n if (parts[i] && parts[i].inline_data && parts[i].inline_data.data) {\n const value = parts[i].inline_data.data;\n if (isValidBase64(value)) {\n base64String = value;\n sourcePath = `candidates.0.content.parts.${i}.inline_data.data`;\n break;\n }\n }\n }\n }\n \n if (!base64String) {\n throw new Error('No valid base64 image data found in any of the expected paths');\n }\n \n // Convert to buffer\n const imageBuffer = Buffer.from(base64String, 'base64');\n \n // Detect original format\n const originalFormat = detectImageFormat(base64String);\n \n // Generate filename\n const timestamp = new Date().getTime();\n const filename = `converted_image_${timestamp}_${index}.png`;\n \n // Create output item\n const outputItem = {\n json: {\n success: true,\n filename: filename,\n mimeType: 'image/png',\n fileSize: imageBuffer.length,\n originalFormat: originalFormat,\n sourcePath: sourcePath,\n convertedAt: new Date().toISOString(),\n itemIndex: index\n },\n binary: {\n data: {\n data: base64String, // Use the clean base64 string\n mimeType: 'image/png',\n fileName: filename,\n fileExtension: 'png'\n }\n }\n };\n \n outputData.push(outputItem);\n \n } catch (error) {\n // Create error output with debugging information\n const errorItem = {\n json: {\n success: false,\n error: error.message,\n itemIndex: index,\n availablePaths: Object.keys(item.json).length > 0 ? \n JSON.stringify(item.json, null, 2).substring(0, 500) + '...' : 'No data',\n timestamp: new Date().toISOString()\n }\n };\n \n outputData.push(errorItem);\n }\n}\n\nreturn outputData;"
},
"typeVersion": 2
},
{
"id": "e6d8ca2d-e16e-48e0-9521-0318f4756c96",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
144,
1808
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bc63b8aa-dd00-4672-920d-d08033c701ee",
"operator": {
"type": "number",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.ID }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "3480ecd9-ed69-4d51-a749-e447bb97a0c6",
"name": "Send a text message",
"type": "n8n-nodes-base.telegram",
"position": [
288,
1664
],
"webhookId": "3f4a95c3-1460-4b5a-a85b-c6033977a1c2",
"parameters": {
"text": "Please wait 30 Seconds while we work our magic.",
"chatId": "={{ $json.ID }}",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "9c5ca8a8-ca2f-4c64-8091-e1616c598713",
"name": "Send a text message2",
"type": "n8n-nodes-base.telegram",
"position": [
288,
1952
],
"webhookId": "843019ac-000f-4de3-95ef-c476bb29f46c",
"parameters": {
"text": "Please upload a image to to edit.",
"chatId": "={{ $('Telegram Trigger').item.json.message.from.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "5d13dd2c-44fa-4f0b-aa3e-f806f12336f5",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-688,
288
],
"parameters": {
"width": 992,
"height": 464,
"content": "## Google Nano Banana Image Generator: Overview\n### How it works\nThis workflow is used to create AI images through Telegram messages. When a user sends any text or command in Telegram, that message is collected by n8n using the Telegram trigger. Then the text is cleaned and used as a prompt for Nano Banana, which is a small AI image model. The workflow sends this prompt to Nano Banana by using HTTP request node. The model then returns one generated image file. This image is again sent to the same user in Telegram chat automatically.\n\nThe whole process is done inside n8n without any other tools. You can also add a small OpenAI node in between if you want to make better image descriptions. The workflow is built in a simple way so anyone can test, learn, and extend it easily.\n\n### Setup steps\n1. Create your Telegram Bot by using BotFather and copy its token.\n2. Add your Telegram credentials in n8n.\n3. Copy your Nano Banana API key and paste it in HTTP Request node.\n4. (Optional) Add OpenAI credentials for refining prompt.\n5. Turn the workflow on and test by sending a message from your Telegram app."
},
"typeVersion": 1
},
{
"id": "969c8e2e-8175-47aa-9873-c2a36863f0e2",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-704,
1536
],
"parameters": {
"color": 6,
"width": 576,
"height": 384,
"content": "## Telegram Input\nThis part collects user messages or images from Telegram. The trigger starts the workflow each time user sends something. IF node checks message type and sends it to the correct branch for next action.\n"
},
"typeVersion": 1
},
{
"id": "eedd4464-fb3b-494f-9d5a-b905b0fd7282",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-688,
816
],
"parameters": {
"color": 6,
"width": 992,
"height": 272,
"content": "## Image Download and Preparation\nHere the workflow downloads the image that came from Telegram and changes it into base64 string. This format is easy to send further to Drive or to any API that needs encoded file.\n"
},
"typeVersion": 1
},
{
"id": "4e7bc232-9a87-49de-b65f-ea06d5d0ce6d",
"name": "Haftnotiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
1136
],
"parameters": {
"color": 6,
"width": 1344,
"height": 320,
"content": "## Upload and Record Update\nThis top flow uploads the file to Google Drive and then updates the connected record. After that, a text message is sent in Telegram to confirm that the upload and update is completed properly.\n"
},
"typeVersion": 1
},
{
"id": "c3588192-7477-44d5-bc05-d5a1a6d0a630",
"name": "Haftnotiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
1504
],
"parameters": {
"color": 6,
"width": 672,
"height": 608,
"content": "## Conditional Message Handling\nThis part is used for checking if the incoming message matches any saved record or keyword. Depending on result, Telegram sends one of the two reply messages to guide the user further.\n"
},
"typeVersion": 1
},
{
"id": "02ec6043-51a2-46d8-889f-0c3ec3e2fac2",
"name": "Haftnotiz5",
"type": "n8n-nodes-base.stickyNote",
"position": [
640,
1520
],
"parameters": {
"color": 6,
"width": 1472,
"height": 480,
"content": "## Image Editing and Return Flow\nThis section manages full image process. It downloads the earlier stored image, extracts the content, and edits it using image API. The final image file is made and uploaded again, then sent back to Telegram chat as photo message.\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Telegram Trigger": [
{
"json": {
"message": {
"chat": {
"id": 6397287561,
"type": "private",
"last_name": "K",
"first_name": "S"
},
"date": 1757313325,
"from": {
"id": 6397287561,
"is_bot": false,
"last_name": "K",
"first_name": "S",
"language_code": "en"
},
"photo": [
{
"width": 90,
"height": 90,
"file_id": "AgACAgUAAxkBAAOwaL55LZCAqkqmrjN0scLJuSFYZY0AAsnDMRtJZfBVFUPlS6nhAAFYAQADAgADcwADNgQ",
"file_size": 1322,
"file_unique_id": "AQADycMxG0ll8FV4"
},
{
"width": 320,
"height": 320,
"file_id": "AgACAgUAAxkBAAOwaL55LZCAqkqmrjN0scLJuSFYZY0AAsnDMRtJZfBVFUPlS6nhAAFYAQADAgADbQADNgQ",
"file_size": 15801,
"file_unique_id": "AQADycMxG0ll8FVy"
},
{
"width": 775,
"height": 775,
"file_id": "AgACAgUAAxkBAAOwaL55LZCAqkqmrjN0scLJuSFYZY0AAsnDMRtJZfBVFUPlS6nhAAFYAQADAgADeAADNgQ",
"file_size": 39961,
"file_unique_id": "AQADycMxG0ll8FV9"
}
],
"message_id": 176
},
"update_id": 388279181
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "273d8db8-3328-4877-a4b9-8061e360fe36",
"connections": {
"e6d8ca2d-e16e-48e0-9521-0318f4756c96": {
"main": [
[
{
"node": "3480ecd9-ed69-4d51-a749-e447bb97a0c6",
"type": "main",
"index": 0
}
],
[
{
"node": "9c5ca8a8-ca2f-4c64-8091-e1616c598713",
"type": "main",
"index": 0
}
]
]
},
"54e2b068-775c-47d4-a1bc-9ddfe17e3d88": {
"main": [
[
{
"node": "a7ce2cca-93a0-4b0d-8ba3-eb51d24e1362",
"type": "main",
"index": 0
}
],
[
{
"node": "3a62cd46-9b63-4dac-ab7b-ea562e62a828",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "845d6a60-14fb-4c94-9b97-fc44d04a54c2",
"type": "main",
"index": 0
}
]
]
},
"Edit Image": {
"main": [
[
{
"node": "5db3e15a-fbbc-487d-93c5-c71e042e8478",
"type": "main",
"index": 0
}
]
]
},
"845d6a60-14fb-4c94-9b97-fc44d04a54c2": {
"main": [
[
{
"node": "53655955-c77f-4a95-ade0-021895f197ba",
"type": "main",
"index": 0
}
]
]
},
"2bcd11a9-94a2-4b78-86a7-3e31529ee4c0": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"093a6d6a-ae91-4906-a7f3-5e6a63b382ee": {
"main": [
[
{
"node": "Edit Image",
"type": "main",
"index": 0
}
]
]
},
"623e5e22-e227-4aa1-b866-ee74301bc407": {
"main": [
[
{
"node": "b4225b8e-eae3-4ad0-8ffe-bfe5932bf56a",
"type": "main",
"index": 0
}
]
]
},
"Download File": {
"main": [
[
{
"node": "e06f6e8f-5f00-43ee-bec3-75e4deca92a3",
"type": "main",
"index": 0
}
]
]
},
"3a62cd46-9b63-4dac-ab7b-ea562e62a828": {
"main": [
[
{
"node": "e6d8ca2d-e16e-48e0-9521-0318f4756c96",
"type": "main",
"index": 0
}
]
]
},
"5db3e15a-fbbc-487d-93c5-c71e042e8478": {
"main": [
[
{
"node": "623e5e22-e227-4aa1-b866-ee74301bc407",
"type": "main",
"index": 0
},
{
"node": "ea28d393-8e4f-47ce-8ac6-766aca28f795",
"type": "main",
"index": 0
}
]
]
},
"a7ce2cca-93a0-4b0d-8ba3-eb51d24e1362": {
"main": [
[
{
"node": "fed96b49-66fa-4479-8c66-b89370907341",
"type": "main",
"index": 0
},
{
"node": "2bcd11a9-94a2-4b78-86a7-3e31529ee4c0",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "54e2b068-775c-47d4-a1bc-9ddfe17e3d88",
"type": "main",
"index": 0
}
]
]
},
"e06f6e8f-5f00-43ee-bec3-75e4deca92a3": {
"main": [
[
{
"node": "093a6d6a-ae91-4906-a7f3-5e6a63b382ee",
"type": "main",
"index": 0
}
]
]
},
"fed96b49-66fa-4479-8c66-b89370907341": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"3480ecd9-ed69-4d51-a749-e447bb97a0c6": {
"main": [
[
{
"node": "Download File",
"type": "main",
"index": 0
}
]
]
},
"53655955-c77f-4a95-ade0-021895f197ba": {
"main": [
[
{
"node": "0b8c5466-58ca-47ea-89cf-5d5ee95e90ef",
"type": "main",
"index": 0
}
]
]
}
}
}Häufig gestellte Fragen
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 - Content-Erstellung, 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
1. Playlist-Details-Einstellungen für Roboter-Kopie
Erstelle KI-generierte YouTube-Musik-Playlists mit Suno, GPT-4, Runway und Creatomate
If
Set
Code
+
If
Set
Code
203 NodesJoseph
Content-Erstellung
AI-Powered Multi-Platform Social Media Content Factory with Dynamic System Prompts & GPT-4o
If
Set
Code
+
If
Set
Code
100 NodesAmit Mehta
Content-Erstellung
💥 Automatisierung von Videoanzeigen mit NanoBanana, Seedream 4, ChatGPT Image und Veo 3 - VIDE
Automatisierung und Veröffentlichung von Video-Werbekampagnen mit KI (NanoBanana, Seedream, GPT-4o, Veo 3)
Set
Code
Wait
+
Set
Code
Wait
63 NodesDr. Firas
Content-Erstellung
Automatischer Motor für virale Inhalte auf LinkedIn und X
Automatisiertes Erstellen und Veröffentlichen von viralen Inhalten für LinkedIn und X mittels KI
If
Set
Wait
+
If
Set
Wait
156 NodesDiptamoy Barman
Content-Erstellung
Zusammenführen
Erstelle eine komplette 20-Track-YouTube-Playlist mit Suno API, Claude und Telegram-Bot
If
Set
Code
+
If
Set
Code
150 NodesJoseph
Content-Erstellung
KI-gesteuerte Videowerkzeugung und Upload zu Instagram, TikTok und YouTube
AI-gestützte Videoerstellung aus Google Drive und hochladen zu Instagram, TikTok und YouTube
If
Set
Code
+
If
Set
Code
53 NodesDevCode Journey
Content-Erstellung
Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes28
Kategorie2
Node-Typen12
Autor
Externe Links
Auf n8n.io ansehen →
Diesen Workflow teilen