Édition d'images à partir de prompts texte avec Gemini AI et un bot Telegram
Ceci est uncontenant 10 nœuds.Utilise principalement des nœuds comme Filter, Telegram, TelegramTrigger, GoogleGemini. Édition d'images à partir de prompts textuels avec l'IA Gemini et un bot Telegram
- •Token Bot Telegram
Nœuds utilisés (10)
Catégorie
{
"meta": {
"instanceId": "3d7eb9567ae690bf8c9bba1cb43396e6e40c18e15eb5889cf9673ed1713da6db",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "5dbb5361-0f1a-403a-a6d2-f8aaeebcd2c4",
"name": "Telegram Trigger",
"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": "Filtre : Avec légende et fichier",
"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": "Note : Filtre",
"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": "Télécharger l'image",
"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": "Note : Télécharger l'image",
"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": "Éditer l'image avec IA",
"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": "Note : Édition IA",
"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": "Envoyer l'image éditée",
"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": "Note d'aperçu 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": "Note : 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
}
]
]
},
"5dbb5361-0f1a-403a-a6d2-f8aaeebcd2c4": {
"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
}
]
]
}
}
}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
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.
Workflows recommandés
Daniel Nkencho
@daniel-automatesAI Automation Consultant | Helping Business Owners Implement AI Systems for Growth and Lead Gen
Partager ce workflow