This workflow corresponds to n8n.io template #2386 — we link there as the canonical source.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "OVSyGmI6YFviPu8Q",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Generate audio from text using OpenAI - text-to-speech Workflow",
"tags": [],
"nodes": [
{
"id": "c40966a4-1709-4998-ae95-b067ce3496c9",
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1320,
200
],
"parameters": {
"options": {},
"respondWith": "binary"
},
"typeVersion": 1.1
},
{
"id": "c4e57bb6-79a4-4b26-a179-73e30d681521",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
280,
-140
],
"parameters": {
"width": 501.55,
"height": 493.060000000001,
"content": "This `Webhook` node triggers the workflow when it receives a POST request.\n\n### 1. Test Mode:\n* Use the test webhook URL\n* Click the `Test workflow` button on the canvas. (In test mode, the webhook only works for one call after you click this button)\n\n### 1. Production Mode:\n* The workflow must be active for a **Production URL** to run successfully.\n* You can activate the workflow using the toggle in the top-right of the editor.\n* Note that unlike test URL calls, production URL calls aren't shown on the canvas (only in the executions list)."
},
"typeVersion": 1
},
{
"id": "1364a4b6-2651-4b38-b335-c36783a25f12",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
825,
60
],
"parameters": {
"color": 4,
"width": 388.35000000000025,
"height": 292.71000000000043,
"content": "### Configure the OpenAI node with your API key:\nIf you haven't connected your OpenAI credentials in n8n yet, log in to your OpenAI account to get your API Key. Then, open the OpenAI node, click `Create New Credentials` and connect with the **OpenAI API**.\n"
},
"typeVersion": 1
},
{
"id": "ba755814-75e6-4e16-b3a6-50cf4fc06350",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
480,
200
],
"parameters": {
"path": "generate_audio",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "ac46df50-cb1f-484c-8edf-8131192ba464",
"name": "OpenAI",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
960,
200
],
"parameters": {
"input": "={{ $json.body.text_to_convert }}",
"voice": "fable",
"options": {},
"resource": "audio"
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "84f1b893-e1a3-40c3-83b0-7cd637b353c4",
"connections": {
"OpenAI": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "OpenAI",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Who is this for? This workflow is ideal for developers, content creators, or customer support teams looking to automate text-to-speech conversion using OpenAI.
Source: https://n8n.io/workflows/2386/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Webhook → Jira “Bug Suspicion” → Slack QA Escalation. Uses openAi, jira, slack. Webhook trigger; 12 nodes.
EvolutionAPI Live. Uses httpRequest, openAi. Webhook trigger; 12 nodes.
Automatically score every contact form lead as Hot/Warm/Cold and alert your sales team instantly.
This workflow answers user requests sent via Mac Shortcuts Several Shortcuts call the same webhook, with a query and a type of query Types of query are: translate to english translate to spanish corre