Du skickar en bild, ber om en snabb redigering, och sedan börjar det riktiga jobbet. Hitta rätt fil, hålla koll på versioner, klistra in länkar i meddelanden och försöka att inte tappa bort “final-final”-redigeringen i en mapp full av dubletter.
Marknadschefer märker det när godkännanden staplas på hög. Designers märker det när “små justeringar” ramlar in hela dagen. Och frilansare märker det när kundöverlämningar blir röriga. Den här Telegram-bildautomationen ger dig ett rent flöde: begär, redigera, returnera och arkivera utan extra följdfrågor.
Du får se hur det här arbetsflödet tar en Telegram-bild, skickar den genom en AI-bildredigeringsbegäran, lagrar original och versioner i Google Drive och skickar tillbaka den redigerade bilden direkt till samma chatt.
Så fungerar automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Telegram till Google Drive, snabba bildredigeringar
flowchart LR
subgraph sg0["Telegram Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Telegram Trigger"]
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If1", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields1", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Search records"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Edit Image"]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send a photo message"]
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Create or update a record1"]
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Download Image1"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Transform to base", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Upload file", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Merge"]
n11@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Create or update a record"]
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send a text message1"]
n15@{ icon: "mdi:cog", form: "rounded", label: "Extract from File", pos: "b", h: 48 }
n16["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Download File"]
n17@{ icon: "mdi:cog", form: "rounded", label: "Upload file1", pos: "b", h: 48 }
n18["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Convert To File"]
n19@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n20["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send a text message"]
n21["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send a text message2"]
n19 --> n20
n19 --> n21
n1 --> n7
n1 --> n3
n10 --> n11
n11 --> n12
n4 --> n18
n12 --> n13
n9 --> n10
n2 --> n4
n17 --> n6
n16 --> n15
n3 --> n19
n18 --> n17
n18 --> n5
n7 --> n8
n7 --> n9
n0 --> n1
n15 --> n2
n8 --> n10
n20 --> n16
n13 --> n14
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n1,n19 decision
class n3,n6,n13 database
class n4,n16 api
class n18 code
class n13 disabled
classDef customIcon fill:none,stroke:none
class n0,n3,n4,n5,n6,n7,n10,n13,n14,n16,n18,n20,n21 customIcon
Problemet: bildredigeringar fastnar i versionskaos
Snabba bildredigeringar ska vara enkla. I praktiken blir de en långsam dropp av administration: någon skickar en bild i chatten, du laddar ner den, du döper om den (kanske), du laddar upp den någon annanstans, och sedan frågar du vad “få den att poppa” faktiskt betyder. Under tiden ligger originalet nu på tre ställen, den redigerade versionen på två ställen, och ingen vet vilken som ska användas i nästa inlägg. Multiplicera det med några förfrågningar per dag så lägger du verklig tid på filtrassel i stället för kreativt arbete.
Friktionen byggs på. Och det är oftast samma få stoppunkter varje gång.
- Du slösar cirka 10 minuter per förfrågan bara på att flytta filer mellan chatt, nedladdningar och lagring.
- Redigeringar kommer tillbaka utan sammanhang, så du behöver fråga igen om prompt, stil eller avsedd användning.
- Versionshistoriken är inkonsekvent, vilket gör godkännanden och återställningar jobbiga.
- Manuella steg bjuder in misstag, som att redigera fel bild eller skicka fel fil tillbaka till en kund.
Lösningen: Telegram in, redigerad bild ut, Drive hålls organiserat
Det här arbetsflödet gör Telegram till en enkel “inkorg för bildredigering” som samtidigt fungerar som en riktig asset-pipeline. Ett meddelande i Telegram triggar flödet, kontrollerar om ett foto finns med, hämtar sedan Telegram-bildfilen och konverterar den till ett format som AI-endpointen kan använda. Därefter bygger det en redigeringspayload (dina instruktioner, stil och valfria parametrar du vill styra) och skickar den till ett bildredigerings-API via HTTP Request. När den redigerade bilden kommer tillbaka konverterar flödet den till en riktig fil, lagrar både original och redigerade versioner i Google Drive, uppdaterar metadata i Airtable och postar till sist den redigerade bilden tillbaka i samma Telegram-konversation. Rent flöde. Inget jagande.
Arbetsflödet börjar med ett Telegram-intag och en snabb kontroll: “har vi ett foto?”. Sedan kör det redigeringsbegäran, sparar versioner i Google Drive och loggar vad som hände i Airtable så att du kan spåra prompts, resultat och filplatser. Sista steget är det du bryr dig om: den redigerade bilden landar tillbaka i Telegram, redo att godkännas eller användas.
Det du får: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultaten du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att ditt team hanterar 20 snabba bildredigeringar i veckan för sociala inlägg och annonser. Manuellt kanske du lägger cirka 10 minuter på att ladda ner, döpa om, ladda upp till Drive och skicka tillbaka den redigerade filen, vilket blir ungefär 3 timmar per vecka. Med det här arbetsflödet är “människotiden” mest att skicka bilden och instruktionen i Telegram (kanske 1 minut) och sedan vänta på bearbetningen. Du granskar fortfarande resultatet, men filhantering och versionslagring sköts åt dig, varje gång.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Telegram-bot för att ta emot bilder och svara med resultat
- Google Drive för att lagra original och redigerade versioner
- Nano Banana / Gemini API-nyckel (hämta den från din Gemini- eller leverantörsdashboard)
Svårighetsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och redigerar ett par fält som prompts och mappdestinationer.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Telegram triggar förfrågan. En användare skickar ett foto (eller ett befintligt bild-ID) till din bot. Arbetsflödet kontrollerar vad som kom in och svarar direkt om något saknas.
Bilden förbereds för redigering. n8n hämtar Telegram-filen, läser den som binär data och konverterar den till base64 så att den kan skickas korrekt till endpointen för bildredigering. Om förfrågan refererar till en befintlig post kan arbetsflödet hämta den lagrade bilden innan redigering.
AI-redigeringen görs och formateras. En HTTP Request skickar din prompt och dina parametrar till Nano Banana (Gemini)-endpointen. Svaret konverteras tillbaka till en bildfil (som PNG), så att den är redo att delas och lagras.
Filer och metadata hamnar där de ska. Originalbilden laddas upp till Google Drive, den redigerade versionen laddas också upp och Airtable uppdateras med fält som ID:n, prompts och Drive-länkar. Sedan skickas den redigerade bilden tillbaka till Telegram, exakt där förfrågan började.
Du kan enkelt justera prompten och stilreglerna för att matcha dina varumärkesriktlinjer utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Telegram-triggern
Konfigurera arbetsflödet så att det startar när ett nytt Telegram-meddelande kommer in.
- Lägg till och konfigurera Telegram Intake Trigger för att lyssna efter Updates satt till
message. - Bekräfta att triggern är ansluten till Photo Presence Check så att inkommande meddelanden utvärderas före bearbetning.
- Behåll Flowpast Branding som en dokumentationsnotering (ingen konfiguration krävs).
Steg 2: Anslut Airtable-, Google Drive- och Telegram-noder
Dessa noder läser och lagrar bildmetadata och filer samt skickar meddelanden/bilder tillbaka till Telegram.
- I Lookup Airtable Records väljer ni er Base och Table, och ställer sedan in Filter By Formula till
={ID} = "{{ $('Telegram Intake Trigger').item.json.message.from.id }}". - I Upsert Base Image Record väljer ni samma Airtable-bas/tabell och mappar fälten: ID till
{{ $('Telegram Intake Trigger').item.json.message.from.id }}och base_image_link till{{ $json.webContentLink }}. - I Upsert Metadata Record (inaktiverad som standard) säkerställer ni att samma bas/tabell är vald och att mappningen är ID till
{{ $json.id }}och base_image_link till{{ $json.image_link }}. - I Upload Image to Drive ställer ni in Name till
{{ $json.result.file_unique_id }}och väljer er mål-Folder. - I Upload Edited File ställer ni in Name till
{{ $('Telegram Intake Trigger').item.json.message.from.id }}_baseoch väljer samma mål-Folder. - Granska Telegram-utnoderna och behåll deras chatt-ID:n som de är: Notify Processing Wait använder
{{ $json.ID }}, Prompt for Edit Details och Request Image Upload använder{{ $('Telegram Intake Trigger').item.json.message.from.id }}, och Send Edited Photo använder samma.
Steg 3: Konfigurera intagskontroller och flödet för bildlagring
Det här avsnittet routar användare baserat på om de skickade ett foto och förbereder en basbildspost för senare redigeringar.
- I Photo Presence Check bekräftar ni att villkoret använder Left Value
{{ $json.message.photo[0] }}med operatorn exists. - Säkerställ att den sanna grenen från Photo Presence Check går till Fetch Telegram Photo och att den falska grenen går till Lookup Airtable Records.
- I Fetch Telegram Photo behåller ni File ID som
{{ $json.message.photo[2].file_id }}och Resource satt tillfile. - Fetch Telegram Photo skickar utdata både till Binary to Base64 och Upload Image to Drive parallellt—verifiera att båda anslutningarna finns.
- I Binary to Base64 behåller ni Operation satt till
binaryToProperyoch slår sedan ihop med Drive-uppladdningsdata via Combine Upload Data → Aggregate Item Data. - I Map Image Fields mappar ni image_link till
{{ $json.data[0].webContentLink }}, image_hash till{{ $json.data[1].data }}, och id till{{ $('Telegram Intake Trigger').item.json.message.from.id }}. - Efter Lookup Airtable Records använder ni Existing ID Check för att förgrena: Notify Processing Wait (true) eller Request Image Upload (false).
- I Notify Processing Wait behåller ni Text som
Please wait 30 Seconds while we work our magic.och Chat ID som{{ $json.ID }}. - I Request Image Upload behåller ni Text som
Please upload a image to to edit.och Chat ID som{{ $('Telegram Intake Trigger').item.json.message.from.id }}.
$json.message.photo[2] inte finns. Överväg att justera indexet om ni får fel.Steg 4: Konfigurera bildhämtning och payload för redigering
När en befintlig användare skickar en redigeringsbegäran hämtar arbetsflödet den lagrade basbilden och bygger API-payloaden.
- I Retrieve Stored Image ställer ni in URL till
{{ $('Lookup Airtable Records').item.json.base_image_link }}. - I Extract File Binary behåller ni Operation som
binaryToPropery. - I Compose Edit Payload ställer ni in fälten: message till
{{ $('Telegram Intake Trigger').item.json.message.text }}, id till{{ $('Telegram Intake Trigger').item.json.message.from.id }}, base_image_link till{{ $('Lookup Airtable Records').item.json.base_image_link }}, och base_image64 till{{ $json.data }}. - Behåll det booleska fältet image_exits satt till
truei Compose Edit Payload.
Steg 5: Konfigurera bildredigerings-API:et och konverteringen
Det här steget skickar redigeringsbegäran till bildgenererings-API:et och konverterar svaret till en PNG-fil för leverans.
- I Image Edit API Call ställer ni in URL till
https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContentoch Method tillPOST. - Ställ in JSON Body till det angivna uttrycket och bekräfta att det innehåller
{{ JSON.stringify($json.message) }}och inline-data{{ $('Compose Edit Payload').item.json.base_image64 }}. - Ställ in JSON Headers till
{ "x-goog-api-key": "[CONFIGURE_YOUR_API_KEY]", "Content-Type": "application/json" }. - I Base64 to PNG File behåller ni det befintliga konverteringsskriptet som det är för att generera binär utdata för efterföljande noder.
- Base64 to PNG File skickar utdata både till Upload Edited File och Send Edited Photo parallellt—bekräfta att båda anslutningarna finns.
[CONFIGURE_YOUR_API_KEY] i Image Edit API Call innan ni testar, annars kommer API-anropet att misslyckas.Steg 6: Konfigurera uppdateringar av utdata och användarsvar
Efter redigering lagrar arbetsflödet den redigerade filen, uppdaterar Airtable och notifierar användaren.
- I Upload Edited File behåller ni namnformatet
{{ $('Telegram Intake Trigger').item.json.message.from.id }}_baseför unika användarfiler. - Säkerställ att Upload Edited File matar in i Upsert Base Image Record för att uppdatera base_image_link i Airtable.
- I Send Edited Photo bekräftar ni att Operation är
sendPhotooch att Binary Data är aktiverat så att PNG-filen skickas tillbaka till användaren. - I Prompt for Edit Details behåller ni Text som
Thank you for providing the image. Please let us know the edits you requireoch Chat ID som{{ $('Telegram Intake Trigger').item.json.message.from.id }}.
Steg 7: Testa och aktivera ert arbetsflöde
Validera hela flödet från start till mål innan ni aktiverar det för produktion.
- Klicka på Execute Workflow och skicka ett Telegram-meddelande med ett foto till er bot för att testa flödet för ny bild.
- Bekräfta att Upload Image to Drive lagrar filen och att Prompt for Edit Details svarar med promptmeddelandet.
- Skicka ett uppföljande textmeddelande (redigeringsbegäran) från samma användare och verifiera att Image Edit API Call körs, att Base64 to PNG File producerar binärdata och att Send Edited Photo returnerar den redigerade bilden.
- Kontrollera Airtable för uppdateringar från Upsert Base Image Record och (om aktiverad) Upsert Metadata Record.
- När allt fungerar växlar ni arbetsflödet till Active för att aktivera körning i produktion.
Vanliga fallgropar
- Telegram-credentials kan löpa ut eller bot-token kan roteras. Om det börjar skapa fel, kontrollera BotFather först och bekräfta sedan token i dina n8n Telegram-noder.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Uppladdningar till Google Drive misslyckas oftare på grund av mappbehörigheter än något annat. Bekräfta att det anslutna Google-kontot kan skriva till målmappen och att du inte sparar i en delad enhet utan åtkomst.
Vanliga frågor
Cirka 30 minuter om dina konton och din API-nyckel är redo.
Nej. Du kopplar mestadels konton och redigerar ett promptfält. Om du vill ha avancerade promptregler eller anpassad filnamngivning hjälper lite finjustering, men det är valfritt.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna in kostnader för Nano Banana/Gemini API, som beror på hur många bilder du genererar och modellinställningarna.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, och det är ärligt talat den roliga delen. Du kan justera prompt och parametrar i fälten “Compose Edit Payload” och sedan lägga till villkorslogik i grenarna “Photo Presence Check” och “Existing ID Check” för att stödja till exempel kvadratisk vs. porträtt, “annonsstil” vs. “redaktionellt”, eller olika utdataformat. Många team ändrar också namngivningen av Google Drive-mappar så att varje kampanj får sin egen versionsspårning.
Oftast beror det på en felaktig bot-token eller fel chattbehörigheter. Skapa en ny eller kopiera om token från BotFather och uppdatera Telegram-credentials i n8n. Kontrollera också att din bot kan skicka bilder i den aktuella chatten (gruppinställningar kan blockera det). Om fel bara uppstår under intensiva perioder kan det vara Telegrams rate limits eller att fil-ID:t löper ut för äldre meddelanden.
I en typisk n8n Cloud starter-setup hanterar team utan problem dussintals bildförfrågningar per dag. Om du self-hostar beror den praktiska gränsen mer på din server och AI-endpointens rate limits än på n8n i sig. Uppladdningar till Google Drive och skick i Telegram fungerar oftast bra; AI-bildendpointen är den del som stryper först.
Ofta, ja. n8n är bättre när du behöver grenad logik (som “befintligt bild-ID” vs. “ny uppladdning”), filhantering (binär till base64 och tillbaka) samt fler-stegs lagring plus metadatauppdateringar i ett och samma flöde. Zapier och Make kan göra delar av det, men du brukar behöva sy ihop fler scenarier och betala mer när volymen växer. Om du bara behöver “Telegram-meddelande → ett API-anrop → svar” kan ett lättare verktyg räcka. När du väl bryr dig om versionering i Drive och en logg i Airtable vinner n8n oftast. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din veckovolym.
När det här väl rullar slutar bildredigeringar att vara en skattjakt. Arbetsflödet tar hand om det repetitiva filjobbet så att du kan fokusera på de kreativa besluten som faktiskt gör skillnad.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.