> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# ElevenLabs

> Learn how to use ElevenLabs TTS voices on the SignalWire platform.

ElevenLabs voices offer expressive, human-like pronunciation and an extensive list of supported languages.
Every ElevenLabs [voice](#voices) can be used with all of the ElevenLabs [models](#models).

## Models

Consult ElevenLabs' documentation for an up-to-date list of available models and supported languages.

ElevenLabs' TTS API offers a range of audio models optimized for different use cases, quality levels, and performance requirements.

## Voices

You can use the **Name** and **ID** values for each voice in the below table interchangeably.

| Name        | ID                     |
| ----------- | ---------------------- |
| `Rachel`    | `21m00Tcm4TlvDq8ikWAM` |
| `Drew`      | `29vD33N1CtxCmqQRPOHJ` |
| `Clyde`     | `2EiwWnXFnvU5JabPnv8n` |
| `Paul`      | `5Q0t7uMcjvnagumLfvZi` |
| `Domi`      | `AZnzlk1XvdvUeBnXmlld` |
| `Dave`      | `CYw3kZ02Hs0563khs1Fj` |
| `Fin`       | `D38z5RcWu1voky8WS1ja` |
| `Sarah`     | `EXAVITQu4vr4xnSDxMaL` |
| `Antoni`    | `ErXwobaYiN019PkySvjV` |
| `Thomas`    | `GBv7mTt0atIp3Br8iCZE` |
| `Charlie`   | `IKne3meq5aSn9XLyUdCD` |
| `George`    | `JBFqnCBsd6RMkjVDRZzb` |
| `Emily`     | `LcfcDJNUP1GQjkzn1xUU` |
| `Elli`      | `MF3mGyEYCl7XYWbV9V6O` |
| `Callum`    | `N2lVS1w4EtoT3dr4eOWO` |
| `Patrick`   | `ODq5zmih8GrVes37Dizd` |
| `Harry`     | `SOYHLrjzK2X1ezoPC6cr` |
| `Liam`      | `TX3LPaxmHKxFdv7VOQHJ` |
| `Dorothy`   | `ThT5KcBeYPX3keUQqHPh` |
| `Josh`      | `TxGEqnHWrfWFTfGW9XjX` |
| `Arnold`    | `VR6AewLTigWG4xSOukaG` |
| `Charlotte` | `XB0fDUnXU5powFXDhCwa` |
| `Alice`     | `Xb7hH8MSUJpSbSDYk0k2` |
| `Matilda`   | `XrExE9yKIg1WjnnlVkGX` |
| `James`     | `ZQe5CZNOzWyzPSCn5a3c` |
| `Joseph`    | `Zlb1dXrM653N07WRdFW3` |
| `Jeremy`    | `bVMeCyTHy58xNoL34h3p` |
| `Michael`   | `flq6f7yk4E4fJM5XTYuZ` |
| `Ethan`     | `g5CIjZEefAph4nQFvHAz` |
| `Chris`     | `iP95p4xoKVk53GoZ742B` |
| `Gigi`      | `jBpfuIE2acCO8z3wKNLl` |
| `Freya`     | `jsCqWAovK2LkecY7zXl4` |
| `Brian`     | `nPczCjzI2devNBz1zQrb` |
| `Grace`     | `oWAxZDx7w5VEj9dCyTzz` |
| `Daniel`    | `onwK4e9ZLuTAKqWW03F9` |
| `Lily`      | `pFZP5JQG7iQjIQuC4Bku` |
| `Serena`    | `pMsXgVXv3BLzUgSXRplE` |
| `Adam`      | `pNInz6obpgDQGcFmaJgB` |
| `Nicole`    | `piTKgcLEGmPE4e6mEKli` |
| `Bill`      | `pqHfZKP75CvOlQylNhV4` |
| `Jessie`    | `t0jbNlBVZ17f02VDIeMI` |
| `Sam`       | `yoZ06aMxZJJ28mfd3POQ` |
| `Glinda`    | `z9fAnlkpzviPz146aGWa` |
| `Giovanni`  | `zcAOhNBS3c14rBihAFp1` |
| `Mimi`      | `zrHiDhphv9ZnVXBqCLjz` |

## Usage

ElevenLabs voice IDs conform to the following format:

```
elevenlabs.<voice>:<model>
```

**Examples**:

```
elevenlabs.Rachel:eleven_flash_v2_5
elevenlabs.21m00Tcm4TlvDq8ikWAM:eleven_v3
elevenlabs.Brian:eleven_multilingual_v2
```

## Languages

ElevenLabs' multilingual models are designed to be interchangeably compatible with all supported languages.
Rather than enforcing language selection with language `code`,
this TTS model automatically uses the appropriate language of the input text.

Consult ElevenLabs'
[supported languages resource](https://help.elevenlabs.io/hc/en-us/articles/13313366263441-What-languages-do-you-support)
for an up-to-date list of supported languages.

***

## Examples

Learn how to use ElevenLabs voices on the SignalWire platform.

Use the
[**`languages`**](/docs/swml/reference/ai/languages#use-voice-strings)
SWML method to set one or more voices for an [AI agent](/docs/swml/reference/ai).

```yaml
version: 1.0.0
sections:
  main:
  - ai:
      prompt:
        text: Have an open-ended conversation about flowers.
      languages:
        - name: English
          code: en-US
          voice: elevenlabs.rachel
```

Alternatively, use the [**`say_voice`** parameter](/docs/swml/reference/play#variables)
of the [**`play`**](/docs/swml/reference/play)
SWML method to select a voice for basic TTS.

```yaml
version: 1.0.0
sections:
  main:
  - set:
      say_voice: "elevenlabs.rachel"
  - play: "say:Greetings. This is the Rachel voice, speaking in English, from ElevenLabs' Multilingual v2 text-to-speech model."
```

```javascript
// This example uses the Node.js SDK for SignalWire's RELAY Realtime API.
const playback = await call.playTTS({ 
    text: "Greetings. This is the Rachel voice, speaking in English, from ElevenLabs' Multilingual v2 text-to-speech model.",
    voice: "elevenlabs.rachel",
});
await playback.ended();
```