Edición de imágenes a partir de indicaciones de texto con Gemini AI y un bot de Telegram
Este es unautomatización que contiene 10 nodos.Utiliza principalmente nodos como Filter, Telegram, TelegramTrigger, GoogleGemini. Edición de imágenes mediante texto de entrada usando Gemini AI y un bot de Telegram
- •Bot Token de Telegram
Nodos utilizados (10)
Categoría
{
"meta": {
"instanceId": "3d7eb9567ae690bf8c9bba1cb43396e6e40c18e15eb5889cf9673ed1713da6db",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "5dbb5361-0f1a-403a-a6d2-f8aaeebcd2c4",
"name": "Disparador de Telegram",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
1136,
832
],
"webhookId": "6c7d3559-595b-4ed7-8697-774bf86a798b",
"parameters": {
"updates": [
"message"
],
"additionalFields": {
"download": false
}
},
"credentials": {
"telegramApi": {
"id": "Elo6BLaLpBDVgeLW",
"name": "LinkedIn Post"
}
},
"typeVersion": 1.2
},
{
"id": "113490e2-abd8-4aa6-8b3e-58030c4d731a",
"name": "Filtro: Tiene leyenda y archivo",
"type": "n8n-nodes-base.filter",
"position": [
1328,
832
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1cb10407-8c50-4e81-ac9b-72c03cab65d6",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.caption }}",
"rightValue": ""
},
{
"id": "cbf13e8f-7620-4db5-ba40-ecbb248c05b4",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.document.file_id }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "ffe1e575-905b-406b-8617-2a7a69632285",
"name": "Nota: Filtro",
"type": "n8n-nodes-base.stickyNote",
"position": [
1184,
624
],
"parameters": {
"color": 3,
"width": 396,
"height": 192,
"content": "## 🔍 Filter: Has Caption and File\n\n**Purpose:** Validates incoming message has both a caption (prompt) and document file.\n\n**Note:** AND logic; skips workflow if either missing to avoid errors."
},
"typeVersion": 1
},
{
"id": "c12c8013-87db-412b-aca1-5e14867a46b3",
"name": "Descargar imagen",
"type": "n8n-nodes-base.telegram",
"position": [
1520,
832
],
"webhookId": "bdfeb7a3-2126-4606-8ab0-8303cb33bda5",
"parameters": {
"fileId": "={{ $json.message.document.file_id }}",
"resource": "file",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "Elo6BLaLpBDVgeLW",
"name": "LinkedIn Post"
}
},
"typeVersion": 1.2
},
{
"id": "2995feff-c0a7-49d3-b85b-da18e37ba341",
"name": "Nota: Descargar imagen",
"type": "n8n-nodes-base.stickyNote",
"position": [
1504,
1040
],
"parameters": {
"color": 6,
"width": 332,
"height": 192,
"content": "## 📥 Download Image\n\n**Purpose:** Fetches the image file from Telegram servers as binary data.\n\n**Note:** Uses file_id from trigger; downloads immediately as files expire after 1 hour."
},
"typeVersion": 1
},
{
"id": "01d5b33c-5a08-4df9-9eee-293a336535d2",
"name": "Editar imagen con AI",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
1728,
832
],
"parameters": {
"images": {
"values": [
{}
]
},
"prompt": "={{ $('Telegram Trigger').item.json.message.caption }}",
"options": {
"binaryPropertyOutput": "data"
},
"resource": "image",
"operation": "edit"
},
"credentials": {
"googlePalmApi": {
"id": "7v8o9EaQkl33woxm",
"name": "v9"
}
},
"typeVersion": 1
},
{
"id": "b8993e29-7dd8-4cf8-9789-7bd2a3e7bf6b",
"name": "Nota: Editar AI",
"type": "n8n-nodes-base.stickyNote",
"position": [
1680,
592
],
"parameters": {
"color": 5,
"width": 396,
"height": 192,
"content": "## 🖼️ Edit Image with AI\n\n**Purpose:** Applies Gemini AI edits to the downloaded image using caption as prompt. **Nano-Banana**\n\n**Note:** Outputs edited binary; handles creative transformations like 'add elements'."
},
"typeVersion": 1
},
{
"id": "e33f9709-25b0-4a37-8aea-dd64f7fe8489",
"name": "Enviar imagen editada",
"type": "n8n-nodes-base.telegram",
"position": [
1952,
832
],
"webhookId": "9c82fd88-d7f7-4808-aad8-21e818eb3f86",
"parameters": {
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"operation": "sendPhoto",
"binaryData": true,
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "Elo6BLaLpBDVgeLW",
"name": "LinkedIn Post"
}
},
"typeVersion": 1.2
},
{
"id": "c6cc872e-2396-4450-acfa-17c08ca67ec5",
"name": "Nota general 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
432
],
"parameters": {
"color": 4,
"width": 632,
"height": 1176,
"content": "# 🤖 AI Image Editor using Nano-Banana Telegram Bot\n\n## 📋 What This Template Does\nThis workflow powers a Telegram bot that automatically processes incoming image documents with text prompts. It downloads the file, uses Google Gemini AI to edit the image based on your caption, and instantly replies with the enhanced version.\n\n## 🔧 Prerequisites\n- A Telegram bot created via @BotFather\n- Google AI Studio account for Gemini API access\n- n8n instance with Telegram and Google Gemini nodes enabled\n\n## 🔑 Required Credentials\n\n### Telegram API Setup\n1. Open Telegram and message @BotFather\n2. Use `/newbot` to create your bot and note the token\n3. In n8n, go to Credentials → Add Credential → Search \"Telegram API\"\n4. Paste the token and save\n\n### Google Gemini API Setup\n1. Visit aistudio.google.com and sign in with Google\n2. Click \"Get API key\" → Create API key in a new project\n3. In n8n, go to Credentials → Add Credential → Search \"Google Gemini API\"\n4. Enter the API key and save\n\n## ⚙️ Configuration Steps\n1. Import the provided JSON into your n8n workflows\n2. Assign the Telegram credential to the trigger and Telegram nodes\n3. Assign the Gemini credential to the Edit Image node\n4. Activate the workflow and note your bot's username\n5. Test by sending an image document with a caption to your bot\n\n## 🎯 Use Cases\n- **Personal creativity**: Send a selfie with \"make me a superhero\"\n- **Social media**: Upload photos with \"enhance lighting\"\n- **Educational**: Share sketches with \"colorize and detail\"\n- **Team collab**: Prompt \"remove background\" in groups\n\n## ⚠️ Troubleshooting\n- **No trigger**: Verify token and enable message updates\n- **Download fail**: Resend file; check it's a document\n- **Edit error**: Check API quotas; shorten prompts\n- **No send**: Verify binary data in execution log"
},
"typeVersion": 1
},
{
"id": "bdce77c5-a7f3-480d-95e8-1a183eedf038",
"name": "Nota: Trigger1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1104,
1024
],
"parameters": {
"color": 6,
"width": 332,
"height": 192,
"content": "## 📥 Telegram Trigger\n\n**Purpose:** Listens for new messages with documents and optional captions.\n\n**Note:** Filters to 'message' updates only; starts the editing flow on receipt."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"c12c8013-87db-412b-aca1-5e14867a46b3": {
"main": [
[
{
"node": "01d5b33c-5a08-4df9-9eee-293a336535d2",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "113490e2-abd8-4aa6-8b3e-58030c4d731a",
"type": "main",
"index": 0
}
]
]
},
"01d5b33c-5a08-4df9-9eee-293a336535d2": {
"main": [
[
{
"node": "e33f9709-25b0-4a37-8aea-dd64f7fe8489",
"type": "main",
"index": 0
}
]
]
},
"113490e2-abd8-4aa6-8b3e-58030c4d731a": {
"main": [
[
{
"node": "c12c8013-87db-412b-aca1-5e14867a46b3",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Daniel Nkencho
@daniel-automatesAI Automation Consultant | Helping Business Owners Implement AI Systems for Growth and Lead Gen
Compartir este flujo de trabajo