Source: https://ailoot.ai/models/en/elevenlabs-eleven-v3/
Canonical: https://ailoot.ai/models/en/elevenlabs-eleven-v3/
Language: en

# ElevenLabs: Eleven v3

[Markdown](https://ailoot.ai/models/en/elevenlabs-eleven-v3/index.md) · [JSON](https://ailoot.ai/models/en/elevenlabs-eleven-v3/facts.json)

## [ElevenLabs: Eleven v3](https://ailoot.ai/models/en/elevenlabs-eleven-v3/)

Eleven v3 synthesises emotionally expressive speech from a script, with inline audio tags and a producer dialogue mode. It supports more than 70 languages and a 5,000-character request limit for narration, character scenes and other performances where delivery matters.

- [**Ailoot Ultra · Text to speech** `POST /v1/audio/speech` `elevenlabs/eleven-v3`](https://ailoot.ai/models/en/elevenlabs-eleven-v3/#method-0)

About the model

This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.

Eleven v3 is ElevenLabs’ expressive text-to-speech model for emotional dialogue, character discussion and audiobook narration. It converts a written script into spoken audio and uses context to shape emotional range and delivery. The producer supports both single-voice speech and a dialogue workflow with multiple speakers. This card concerns the named v3 edition, kept separate from v3 Conversational and the later v4 family.

Inline audio tags can direct emotion, vocal delivery and non-verbal reactions. The manufacturer gives examples such as \[sad\], \[angry\], \[happily\], \[whispers\], \[shouts\], \[laughs\], \[clears throat\] and \[sighs\]. Place the cue near the words or reaction it should affect. For a narrative scene, write the emotional transition into the actual dialogue and use the tag to make the intended sound explicit, rather than relying on a detached description of the scene.

V3 does not support SSML \<break\> tags. Its prompting guide uses audio tags, punctuation, ellipses and text structure for pauses and pacing. That approach supplies a performance direction rather than an exact timing contract. For a hesitant line, an ellipsis and the relevant vocal cue can make the intended hesitation clear. If a recording must fit a precise timeline, use the selected take and editing workflow to place it rather than treating a pause tag as a fixed-duration unit.

Voice selection remains important. The documented guidance says a delivery that is already present in the voice’s training material is easier to reproduce, while unusual requests may be less reliable. Match the voice to the character or narrator and review whether the chosen tags produce the intended delivery. The current v3 prompting section says Professional Voice Clones are not fully optimised for this edition; v4’s documented clone improvements and native pronunciation controls are separate edition features. The product guide also marks Speed, Similarity and Speaker Boost unavailable for ordinary v3. Prepare pacing and delivery through the voice, tags, punctuation and text structure rather than inheriting another edition’s sliders.

Eleven v3 supports more than 70 languages, including English, French, German, Japanese, Korean, Spanish, Portuguese and Russian. Choose a voice appropriate to the language and regional accent and prepare the actual spoken wording before synthesis. Language support does not translate a script automatically. For a localised character scene, preserve the speaker’s intent and reaction while adapting the wording naturally for the audience.

A text-to-speech request supports up to 5,000 characters. Divide longer scripts at complete scene or narration boundaries so each segment has a clear beginning and ending. The producer provides create and stream modes for speech as well as create and stream modes for dialogue. For dialogue, associate each turn with its intended speaker and retain their sequence. Keep an emotional change with enough surrounding text to make the transition understandable.

The shared producer audio workflow offers MP3, PCM and telephony encodings such as μ-law, with additional formats listed in its TTS guide. Pronunciation dictionaries provide a way to keep names and technical terms consistent. The dictionary guide explicitly lists v3 for phoneme rules and limits its multilingual phonetic extension to v4; that does not make v4’s slash-wrapped native IPA syntax a v3 feature. Prepare important spellings or spoken aliases and check the result with the selected voice.

For a practical performance brief, provide a finished episode rather than an outline: a narrator’s introduction, the character’s actual line and the reaction that closes the scene. Specify which content is spoken, where a vocal reaction belongs and the emotional direction of each beat. Review pronunciation, voice identity, unintended reading of directions and the transition between speakers. The result is an expressive recording of the supplied script, with a chosen take that can be reused or revised in the audio project.

**Ailoot Ultra · Text to speech** `POST /v1/audio/speech` `elevenlabs/eleven-v3`

[`elevenlabs/eleven-v3`](https://ailoot.ai/models/en/#m=elevenlabs%2Feleven-v3&route=Ultra&caller=elevenlabs%2Feleven-v3&fmt=speech)

ElevenLabs /`elevenlabs/eleven-v3`

### Overview

Eleven v3 synthesises emotionally expressive speech from a script, with inline audio tags and a producer dialogue mode. It supports more than 70 languages and a 5,000-character request limit for narration, character scenes and other performances where delivery matters.

Accepted inputs

Text

Results

Audio

### Available in Ailoot · inputs & methods

**Ailoot Ultra · Text to speech** `POST /v1/audio/speech`

Input types

`text`

Output types

`audio`

Output format

mp3

| Field | Type | Requirement | Values & limits | Default |
| --- | --- | --- | --- | --- |
| Field`model` | Type`string` | RequirementRequired | Values & limits elevenlabs/eleven-v3 | Default— |
| Field`input` | Type`string` | RequirementRequired | Values & limits Minimum length: 1 Maximum length: 5,000 Unit: Unicode characters | Default— |
| Field`voice` | Type`string` | RequirementRequired | Values & limits george, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will | Default— |
| Field`response_format` | Type`string` | RequirementRequired | Values & limits mp3 | Default— |

Input material combinations

**text\_to\_speech** · Required: input

Method parameters and lifecycle

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractmodel, input, voice, response\_format |
| Parameter`voice_ids` | Contractgeorge, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will |
| Parameter`response_format` | Contractmp3 |
| Parameter`max_input_characters` | Contract5000 |
| Parameter`other_options` | Contractfalse |
| Parameter`input` | Contractexact UTF-8 text; Unicode character count without normalization |
| Parameter`material_types` | Contracttext |

Lifecycle: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · actual returned task\_id or media library record

`GET /v1/media/assets/{asset_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

Select exact voice from this model profile.

Input characters and audio seconds are different meters.

### Pricing

Tariff references do not add request options. Supported parameters are listed for the selected method.

Fast mode

Not specified When fast mode is selected

Flex mode

Not specified When flex mode is selected

Maximum reasoning effort

Not specified When maximum reasoning effort uses the default adjustment

#### Ailoot rates

#### Prices by configuration

Match each charge to the conditions shown. Use one rate for each set of alternative configurations.

| Configuration | Rate schedule | Billing unit | Charge |
| --- | --- | --- | --- |
| ConfigurationBase token rates | Rate scheduleBase rate | Billing unit— | Charge Input · Input tokens **—** / 1K tokens Output · Output tokens **—** / 1K tokens Input · Cache read **—** / 1K tokens Input · Cache write **—** / 1K tokens Input · Cache write, 1 hour **—** / 1K tokens |
| Configurationinput character | Rate schedule— | Billing unitper input character | Charge Input · input character **$0.00016** per input character |

#### Reference tariff details

Model-level reference schedules do not change method selection, quotes or charges. Active charges use the selected Ailoot method rates.

ElevenLabs: Eleven v3

#### Prices by configuration

| Configuration | Billing conditions | Charge |
| --- | --- | --- |
| ConfigurationElevenLabs: Eleven v3 · Default configuration | Billing conditionsDefault configuration | Charge Input · Input characters **$0.00008** per input character |

Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. [How reservation and settlement work →](https://ailoot.ai/docs/en/billing/reserve/)

### Example requests

#### Ailoot Ultra · Text to speech

curl

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "elevenlabs/eleven-v3", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["george", "sarah", "adam", "alice", "bella", "bill", "brian", "callum", "charlie", "chris", "daniel", "eric", "harry", "jessica", "laura", "liam", "lily", "matilda", "river", "roger", "will"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o speech.mp3
```

### Receive and save results

#### Ailoot Ultra · Text to speech

mp3

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

Other content reads

Media libraryTask statusAsset details

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
```

##### Keep all completed results

Keep every complete returned response, file and content part.

Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.

##### If the original response needs checking

Retain original operation\_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route.

Response fields

| Field | Type |
| --- | --- |
| Field`binary audio` | Typebytes |
| Field`response headers` | Typeheaders |

Errors and next steps

| Response | Condition | Next step |
| --- | --- | --- |
| Response400 · `invalid_request_error` | ConditionInvalid required fields, material representation or parameter value | Next stepCorrect the indicated fields before a new creation request. |
| Response`server_error` | ConditionThe returned response says the operation or result requires a check | Next stepKeep the original returned operation/task ID, request headers and response; continue supported reads of that original operation. Do not resubmit the creation request. |

### Aliases

#### Model aliases

**Ailoot Ultra** [`elevenlabs/eleven-v3`](https://ailoot.ai/models/en/#m=elevenlabs%2Feleven-v3&route=Ultra&caller=elevenlabs%2Feleven-v3&fmt=speech)

#### Method path aliases

Use the method paths shown above.

#### Related caller IDs

[`elevenlabs/eleven-v3`](https://ailoot.ai/models/en/#m=elevenlabs%2Feleven-v3&route=Ultra&caller=elevenlabs%2Feleven-v3&fmt=speech)

FAQ · ElevenLabs: Eleven v3

What inputs and results are available?

`POST /v1/audio/speech` · `elevenlabs/eleven-v3`: `text` → `audio`

Which fields does the request use?

`POST /v1/audio/speech` · `elevenlabs/eleven-v3`: `model`, `input`, `voice`, `response_format`

What limits apply?

`POST /v1/audio/speech` · `elevenlabs/eleven-v3`: `input.maximum_length`: `5000`

Connect Ailoot to Claude Code, OpenCode, Hermes or your own app.

## The company and its project portfolio

The company and its project portfolio: millions of customers; monthly sales in the billions.

## Buy tokens at a discount.

Subscription discounts for regular use. Promo codes offer up to 50% off token purchases.

Subscription

Choose a discounted plan for your regular requests.

Promo code: up to 50% off

Enter your code at checkout. The price updates to reflect the current promotion.

Spending in your history

The model, tokens and amount are recorded for each request.

[Choose a subscription](https://ailoot.ai/docs/en/billing/subscriptions/) · [View model prices](https://ailoot.ai/models/en/)

## Connect the API to a product you sell.

Use Ailoot in SaaS, apps and bots under its official service offer and licence agreement. Request a reseller licence for resale.

Commercial application

Add text, image, video and audio generation to paid features in your service.

Reseller licence

Send a description of your project and how you provide access. Request written terms for use and resale.

Documents on the website

The service offer, licence agreement and data processing policy are available before you connect.

[Request a reseller licence](mailto:support@ailoot.ai) · [Service offer and licence agreement](https://ailoot.ai/legal/offer?lang=en)

## Ailoot · The company and its project portfolio





Ailoot combines established operating experience, a large client base, stable service and ongoing KPI control.





The company and its project portfolio: millions of customers; monthly sales in the billions.





Ailoot brings that operating experience to API access for AI features in customer products, agents, applications and automations.
