> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unifically.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Text-to-Dialogue

> Generate multi-voice dialogue with ElevenLabs

Generate multi-voice dialogue audio using ElevenLabs eleven\_v3 model with support for multiple speakers and emotion tags.

## Model

```
elevenlabs/text-to-dialogue
```

## Parameters

| Parameter       | Type   | Required | Default | Description                                                |
| --------------- | ------ | -------- | ------- | ---------------------------------------------------------- |
| `dialogue`      | array  | Yes      | -       | Array of dialogue objects with `text` and `voice`          |
| `language_code` | string | No       | `en`    | Language code for generation (`"auto"` defaults to `"en"`) |
| `stability`     | number | No       | `0.5`   | Voice stability 0-1                                        |

### Dialogue Object

Each item in the `dialogue` array must contain:

| Parameter | Type   | Required | Description                                                      |
| --------- | ------ | -------- | ---------------------------------------------------------------- |
| `text`    | string | Yes      | Text for this speaker (supports emotion tags like `[excitedly]`) |
| `voice`   | string | Yes      | [Voice ID](/api-reference/resources#elevenlabs) for this speaker |

<Note>Text-to-Dialogue always uses the `eleven_v3` model - no model selection needed.</Note>

## Resources

Get available voices from the [Resources API](/api-reference/resources):

```
GET /v1/resources/elevenlabs/voices
```

## Example

```bash theme={null}
curl -X POST https://api.unifically.com/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "elevenlabs/text-to-dialogue",
    "input": {
      "stability": 0.5,
      "language_code": "auto",
      "dialogue": [
        {
          "text": "[excitedly] Hey Jessica! Have you tried the new ElevenLabs V3?",
          "voice": "TX3LPaxmHKxFdv7VOQHJ"
        },
        {
          "text": "[curiously] Yeah, just got it! The emotion is so amazing.",
          "voice": "cgSgspJ2msm6clMCkdW9"
        }
      ]
    }
  }'
```

## Example - Longer Conversation

```bash theme={null}
curl -X POST https://api.unifically.com/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "elevenlabs/text-to-dialogue",
    "input": {
      "stability": 0.6,
      "dialogue": [
        {
          "text": "[warmly] Welcome to the podcast! Today we have a special guest.",
          "voice": "TX3LPaxmHKxFdv7VOQHJ"
        },
        {
          "text": "[grateful] Thanks for having me! I am excited to be here.",
          "voice": "cgSgspJ2msm6clMCkdW9"
        },
        {
          "text": "[interested] So tell us about your latest project.",
          "voice": "TX3LPaxmHKxFdv7VOQHJ"
        },
        {
          "text": "[enthusiastically] Well, it all started last year when...",
          "voice": "cgSgspJ2msm6clMCkdW9"
        }
      ]
    }
  }'
```

## Emotion Tags

You can add emotion tags in square brackets at the start of text to control the speaker's tone:

* `[excitedly]` - Excited, energetic delivery
* `[curiously]` - Questioning, interested tone
* `[warmly]` - Friendly, welcoming tone
* `[sadly]` - Melancholic delivery
* `[angrily]` - Frustrated, angry tone
* `[whispered]` - Quiet, whispered speech
* `[shouted]` - Loud, shouted delivery

## Response

```json theme={null}
{
  "code": 200,
  "success": true,
  "data": {
    "task_id": "abc123def456",
    "status": "processing"
  }
}
```

## Completed Response

```json theme={null}
{
  "code": 200,
  "success": true,
  "data": {
    "task_id": "abc123def456",
    "status": "completed",
    "output": {
      "audio_url": "https://files.unifically.com/abc123.mp3"
    }
  }
}
```
