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

# Eleven v4 Dialogue

> Multi-speaker dialogue audio with ElevenLabs Eleven v4. $0.12 per 1,000 characters.

`eleven-v4-dialogue` turns a list of lines, each with its own voice, into one audio file of a conversation, using ElevenLabs Eleven v4.

| Property | Value |
| - | - |
| Model ID | `eleven-v4-dialogue` |
| Endpoint | `POST /v1/audio/dialogue` |
| Output | Audio bytes: MP3 (default), Opus, PCM, or WAV |
| Limits | Up to 50 lines, 2,000 characters in total, and 10 voices |
| Billed on | Characters of every line |
| Price | \$0.12 per 1,000 characters (12 credits) |

Confirm live rates on the [SnapGen models page](https://snapgen.org/models). Failed requests are not charged.

<ParamField body="model" type="string" required>
  Set to `eleven-v4-dialogue`.
</ParamField>

<ParamField body="inputs" type="object[]" required>
  1 to 50 lines in speaking order, each an object with `text` and `voice` (a voice ID or first name from the [voice list](/api-reference/audio-speech#voices)). The text of all lines totals at most 2,000 characters, and a dialogue uses at most 10 different voices.

  <Expandable title="line">
    <ParamField body="text" type="string" required>
      The line to speak, up to 2,000 characters.
    </ParamField>

    <ParamField body="voice" type="string" required>
      A voice ID or first name.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="response_format" type="string" default="mp3">
  `mp3`, `opus`, `pcm`, or `wav`. See [Output formats](/api-reference/audio-speech#output-formats).
</ParamField>

<ParamField body="language" type="string">
  An ISO 639 language code of two or three lowercase letters, such as `en` or `de`. The provider rejects a code the model doesn't support.
</ParamField>

<ParamField body="stability" type="number">
  From `0` to `1`. Lower values give a broader emotional range; higher values sound more consistent.
</ParamField>

<ParamField body="seed" type="integer">
  From `0` to `4294967295`. Makes repeated requests more repeatable, without guaranteeing identical audio.
</ParamField>

## Request

```bash theme={null}
curl https://api.snapgen.org/v1/audio/dialogue \
  -H "Authorization: Bearer $SNAPGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "eleven-v4-dialogue",
    "inputs": [
      {
        "text": "[excited] Did you see the launch?",
        "voice": "JBFqnCBsd6RMkjVDRZzb"
      },
      {
        "text": "[laughs] I watched it twice!",
        "voice": "EXAVITQu4vr4xnSDxMaL"
      }
    ]
  }' \
  --output dialogue.mp3
```

The response body is the audio file, with a `Content-Type` that matches `response_format`.

## Price examples

| Text | Price |
| - | - |
| 100 characters | \$0.012 |
| 1,000 characters | \$0.12 |
| 2,000 characters | \$0.24 |

<Note>
  Synchronous audio endpoints reject `Idempotency-Key`. If a request times out, check your Console request logs before you retry.
  See [Text to dialogue](/api-reference/audio-dialogue) for every field, the response, and errors.
</Note>
