TTS ElevenLabs

Prev Next

ElevenLabs Text To Speech Integration Node

Parameters

name
description
default
VoiceId ElevenLabs Specific Voice Id JBFqnCBsd6RMkjVDRZzb
ModelId ElevenLabs Specific Model Id eleven_flash_v2_5
IgnoreSslErrors Ignore any certificate errors. Useful for testing. true
Credential API Key Credential for the ElevenLabs TTS service empty
Include Wave Header If true, all outputted audio segments will also have a 44 Byte wave header. true
Force Synthesis On Every Text If true, ElevenLabs will try to synthesise a TTS Sound on every "Text" event except for events that have the TextAttribute "streaming" . false
ElevenLabs AutoMode If true, ElevenLabs will try to reduce latency by disabling "Chunk Length Schedule", works well with "Force Synthesis On Every Text" . true
ElevenLabs Chunk Length Schedule This is an advanced setting that most users shouldn't need to use. Determines the minimum amount of text that needs to be sent and present in our buffer before audio starts being generated. [120, 160, 250, 290]
Apply Text Normalization Can be 'auto', 'on', or 'off'. Enables the TTS voice to spell out numbers. Not all models support the 'on' setting. auto
Voice Settings: Stability Defines voice stability as a float value between 0.0 -> 1.0 0.5
Voice Settings: Similarity Boost Defines voice similarity boost as a float value between 0.0 -> 1.0 0.75
Voice Settings: Style Defines voice style as a float value between 0.0 -> 1.0 0.0
Voice Settings: Speed Defines voice speed as a float value between 0.7 -> 1.2 1.0
Voice Settings: Use Speaker Boost Defines voice speaker boost option true

Inputs

Audio

none

Events

name description known nodes that generate this event
Every Event that Contains the Data.Text field A TTS Synthesis audio can be generated from any event that is text based. Users can also generate their custom event that has Data.Text and send it through the Entry, or External Relay nodes. SR Http, SR WebSocket, Translate

Outputs

Audio

 Syntesized speech is sent to output in PCM16 Format With a Wave header.

Events

name description
Start of TTS Fragment This event is sent just before a TTS operation writes the result to Audio output. Contains the Text that was used for the synthesis under the Data.Text field.
End of TTS Fragment This event is send just after a TTS operation has finished writing to Audio output.

Remarks

Requirements

The node needs an ElevenLabs Api key to perform. After creating an ElevenLabs account, you can create and retrieve your api key from the api key page .

You can also see which voices are available through the Voice Lab page, and copy their ids.

The list of available models can be found here

Voice Id and API Key

Make sure you press the Add To Voice List button in your ElevenLabs account that is connected to your API Key whenever you want to try out a new voice.

Custom TTS Event

A sample tts-request event would look as follows.

{
    "Event": {
        "Name": "Custom TTS Event",
        "Channel": 0,
        "Data" : {
            "Text": "hello world"
        }
    }
}

Channel: Channel number is necessary for locating the node that will perform the TTS operation.
Data.Text: The text that will be synthesized.

Sending Custom Events to Projects

To learn more about sending Events to projects, you can check the HTTP and External Relay pages.

Project Structure

The project structures defined in TTS Http page all apply to this node as well.

Supported flow types

Stream, Batch

Release Notes

v4.2.0
  • Deprecated the Key field in node config;
  • Added encrypted Credential dropdown for safer credential management.
v4.1.0
  • Added Voice Settings Parameters To Config.
v4.0.0
  • Added Apply Normalization Parameter to config.
v3.7.0
  • Added ElevenLabs Chunk Length Schedule to config.
  • Added ElevenLabs AutoMode to config.
v3.6.0
  • Introduced node.