layers.tts is not specified, Tavus will default to cartesia engine.
If you use the default engine, you do not need to specify any parameters within the
tts layer.Configuring the TTS Layer
Define the TTS layer under thelayers.tts object. Below are the parameters available:
1. tts_engine
Specifies the supported third-party TTS engine.
- Options:
cartesia,elevenlabs.
2. api_key
Authenticates requests to your selected third-party TTS provider. You can obtain an API key from one of the following:
3. external_voice_id
Specifies which voice to use with the selected TTS engine. To find supported voice IDs, refer to the provider’s documentation:
You can use any publicly accessible custom voice from ElevenLabs or Cartesia without the provider’s API key. If the custom voice is private, you still need to use the provider’s API key.
4. tts_model_name
Model name used by the TTS engine. Refer to:
5. tts_emotion_control
If set to true, enables emotion control in speech. Defaults to true.
6. voice_settings
Optional object containing additional settings specific to the selected TTS engine.
For Cartesia, we support inline Cartesia SSML settings. For ElevenLabs, we support the following parameters:
| Parameter | ElevenLabs |
|---|---|
speed | Range 0.7 to 1.2 (0.7 = slowest, 1.2 = fastest) |
stability | Range 0.0 to 1.0 (0.0 = variable, 1.0 = stable) |
similarity_boost | Range 0.0 to 1.0 (0.0 = creative, 1.0 = original) |
style | Range 0.0 to 1.0 (0.0 = neutral, 1.0 = exaggerated) |
use_speaker_boost | Boolean (enhances speaker similarity) |
See ElevenLabs Voice Settings for details.
Example Configuration
Below is an example persona with a fully configured TTS layer:Refer to the Create Persona API for a complete list of supported fields.

