Translate Telegram audio messages with AI (55 supported languages) v1
Automatically translate incoming Telegram audio messages into text and then into any of 55 supported languages, delivering the translation back to the sender. This n8n workflow connects Telegram for receiving and sending messages, and leverages OpenAI for both speech-to-text transcription and language translation. When a user sends an audio message to your Telegram bot, the Telegram Trigger node initiates the process, sending the audio to OpenAI for transcription. The transcribed text is then passed to the Auto-detect and translate node, which uses OpenAI's language model to identify the original language and translate it into a target language, before sending the translated text back to the user via the Text reply Telegram node. This is ideal for businesses with international clients, community managers supporting diverse groups, or individuals communicating across language barriers, eliminating the need for manual transcription and translation and saving significant time and effort in cross-cultural communication.
Workflow JSON
{"id": "IvgAFAUOSI3biT4L", "meta": {"instanceId": "2723a3a635131edfcb16103f3d4dbaadf3658e386b4762989cbf49528dccbdbd"}, "name": "Translate Telegram audio messages with AI (55 supported languages) v1", "tags": [], "nodes": [{"id": "f91fa0cf-ea01-4fc0-9ef2-754da399b7fb", "name": "Telegram Trigger", "type": "n8n-nodes-base.telegramTrigger", "position": [440, 220], "webhookId": "c537cfcc-6c4a-436a-8871-d32f8ce016cb", "parameters": {"updates": ["*"], "additionalFields": {}}, "credentials": {"telegramApi": {"id": "", "name": "[Your telegramApi]"}}, "typeVersion": 1}, {"id": "057ae05f-2c7d-48c5-a057-a6917a88971c", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [1240, 0], "parameters": {"width": 556.5162909529794, "height": 586.6978417266175, "content": "## Translation\n\n- Converts from speech to text.\n\n- Translates the language from the native language to translated language (as specified in settings node)\n\n"}, "typeVersion": 1}, {"id": "c6947668-118e-4e23-bc55-1cdbce554a20", "name": "Text reply", "type": "n8n-nodes-base.telegram", "position": [2240, 220], "parameters": {"text": "={{ $json.text }}", "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}", "additionalFields": {"parse_mode": "Markdown"}}, "credentials": {"telegramApi": {"id": "", "name": "[Your telegramApi]"}}, "typeVersion": 1}, {"id": "93551aea-0213-420d-bf82-7669ab291dae", "name": "Telegram1", "type": "n8n-nodes-base.telegram", "position": [1060, 220], "parameters": {"fileId": "={{ $('Telegram Trigger').item.json.message.voice.file_id }}", "resource": "file"}, "credentials": {"telegramApi": {"id": "", "name": "[Your telegramApi]"}}, "typeVersion": 1.1}, {"id": "972177e4-b0a4-424f-9ca6-6555ff3271d7", "name": "OpenAI Chat Model", "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", "position": [1520, 400], "parameters": {"options": {}}, "credentials": {"openAiApi": {"id": "", "name": "[Your openAiApi]"}}, "typeVersion": 1}, {"id": "0e8f610f-03a7-4943-bd19-b3fb10c89519", "name": "Input Error Handling", "type": "n8n-nodes-base.set", "position": [860, 220], "parameters": {"fields": {"values": [{"name": "message.text", "stringValue": "={{ $json?.message?.text || \"\" }}"}]}, "options": {}}, "typeVersion": 3.2}, {"id": "c8ab9e01-c9b5-4647-8008-9157ed97c4c3", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [1920, 0], "parameters": {"width": 585.8688089385912, "height": 583.7625899280566, "content": "## Telegram output\n\n- Provide the output in both text as well as speech. \n\n- Many languages are supported including English,French, German, Spanish, Chinese, Japanese.\n\nFull list here:\nhttps://platform.openai.com/docs/guides/speech-to-text/supported-languages\n"}, "typeVersion": 1}, {"id": "0898dc4d-c3ad-43df-871f-1896f673f631", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [-140, 0], "parameters": {"color": 4, "width": 489.00549958607303, "height": 573.4892086330929, "content": "## Multi-lingual AI Powered Universal Translator with Speech \u2b50\n\n### Key capabilities\nThis flow enables a Telegram bot that can \n- accept speech in one of 55 languages \n- translates to another language and returns result in speech\n\n### Use case:\n- Learning a new language\n- Communicate with others while traveling to another country\n\n### Setup\n- Open the Settings node and specify the languages you would like to work with"}, "typeVersion": 1}, {"id": "ae0595d2-7e40-4c1e-a643-4b232220d19a", "name": "Settings", "type": "n8n-nodes-base.set", "position": [660, 220], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "501ac5cc-73e8-4e9c-bf91-df312aa9ff88", "name": "language_native", "type": "string", "value": "english"}, {"id": "efb9a7b2-5baa-44cc-b94d-c8030f17e890", "name": "language_translate", "type": "string", "value": "french"}]}}, "typeVersion": 3.3}, {"id": "2d3654cf-a182-4916-a50c-a501828c2f6e", "name": "Auto-detect and translate", "type": "@n8n/n8n-nodes-langchain.chainLlm", "position": [1500, 220], "parameters": {"text": "=Detect the language of the text that follows. \n- If it is {{ $('Settings').item.json.language_native }} translate to {{ $('Settings').item.json.language_translate }}. \n- If it is in {{ $('Settings').item.json.language_translate }} translate to {{ $('Settings').item.json.language_native }} . \n- In the output just provide the translation and do not explain it. Just provide the translation without anything else.\n\nText:\n {{ $json.text }}\n", "promptType": "define"}, "typeVersion": 1.4}, {"id": "a6e63516-4967-4e81-ba5b-58ad0ab21ee3", "name": "Audio reply", "type": "n8n-nodes-base.telegram", "position": [2240, 400], "parameters": {"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}", "operation": "sendAudio", "binaryData": true, "additionalFields": {}}, "credentials": {"telegramApi": {"id": "", "name": "[Your telegramApi]"}}, "typeVersion": 1.1}, {"id": "e4782117-03de-41d2-9208-390edc87fc08", "name": "OpenAI2", "type": "@n8n/n8n-nodes-langchain.openAi", "position": [1300, 220], "parameters": {"options": {}, "resource": "audio", "operation": "transcribe"}, "credentials": {"openAiApi": {"id": "", "name": "[Your openAiApi]"}}, "typeVersion": 1.3}, {"id": "b29355f5-122c-4557-8215-28fdb523d221", "name": "OpenAI", "type": "@n8n/n8n-nodes-langchain.openAi", "position": [2020, 400], "parameters": {"input": "={{ $json.text }}", "options": {}, "resource": "audio"}, "credentials": {"openAiApi": {"id": "", "name": "[Your openAiApi]"}}, "typeVersion": 1.3}], "active": true, "pinData": {}, "settings": {"executionOrder": "v1"}, "versionId": "ac9c6f40-10c8-4b60-9215-8d4e253bf318", "connections": {"OpenAI": {"main": [[{"node": "Audio reply", "type": "main", "index": 0}]]}, "OpenAI2": {"main": [[{"node": "Auto-detect and translate", "type": "main", "index": 0}]]}, "Settings": {"main": [[{"node": "Input Error Handling", "type": "main", "index": 0}]]}, "Telegram1": {"main": [[{"node": "OpenAI2", "type": "main", "index": 0}]]}, "Telegram Trigger": {"main": [[{"node": "Settings", "type": "main", "index": 0}]]}, "OpenAI Chat Model": {"ai_languageModel": [[{"node": "Auto-detect and translate", "type": "ai_languageModel", "index": 0}]]}, "Input Error Handling": {"main": [[{"node": "Telegram1", "type": "main", "index": 0}]]}, "Auto-detect and translate": {"main": [[{"node": "Text reply", "type": "main", "index": 0}, {"node": "OpenAI", "type": "main", "index": 0}]]}}}How to Import This Workflow
- 1Copy the workflow JSON above using the Copy Workflow JSON button.
- 2Open your n8n instance and go to Workflows.
- 3Click Import from JSON and paste the copied workflow.
Don't have an n8n instance? Start your free trial at n8nautomation.cloud
Related Templates
Telegram AI multi-format chatbot
Automate a multi-format AI chatbot on Telegram, allowing users to interact via text or voice. This workflow connects Telegram for user input and replies with OpenAI for AI processing and voice-to-text conversion. It's ideal for customer support, content generation, or interactive learning platforms. This saves significant time and effort in managing diverse user interactions.
Agentic Telegram AI bot with LangChain nodes and new tools
Build an intelligent, agentic AI bot for Telegram that responds dynamically to user queries, leveraging the power of LangChain nodes and custom tools. This workflow connects Telegram as the primary communication channel, allowing the bot to listen for incoming messages via the Listen for incoming events trigger. User input is then processed by the AI Agent, which orchestrates interactions with an OpenAI Chat Model for natural language understanding and generation, and a Window Buffer Memory to maintain conversational context. The agent can dynamically decide to use a custom tool, Send back an image, which in turn calls the Generate image in Dalle tool (an AI:toolHttpRequest node) to create and send images based on user requests, before ultimately delivering the final reply back to the user via the Send final reply Telegram node. This setup is ideal for businesses offering interactive customer support, content creators generating on-demand visuals, or communities providing dynamic information retrieval, significantly reducing manual intervention and providing instant, intelligent responses to Telegram users. It automates complex conversational flows, saving significant time and resources typically spent on human-led interactions and content creation.
Discord AI bot
Automate the intelligent routing of incoming user requests from a webhook to the appropriate Discord department with this powerful workflow. This n8n workflow leverages OpenAI's advanced natural language processing to analyze user input, then directs the request to either the User Success Dept, IT Dept, or Helpdesk Discord channel based on the identified category. Imagine a customer submitting a query through a web form; this workflow instantly understands their need and posts it in the relevant team's Discord channel, eliminating manual triage and ensuring faster response times. This solution is ideal for businesses and support teams looking to streamline their customer service operations, reduce response delays, and improve internal communication by automatically categorizing and distributing inquiries, saving significant time and effort in managing support tickets.