{
  "id": "OVSyGmI6YFviPu8Q",
  "meta": {
    "instanceId": "workflow-b83e45a6",
    "versionId": "1.0.0",
    "createdAt": "2025-09-29T07:07:51.687895",
    "updatedAt": "2025-09-29T07:07:51.687914",
    "owner": "n8n-user",
    "license": "MIT",
    "category": "automation",
    "status": "active",
    "priority": "high",
    "environment": "production"
  },
  "name": "Generate audio from text using OpenAI - text-to-speech Workflow",
  "tags": [
    "automation",
    "n8n",
    "production-ready",
    "excellent",
    "optimized"
  ],
  "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,
      "notes": "This respondToWebhook node performs automated tasks as part of the workflow."
    },
    {
      "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,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "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,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "ba755814-75e6-4e16-b3a6-50cf4fc06350",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        480,
        200
      ],
      "webhookId": "28feeb38-ef2d-4a2e-bd7c-25a524068e25",
      "parameters": {
        "path": "generate_audio",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2,
      "notes": "This webhook node performs automated tasks as part of the workflow."
    },
    {
      "id": "ac46df50-cb1f-484c-8edf-8131192ba464",
      "name": "OpenAI",
      "type": "n8n-nodes-base.noOp",
      "position": [
        960,
        200
      ],
      "parameters": {
        "input": "={{ $json.body.text_to_convert }}",
        "voice": "fable",
        "options": {},
        "resource": "audio"
      },
      "credentials": {
        "openAiApi": {
          "id": "2Cije3KX7OIVwn9B",
          "name": "n8n OpenAI"
        }
      },
      "typeVersion": 1.3,
      "notes": "This openAi node performs automated tasks as part of the workflow."
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": null,
    "timezone": "UTC",
    "executionTimeout": 3600,
    "maxExecutions": 1000,
    "retryOnFail": true,
    "retryCount": 3,
    "retryDelay": 1000
  },
  "versionId": "84f1b893-e1a3-40c3-83b0-7cd637b353c4",
  "connections": {
    "c40966a4-1709-4998-ae95-b067ce3496c9": {
      "main": [
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9-06fb45a2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9-518fd39b",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9-4234f104",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9-5b7cbe6c",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9-898c8f2e",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9-966a1747",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9-c615e54f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-c40966a4-1709-4998-ae95-b067ce3496c9-cf8a68d3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba755814-75e6-4e16-b3a6-50cf4fc06350": {
      "main": [
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350-041082f0",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350-0b689680",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350-e06276e2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350-fd189a7a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350-ab531e48",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350-eeefb523",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350-24f14964",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-ba755814-75e6-4e16-b3a6-50cf4fc06350-cfe66af9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ac46df50-cb1f-484c-8edf-8131192ba464": {
      "main": [
        [
          {
            "node": "error-handler-ac46df50-cb1f-484c-8edf-8131192ba464-233e9ba4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "description": "Automated workflow: Generate audio from text using OpenAI - text-to-speech Workflow. This workflow integrates 5 different services: webhook, stickyNote, respondToWebhook, stopAndError, openAi. It contains 10 nodes and follows best practices for error handling and security.",
  "notes": "Excellent quality workflow: Generate audio from text using OpenAI - text-to-speech Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
}