Att skriva av text från skärmdumpar är den typen av ”liten uppgift” som i det tysta förstör din dag. Du tappar några minuter här, gör ett stavfel där och lägger sedan ännu mer tid på att rätta det i Slack, ett dokument eller ett CRM.
Den här Telegram OCR-automationen träffar marknadsförare som plockar ut annonstexter, drift- och ops-team som fångar kvitton eller etiketter och konsulter som samlar anteckningar från samtal och workshops. Du skickar en bild till en Telegram-bot och får felfri, kopierbar text tillbaka på några sekunder.
Nedan ser du exakt vad flödet gör, hur det är kopplat, vad du behöver för att köra det och var team oftast går fel när de driftsätter det.
Så fungerar den här automationen
Hela n8n-flödet, från trigger till slutlig output:
n8n Workflow Template: Telegram + Gemini Vision: extrahera text ur bilder
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-vertical", form: "rounded", label: "Clean Input Data", pos: "b", h: 48 }
n2["<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/>get file"]
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/telegram.svg' width='40' height='40' /></div><br/>Telegram"]
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/>Gemini OCR"]
n5@{ icon: "mdi:cog", form: "rounded", label: "Extract from File", pos: "b", h: 48 }
n2 --> n5
n4 --> n3
n1 --> n2
n0 --> n1
n5 --> n4
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 n4 api
classDef customIcon fill:none,stroke:none
class n0,n2,n3,n4 customIcon
Problemet: skärmdumpar låser in din information
Skärmdumpar är smidiga tills du behöver texten i dem. En kollega delar en pristabell som bild. En kund skickar ”bara en snabb bild” på ett formulär. Du fångar en bit annonstext från en swipe file i mobilen. Nu sitter informationen fast. Antingen skriver du av den (långsamt), kör den genom någon slumpmässig OCR-webbplats (tveksamt), eller skjuter upp det (och glömmer). Det mest irriterande är den mentala kontextväxlingen: zooma in, kopiera rad för rad, fixa konstiga mellanrum och hoppas att du inte bytte ut en 0 mot ett O.
Friktionen byggs på. Det är sällan en skärmdump. Det är tio.
- Du lägger ofta runt 10 minuter per bild bara för att få fram användbar text, särskilt när typsnittet är litet eller ljuset är stökigt.
- Stavfel smyger sig in i offerter, adresser och produktspecar, vilket leder till följdfrågor och onödigt pingpongande.
- OCR-webbplatser kräver ofta uppladdningar, och ärligt talat kan det bli en efterlevnads- och compliance-huvudvärk för kund- eller interna dokument.
- Även när du får ut texten finns den inte där du behöver den, så du hoppar ändå mellan appar för att dela den.
Lösningen: Telegram-bot med OCR som drivs av Gemini Vision
Det här flödet gör Telegram till din ”skicka hit, få text tillbaka”-inkorg. När du meddelar din bot med en skärmdump eller ett foto hämtar n8n bildfilen, konverterar den till ett format som AI:t kan läsa och skickar den till Google Gemini Vision API för analys. Gemini extraherar texten den ser (inklusive block med flera rader som stycken, menyer eller delar av ett gränssnitt). Sedan postar n8n resultatet direkt tillbaka i samma Telegram-chatt, så att texten omedelbart går att kopiera. Ingen nedladdning, ingen avskrivning, ingen jakt på ett verktyg du använde för tre månader sedan.
Flödet startar i samma ögonblick som en ny bild landar i din Telegram-bot. Därefter hämtar det själva fotofilen, konverterar binärinnehållet till den payload som Gemini förväntar sig och skickar en HTTP-förfrågan till Gemini Vision. Till sist svarar det i Telegram med den extraherade texten så att du kan klistra in den var som helst.
Det här får du: automation kontra resultat
| Vad det här flödet automatiserar | Resultatet du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du tar 15 skärmdumpar i veckan: konkurrentannonser, markeringar från analytics och slumpmässiga ”glöm inte det här”-anteckningar. Om du lägger cirka 10 minuter per skärmdump på att skriva av och städa upp blir det ungefär 2,5 timmar i veckan. Med det här flödet vidarebefordrar du varje bild till Telegram (kanske 30 sekunder) och väntar sedan på svaret (ofta under en minut). Realistiskt får du tillbaka cirka 2 timmar per vecka, och texten är redan redo att klistras in i ett dokument eller ett meddelande.
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 för att ta emot bilder och skicka tillbaka text.
- Google Gemini Vision API för OCR och textextrahering.
- Gemini API-nyckel (hämta den från Google AI Studio).
Svårighetsgrad: Nybörjare. Du klistrar in en API-nyckel och kopplar en Telegram-bot, och testar sedan med en exempel-skärmdump.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En Telegram-bild sätter igång allt. När någon skickar ett foto eller en skärmdump till din bot fångar Telegram Trigger upp det direkt och skickar vidare meddelandets metadata.
Flödet normaliserar det som kom in. n8n rensar och strukturerar inkommande fält så att nästa steg alltid vet vilket fil-ID som ska begäras, även om Telegrams payload-format varierar lite.
n8n hämtar och konverterar bilden. Det anropar Telegram igen för att ladda ner den faktiska filen och konverterar sedan binärdata så att den kan inkluderas säkert i den förfrågan som Gemini Vision förväntar sig.
Gemini extraherar text och Telegram tar emot svaret. En HTTP-förfrågan skickar bilden till Gemini Vision, n8n plockar ut den extraherade texten ur svaret och den sista Telegram-noden skickar tillbaka texten till din chatt.
Du kan enkelt ändra formatet på det utgående meddelandet så att det inkluderar radbrytningar, rubriker eller ”copy blocks” utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-implementeringsguide
Steg 1: konfigurera Telegram-triggern
Det här arbetsflödet startar när en användare skickar ett meddelande med ett foto till er Telegram-bot.
- Lägg till och öppna Telegram Intake Trigger.
- Ställ in Updates på
message. - I Additional Fields aktiverar ni Download till
true. - Autentisering krävs: Anslut era telegramApi-uppgifter.
- Spara noden för att generera Telegram-webhooken.
Steg 2: koppla Telegram och normalisera inkommande data
Normalisera den inkommande uppdateringen för att extrahera chatt-ID och foto-fil-ID för efterföljande noder.
- Öppna Normalize Incoming Data och lägg till två tilldelningar.
- Ställ in chatID på
={{ $json.message.chat.id }}. - Ställ in Image på
={{ $json["message"]["photo"][$json["message"]["photo"].length - 1]["file_id"] }}. - Öppna Retrieve Photo File och ställ in Resource på
file. - Ställ in File ID på
={{ $json.Image.replace(/\n/g, '') }}. - Autentisering krävs: Anslut era telegramApi-uppgifter i Retrieve Photo File.
Steg 3: konfigurera bildkonvertering och OCR-förfrågan
Konvertera det nedladdade fotot till base64-data och skicka det till Gemini för OCR.
- Öppna Convert Binary to Data och ställ in Operation på
binaryToPropery. - Öppna Gemini Text Extract och ställ in Method på
POST. - Ställ in URL på
https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent. - Ställ in Specify Body på
jsonoch Send Body påtrue. - Ställ in JSON Body på
={ "contents": [ { "role": "user", "parts": [ { "inlineData": { "mimeType": "image/jpeg", "data": "{{ $json.data }}" } }, { "text": "Extract text" } ] } ] }. - Autentisering krävs: Anslut era httpQueryAuth-uppgifter i Gemini Text Extract.
image/png i JSON-bodyt.Steg 4: konfigurera Telegram-svaret
Skicka den extraherade texten tillbaka till den ursprungliga Telegram-chatten.
- Öppna Send Telegram Reply.
- Ställ in Text på
={{ $json.output }}. - Ställ in Chat ID på
={{ $('Normalize Incoming Data').item.json.chatID }}. - Autentisering krävs: Anslut era telegramApi-uppgifter i Send Telegram Reply.
Steg 5: testa och aktivera ert arbetsflöde
Verifiera att varje nod skickar vidare data korrekt och att OCR-svaret returneras till Telegram.
- Klicka på Execute Workflow och skicka ett foto till er Telegram-bot.
- Bekräfta körordningen: Telegram Intake Trigger → Normalize Incoming Data → Retrieve Photo File → Convert Binary to Data → Gemini Text Extract → Send Telegram Reply.
- Verifiera att Gemini Text Extract returnerar ett fält med namnet output och att Send Telegram Reply postar texten tillbaka till Telegram.
- När allt fungerar, växla arbetsflödet till Active för att möjliggöra användning i produktion.
Vanliga fallgropar
- Telegram-botens inloggningsuppgifter kan löpa ut eller roteras. Om svaren plötsligt slutar, kontrollera först Telegram-inloggningen i n8n och bekräfta sedan att boten fortfarande har behörighet att läsa inkommande foton.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Gemini-prompter och parsning spelar större roll än man tror. Om du vill ha rena stycken (inte en textvägg) justerar du request-payloaden och lägger till lite formateringslogik innan Telegram-svaret.
Vanliga frågor
Mindre än 5 minuter om din bot och API-nyckel är redo.
Nej. Du kopplar Telegram, klistrar in din Gemini API-nyckel och kör ett testmeddelande för att bekräfta att den svarar med text.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för Gemini API-användning (ofta bara ören vid lätt OCR-användning).
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 klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, men då byter du intake-steget. Det här flödet lyssnar just nu på Telegram-bilder och använder sedan ”Retrieve Photo File” och ”Convert Binary to Data” innan det anropar Gemini. Du kan ersätta Telegram-intaget med en Google Drive-trigger (ny fil) och behålla steget Gemini Text Extract, så länge du fortfarande konverterar filen till det request-format som Gemini förväntar sig.
Oftast är det en felaktig eller roterad bot-token som är sparad i n8n. Uppdatera Telegram-inloggningen och verifiera sedan att boten tar emot meddelanden (det gör den inte om sekretessinställningar eller chattkontext är fel). Kontrollera också att flödet läser rätt fil-ID efter steget ”Normalize Incoming Data”, eftersom Telegram-payloads kan skilja sig mellan foton och dokument.
På n8n Cloud beror det på din månadsgräns för körningar; vid self-hosting finns ingen fast gräns utöver din server. I praktiken kör team det här för dussintals eller hundratals bilder per dag utan att ens tänka på det, så länge du inte slår i rate limits för Telegram eller Gemini. Om du förväntar dig stora toppar (som batchbearbetning av eventbilder), lägg in enkel throttling och fel-retries så att meddelanden inte misslyckas när flera bilder kommer in samtidigt. Det fina är att du kan skala gradvis: börja för eget bruk och rulla sedan ut det till en gemensam teambot.
Ofta ja, särskilt om du vill ha kontroll över formatering och retries. n8n är flexibelt när du behöver hämta filer, transformera binärdata och göra anpassade HTTP-anrop till Gemini, och det straffar dig inte för att du lägger till logik. Zapier eller Make kan gå snabbare för enkla prototyper, men OCR-flöden blir ofta pilliga när du bryr dig om output-kvalitet. Prata med en automationsexpert om du vill ha hjälp att välja.
Det här är en sån automation du sätter upp en gång och sedan undrar hur du klarade dig utan den. Dina skärmdumpar slutar vara återvändsgränder och du får tillbaka timmar under en vanlig månad.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.