ElevenLabs icon

ElevenLabs

WIP

Overview

The ElevenLabs node for n8n provides integration with the ElevenLabs API, specifically enabling Text-to-Speech (TTS) functionality. The Speech: Text to Speech operation converts input text into spoken audio using a selected voice and various customizable parameters. This is useful for automating content narration, accessibility features, generating voiceovers, or creating dynamic audio responses in workflows.

Example scenarios:

  • Automatically generate audio versions of blog posts or articles.
  • Create personalized voice messages for users.
  • Add speech output to chatbots or virtual assistants.

Properties

Below are the supported input properties for the Speech: Text to Speech operation:

Display Name Type Description
Text String The text to transform into speech. Required.
Voice ID ResourceLocator The voice you want to use. Can be chosen from a list or specified by ID. Required.
Additional Fields Collection Optional settings to customize the output. Includes:
- Binary Name String Change the output binary property name.
- File Name String Change the output file name.
- Streaming Latency Number (0–4) Enable latency optimizations at some cost of quality.
- Output Format String Output format of the generated audio (e.g., mp3_44100_128).
- Model Name or ID Options/String Identifier of the model to use.
- Stability Number (0–1) Define voice stability.
- Similarity Boost Number (0–1) Define voice similarity boost.
- Stitching Boolean Whether stitching is activated.
- Style Number (0–1) Exaggerate voice style.
- Speaker Boost Boolean Whether speaker boost is activated.
- Seed Number Define a fixed seed for reproducibility.

Notice:
This node is currently in BETA and under active development.
More information | Contact the n8Ninja on X
Latest update includes Stitching.

Output

  • The node outputs the generated speech as binary data.
  • The binary property name and file name can be customized via "Binary Name" and "File Name" fields.
  • The output format (e.g., MP3) is determined by the "Output Format" field.
  • The json output will typically include metadata about the request and may reference the binary property containing the audio file.

Example output structure:

{
  "json": {
    "success": true,
    "voice_id": "abc123",
    "text": "Be good to people!",
    "output_format": "mp3_44100_128",
    // ...other metadata fields
  },
  "binary": {
    "data": {
      "data": "<Buffer ...>", // The actual audio file buffer
      "fileName": "voice.mp3",
      "mimeType": "audio/mpeg"
    }
  }
}

Note: The actual binary property name and file name depend on your configuration.

Dependencies

  • External Service: Requires an account and API key for ElevenLabs.
  • n8n Credentials: You must configure the elevenLabsApi credential in n8n.
  • Internet Access: The node communicates with the ElevenLabs API at https://api.elevenlabs.io/v1.

Troubleshooting

Common issues:

  • Invalid API Key: If the API key is missing or incorrect, authentication errors will occur. Ensure your elevenLabsApi credential is set up correctly.
  • Missing Required Fields: The "Text" and "Voice ID" fields are required. Omitting them will result in validation errors.
  • Unsupported Output Format: Specifying an invalid output format may cause the API to reject the request.
  • Audio Not Returned: If the binary output is missing, check that the "Binary Name" and "File Name" fields are set correctly and that the API response was successful.

Error messages and resolutions:

  • 401 Unauthorized: Check your API key and credentials.
  • 400 Bad Request: Review all required fields and ensure values are valid.
  • Output binary property not found: Make sure the "Binary Name" matches the property used in your workflow.

Links and References

Discussion