upscaler
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…
An n8n workflow you start by hand: a Set node holds a line of text and a voice, and OpenAI’s text to speech endpoint returns it as an MP3 file. Change the two fields to speak anything.
Text turned into spoken MP3 audio with OpenAI 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 run
It starts when you press Execute workflow, with two values set in the Set node:
An MP3 audio file in the run, ready to play, download or pass to the next node
What you need before you start.
Text to speech
Turns the text into spoken audio with tts-1 and the chosen voice, through its speech endpoint.
NeedsOpenAI API key, in an OpenAI credential
Checked by Mindket on 13 Nov 2026
This n8n workflow turns text into spoken audio. A manual trigger starts it. A Set node holds the text and the voice name, and one HTTP request sends both to OpenAI’s speech endpoint with the tts-1 model. OpenAI answers with an MP3 file, which stays in the run as a binary file. Three nodes do the work, beside five sticky notes that label the steps.
Developers and creators who want a small starting block for voice output, such as narration for a video, a spoken alert or a read-aloud button. Skip it if the audio must be saved or sent on. As imported, it stays in the run.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Video and podcasts | Creators | Turn a script into a voice track, one paragraph at a time | A creator makes an MP3 of a short intro and drops it into a video editor. |
| Education | Teachers | Make a read-aloud version of a short reading | A teacher turns a lesson summary into audio for the class. |
| Customer support | Support teams | Hear a reply aloud before building it into a phone flow | A team tries several voices on the same greeting. |
| Development | Builders | Swap the manual trigger for a webhook | An app asks the workflow for audio and gets a file back. |
You need a little n8n: import a file, select one OpenAI credential and edit one Set node.
Any n8n that can reach OpenAI’s API will run it. Decide where the file should go, since nothing saves it.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. One OpenAI key covers it.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key for an OpenAI credential |
| Some text | One passage for each run, kept short |
workflow.json.Send HTTP Request to OpenAI's TTS Endpoint.Set input text and TTS voice. Replace input_text with your text and keep voice as alloy, or pick another voice from OpenAI’s speech guide.Type your text into input_text, choose a voice and press Execute workflow. One request goes to OpenAI, and the MP3 sits in the request’s output as a file named data.
| To change | Where |
|---|---|
| The text | input_text in Set input text and TTS voice |
| The voice | voice in the same node |
| The model | model in the request’s body, tts-1 in the file |
| How it starts | Replace the manual trigger with a webhook, a schedule or another trigger |
| Where the audio goes | Add a node after the request |
A teacher puts a three-sentence lesson summary into input_text and keeps the voice alloy.
The request’s output holds one MP3 file. Its Binary tab shows a player, and any node you add after it can send or store the same file.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one has three in a row: the button, the settings and the request. One press makes one request and one MP3. Start with one short sentence, then try a longer text.
For experts. The request is a plain call to the speech endpoint, and the credential adds the key.
| Node | What it does | What to know |
|---|---|---|
Set input text and TTS voice | Set 3.2 in raw JSON mode with two fields | Replace the JSON with values from an earlier step to feed it from outside |
Send HTTP Request to OpenAI's TTS Endpoint | HTTP Request 4.1, POST with model, input and voice in the body | The openAiApi credential adds the Authorization header, and the answer comes back as a file |
The model is on its way out, and the original copy sent a stray header.
tts-1 on 6 January 2027. The replacement it names, gpt-realtime-2.1-mini, is a Realtime API model, and OpenAI’s speech guide says it is not supported on the speech endpoint. Mindket’s copy keeps tts-1, which works until then. Plan a rebuild on the Realtime API before that dateBearer $OPENAI_API_KEY beside its credential. Mindket’s copy drops it, since the credential sends your keyAn n8n workflow you start by hand. A Set node holds a line of text and a voice name, and one HTTP request sends both to
OpenAI's speech endpoint with the tts-1 model. OpenAI answers with an MP3 file that stays in the run as a binary
file.
workflow.json: the workflow as n8n exports it, eight nodes. Three do the work and five are sticky notes that labelREADME.md: these notes.Authorization with the literal text Bearer $OPENAI_API_KEY, beside an OpenAIworkflow.json.Send HTTP Request to OpenAI's TTS Endpoint.Set input text and TTS voice. Replace input_text with your text. Keep voice as alloy, or pick anotherSet input text and TTS voice (Set 3.2, raw JSON mode) holds input_text and voice. The file has a short testalloy.Send HTTP Request to OpenAI's TTS Endpoint (HTTP Request 4.1) posts model, input and voice tohttps://api.openai.com/v1/audio/speech. It signs in with the openAiApi credential type, and the answer comesdata.input_text and voice in the Set node. Replace the JSON with values from an earlier step to feed itmodel in the request's body.tts-1 on 6 January 2027. The replacement it names,gpt-realtime-2.1-mini, is a Realtime API model, and OpenAI's speech guide says it is not supported on the speechtts-1, which works until then. Plan a rebuild on the Realtime API before that date.NOTICE.md 585 B README.md 3 KB workflow.json 5 KB
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…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
microsoft · Kit
Turns written conversations into spoken audio with up to four speakers and about 90 minutes of speech, an open Microsoft text-to-speech model for research on p…
PedroMarinhoDev · Kit
Edits an image, or combines up to four, from a text instruction, using a ComfyUI-ready version of the Moss-Image-Edit LoRA. For ComfyUI users working with the…
zhifeixie · Kit
Transcribes English and Chinese speech from noisy, echoey, clipped or overlapping recordings, and routes clean audio to the base model. For teams with difficul…
zai-org · Kit
Generates and edits images from text and reference pictures, with strong text rendering inside images, using an autoregressive plus diffusion design. For creat…