anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
An n8n workflow that voices a French text with ElevenLabs and transcribes the audio with OpenAI. An OpenAI model translates the text into English, and ElevenLabs reads the English aloud.
French audio transcribed, translated and voiced in English 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.
Manual start
Nothing runs on its own. You press Test workflow, and it uses:
An audio file of the English translation, spoken in your chosen voice
What you need before you start.
Speech
Turns the French text and then the English text into spoken audio, with the model eleven_multilingual_v2.
NeedsElevenLabs API key in a Header Auth credential, and a voice ID
Transcription and translation
Transcribes the French audio with whisper-1 and translates the text into English with a chat model.
NeedsOpenAI API key
Checked by Mindket on 13 Nov 2026
This n8n workflow carries speech through a full round trip. It turns a short French text into spoken French with ElevenLabs, then transcribes that audio back into text with OpenAI. An OpenAI chat model translates the text into English, and ElevenLabs reads the English aloud. It is a demo of an audio translation pipeline, and each part can be swapped. Seven nodes run it, beside five sticky notes.
Builders, language teachers and content teams who want to see how transcription, translation and speech fit together in n8n, and who may later feed in their own recordings. Skip it if you need a finished dubbing tool, since this one handles a short text at a time.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Automation | n8n builders | Learn the pattern, then replace the first steps with their own audio | A builder swaps the first two nodes for a file read and keeps the rest. |
| Education | Language teachers | Hear a text in two languages from one run | A teacher plays the French and English versions side by side in class. |
| Content | Podcast and video teams | Draft an English voice track from a French script | A team checks the translation before a full recording. |
| Localization | Small studios | Test voices and wording before a larger job | A studio tries three voices on the same paragraph. |
You need a little n8n: import a file, add an ElevenLabs header credential and an OpenAI credential, and paste a voice ID.
Any n8n that can reach ElevenLabs and OpenAI will run it. It starts by hand, so there is no schedule to set.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. You need your voice ID and two keys ready.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| ElevenLabs | An account, an API key and the ID of a voice you may use |
| OpenAI | An API key |
workflow.json.Set ElevenLabs voice ID and text, replace <YOUR_ELEVENLABS_VOICE_ID> with your voice’s ID. The brackets go.Generate French Audio, create a Header Auth credential. Name the header xi-api-key and give it your ElevenLabs key. Select the same credential in Translate English text to speech.Transcribe Audio and in OpenAI Chat Model.Press Test workflow whenever you want a run. Change the French text in Set ElevenLabs voice ID and text first if you like. The English audio is in the last node’s output. For your own recording, replace the first two nodes with one that gives your file as binary data named data.
| To change | Where |
|---|---|
| The text or voice | Set ElevenLabs voice ID and text |
| The target language | The prompt in Translate Text to English |
| The speech model and settings | The request bodies in the two ElevenLabs nodes |
| The chat model | OpenAI Chat Model |
The sample text describes a walk by the sea after lunch. ElevenLabs speaks it in French, and OpenAI’s transcription turns the audio back into the French sentences.
The chat model translates the sentences into English, and the last node returns an audio file of the English text in your voice. Listen to both versions before you use either.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. The speech steps are plain web requests to ElevenLabs and OpenAI, and the translation step is a chain that asks one chat model to translate.
For experts. Generate French Audio and Translate English text to speech call ElevenLabs’ text-to-speech address with the model eleven_multilingual_v2. Transcribe Audio posts the audio to /v1/audio/transcriptions as a form with the model whisper-1.
| Node | What it does | What to know |
|---|---|---|
Generate French Audio | Turns the text into French speech | The text goes into the JSON body with no escaping |
Transcribe Audio | Turns the audio into text | Reads the binary field data |
Translate Text to English | Translates the transcript | A Basic LLM Chain, version 1.2, at temperature 0 |
Translate English text to speech | Reads the English aloud | Escapes double quotes in the text first |
Two models in the file are due to retire, and the voice speech needs care.
whisper-1 shutting down on 26 February 2027, with gpt-live-transcribe or gpt-transcribe as the replacementsOpenAI Chat Model sets no model, so n8n uses gpt-5-mini. The same page gives 11 December 2026 for its shutdown, with gpt-5.6-terra as the replacementoptimize_streaming_latency as deprecated in its documentation, read on 12 November 2026, but still lists itAn n8n workflow that carries speech through a full round trip. It turns a short French text into spoken French with ElevenLabs
and transcribes that audio back into text with OpenAI. An OpenAI chat model translates the text into English, and ElevenLabs reads
the English aloud. It works as a demo of an audio translation pipeline, and its parts can be swapped one at a
time.
workflow.json: the workflow as n8n exports it, twelve nodes. Seven of them run and five are sticky notes. It holds noREADME.md: these notes.<YOUR_ELEVENLABS_VOICE_ID> now.Set ElevenLabs voice ID and text was a passage from someone else's blog. We replaced it with a shortworkflow.json.Set ElevenLabs voice ID and text and replace<YOUR_ELEVENLABS_VOICE_ID> with it. The brackets go.Generate French Audio, create a Header Auth credential. Name the header xi-api-key and give it your ElevenLabs key.Translate English text to speech.Transcribe Audio, select an OpenAI credential. Select the same one in OpenAI Chat Model.Set ElevenLabs voice ID and text if you like.When clicking "Execute Workflow" starts the run by hand.Set ElevenLabs voice ID and text sets two fields, voice_id and text.Generate French Audio posts the text to ElevenLabs' text-to-speech address for that voice. It uses the modeleleven_multilingual_v2, stability 0.5, similarity 0.5 and the header accept: audio/mpeg, and returns an audio file.Transcribe Audio posts that file to OpenAI's /v1/audio/transcriptions as multipart/form-data, from the binary fielddata, with the model whisper-1. The reply holds the transcript in text.Translate Text to English is a Basic LLM Chain, version 1.2, with the prompt Translate to English: and the transcript. ItsOpenAI Chat Model, at temperature 0.Translate English text to speech posts the English text to the same ElevenLabs voice, the way step 3 did, and returns theSet ElevenLabs voice ID and text, and the prompt in Translate Text to English.Set ElevenLabs voice ID and text and Generate French Audio with a node thatdata, such as Read/Write Files from Disk.English in the prompt of Translate Text to English, and drop the last node if you want text only.OpenAI Chat Model.Generate French Audio builds its JSON by placing the text between quotation marks, with no escaping. A text that holds aTranscribe Audio sends whisper-1. OpenAI's deprecations page, read on 12 November 2026, shows it shutting down on 26 Februarygpt-live-transcribe or gpt-transcribe as the replacements. Check that the transcription address takes the newOpenAI Chat Model sets no model, so n8n uses its default for that node version, gpt-5-mini. The same page gives 11 Decembergpt-5.6-terra as the replacement. Pick a model in the node before then.optimize_streaming_latency. ElevenLabs' documentation, read on 12 November 2026, marks it asNOTICE.md 572 B README.md 5 KB workflow.json 9 KB
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
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…
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…