Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow for a Telegram bot that handles text, voice notes and photos. It labels text and transcripts as a task or another message, and it describes photos with OpenAI.
Telegram bot that sorts text and voice and describes photos is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Telegram message
It starts when Telegram posts a new message to the workflow's webhook address:
A reply in the same Telegram chat: the text or transcript with its label, or a written description of the photo
What you need before you start.
Chat app
Delivers each message and file to n8n and sends the replies.
NeedsA bot token from BotFather and a webhook that points at your n8n
Language model
Labels text on gpt-6-luna, turns voice into text with gpt-transcribe and describes photos on gpt-6-luna.
NeedsAn OpenAI API key
Checked by Mindket on 13 Nov 2026
This n8n workflow lets a Telegram bot understand three kinds of message. A text, or the transcript of a voice note, is labelled as a task or another message and sent back with that label. A photo is described in words. Thirty nodes do the work, beside ten sticky notes.
People who want to capture quick thoughts by text or voice and have photos explained. Skip it if you expect the workflow to create tasks in another app, since it only labels and replies.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Personal | Busy professionals | Capture to-dos by voice while on the move | A user records a reminder to send an invoice and gets it back labelled as a task. |
| Field work | Site supervisors | Describe photos taken on site | A supervisor sends a photo of a delivery and reads a written description. |
| Small business | Shop owners | Sort quick notes from the shop floor | An owner types a note about restocking cups and sees it labelled as a task. |
| Accessibility | People with low vision | Have a photo explained in words | A user sends a photo of a shelf and reads what is on it. |
You need a Telegram bot, an OpenAI key and an n8n that Telegram can reach over the internet.
Telegram posts every message to a web address, so your n8n needs a public HTTPS address. After that you use the bot from any Telegram chat with it.
Analyze ImageDownload saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. The last step tells Telegram where to send messages, and three helper nodes can do it for you.
| Need | Detail |
|---|---|
| n8n | A server or n8n Cloud with a public HTTPS address |
| Telegram | A bot token from BotFather, for a Telegram credential |
| OpenAI | An API key, for an OpenAI credential |
workflow.json.Audio Classifier Model, Text Classifier Model, Transcribe Recording and Analyze Image.Validation, replace the example first name, last name and numeric id with your own Telegram details.Telegram Token & Webhooks, replace <YOUR_TELEGRAM_BOT_TOKEN> with your token and keep the word bot in front of it. Replace <YOUR_N8N_ADDRESS> in the two web addresses with your public n8n address. In the three status nodes, replace <YOUR_TELEGRAM_CHAT_ID> with your chat id.Set Webhook Production URL from the editor to register the address with Telegram.Message the bot. A text comes back as “Task message” or “Other message” with your words in italics. A voice note does the same with its transcript. A photo comes back as a written description. Messages from anyone else get a short error reply.
| To change | Where |
|---|---|
| Who may use the bot | First name, last name and id in Validation |
| The labels | The categories in Text Classifier and Text Classifier Audio |
| What the bot says about photos | The prompt in Analyze Image |
| The webhook address | The values in Telegram Token & Webhooks |
You send a voice note that says to book the dentist for Tuesday. The workflow downloads it, turns it into text, and the classifier files it under task. The bot replies with “Task message” and your words.
You then send a photo of a cat on a sofa. The bot replies with a sentence that describes a cat on a sofa.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A webhook is an address n8n listens on, and Telegram posts each new message to it. A classifier is an AI step that puts a text into one of your groups.
For experts. Message Router has four outputs, one each for voice, text and photo plus a fallback that sends the error reply. The photo goes through Extract from File to Base64 and Convert to Image File so that Analyze Image can read it as base64. Validation must pass the incoming fields on, or the router sees no message.
| Node | What it does | What to know |
|---|---|---|
Listen for Telegram Events | Webhook 2, POST on the path your-endpoint | The address is public, so the sender check is the only gate |
Validation | Set 3.4 with the include other fields option on | It holds the example name and id you replace |
Message Router | Switch 3.2, outputs for audio, text, image and everything else | The fallback sends the error reply |
Text Classifier | Text Classifier 1 with two categories, task and other | It uses Text Classifier Model on gpt-6-luna |
Name the voice file | Code 2, sets the file name and type | Telegram’s ending oga is not on OpenAI’s list of formats |
Transcribe Recording | HTTP Request 4.2, a POST to the transcription address | It uses model gpt-transcribe and the OpenAI credential |
Text Classifier Audio | Text Classifier 1 with the same two categories | It reads the transcript field text |
Extract from File to Base64 | Extract From File 1, binary to property, keep source JSON | It keeps result.file_path for the next node |
Analyze Image | OpenAI 1.6, Image, Analyze, from base64 | It uses gpt-6-luna and allows 1500 tokens |
Telegram Token & Webhooks | Set 3.4 with the token and two addresses | It feeds the three helper requests |
The original left its models unset, used a speech model that is ending, and had two flaws that stopped the flow.
gpt-5-mini, although they were named gpt-4o-mini. OpenAI’s deprecations page, read on 12 November 2026, lists gpt-5-mini as shutting down on 11 December 2026. The image step named gpt-4o-mini, and OpenAI lists the dated snapshot of that model for shutdown on 14 January 2027 with gpt-6-luna as the replacement. Mindket’s copy uses gpt-6-luna for all three, which OpenAI’s model page lists for text and image inputwhisper-1, which OpenAI’s page lists for shutdown on 26 February 2027 with gpt-transcribe as a replacement. Mindket’s copy calls OpenAI’s transcription address with an HTTP Request node and gpt-transcribe. OpenAI’s speech to text guide lists ogg but not oga, the ending Telegram gives voice notes, so Name the voice file renames the file firstValidation did not pass the incoming fields on, so the router never saw the message and every message got the error reply. Mindket’s copy turns on the include other fields optionConvert to Image File reads result.file_path, which Extract from File to Base64 drops unless it keeps the source JSON. Mindket’s copy turns Keep Source to JSON onAnalyze Image allows 300 tokens by default, and OpenAI’s reasoning guide says a reasoning model counts its thinking in the limit, so the copy raises it to 1500<, > and & to be escaped, so a text with them can fail to sendImage Schema but no step uses itTelegram Token & Webhooks as plain text, so it is stored with the workflow and shows in execution data. Clear it after you register the webhookAn n8n workflow for a Telegram bot that handles text, voice notes and photos. A text, or the transcript of a voice note, is labelled
by OpenAI as a task or another message and sent back with that label. A photo is described in words.
workflow.json: the workflow as n8n exports it, thirty working nodes and ten sticky notes. It holds no credential.README.md: these notes.Validation did not pass the incoming fields on, so the router saw no message and every message got the error reply. ItsExtract from File to Base64 now keeps the source JSON, because Convert to Image File reads result.file_path from it.gpt-4o-mini. They are now Audio Classifier Model andText Classifier Model on gpt-6-luna.Analyze Image now uses gpt-6-luna with a limit of 1500 tokens.whisper-1, is replaced in Transcribe Recording by an HTTP Request node that usesgpt-transcribe. A new Code node, Name the voice file, renames the downloaded file to voice.ogg before it goes out.workflow.json.Audio Classifier Model, Text Classifier Model, Transcribe Recording andAnalyze Image.Validation, replace the example first name, last name and numeric id with your own Telegram details. The id is the numberListen for Telegram Events receives.Telegram Token & Webhooks, replace <YOUR_TELEGRAM_BOT_TOKEN> with your token and keep the word bot in front of it.<YOUR_N8N_ADDRESS> in the two web addresses with your public n8n address. If you change the webhook pathyour-endpoint, change it in both addresses too. In the three status nodes, replace <YOUR_TELEGRAM_CHAT_ID> with your chat id.Set Webhook Production URL from the editor to register the address with Telegram. `Get TelegramListen for Telegram Events receives the update, and Validation with Check User & Chat ID compares the sender with yourError message.Message Router sorts the message by kind.Edit Fields to Text Classifier, which sends Text Task Message or Text Other Message.Get Audio File, Name the voice file and Transcribe Recording, then Text Classifier Audio, whichAudio Task Message or Audio Other Message.Image Schema, Get Image, Extract from File to Base64 and Convert to Image File to Analyze Image,Image Message sends the description.Telegram Token & Webhooks run only when you run them by hand.Validation.Text Classifier and Text Classifier Audio.Analyze Image.Telegram Token & Webhooks.gpt-5-mini, which OpenAI's deprecations page, read on 12 November 2026,gpt-4o-mini, and the page lists the dated snapshot of that model forgpt-6-luna as the replacement. OpenAI's model page lists text and image input for gpt-6-luna.whisper-1 for shutdown on 26 February 2027 with gpt-transcribe as a replacement. OpenAI's speech to textogg among its formats but not oga, the ending Telegram gives voice notes.Analyze Image allows 300 tokens by<, > and & to be escaped, soImage Schema, but no step uses it.Telegram Token & Webhooks as plain text, so it is stored with the workflow and shows in execution data.NOTICE.md 631 B README.md 6 KB workflow.json 29 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
zarazhangrui · Skill
Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…
iptv-org · Kit
Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…
uwg · Kit
Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…