ElevenLabs: Eleven v3 Conversational
Eleven v3 Conversational is ElevenLabs’ expressive speech model for live dialogue. It turns prepared text into audio with contextual delivery and audio tags, supporting more than 70 languages in a producer streaming workflow distinct from ordinary v3 narration.
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 Conversational is ElevenLabs’ speech-synthesis edition for real-time dialogue. It takes the text of a prepared reply and returns spoken audio, with the emotional range and contextual delivery of the v3 family. The producer identifies it separately from ordinary Eleven v3 and places it in a Text to Dialogue streaming workflow. Its useful role is the voice of an assistant or interactive character whose next utterance depends on the preceding conversation.
The model supports more than 70 languages, including English, French, German, Japanese, Korean, Spanish, Portuguese and Russian. Choose the language of the written reply and a voice with an appropriate accent. For a multilingual support script, adapt the wording for natural spoken language before sending it to synthesis. The model speaks the supplied content; the reasoning that determines the reply and any interpretation of the user’s microphone input are separate stages of the application.
Audio tags provide fine-grained control of emotion and delivery. A reassuring answer, a curious question and a dramatic character reaction need different performances even when the words are short. Keep the cue close to the utterance it affects and retain enough context to explain the emotional shift. An illustrative brief can say: “Confirm the correction warmly, then explain the next step in an even, attentive voice.” The reply should remain understandable without depending on the cue to supply missing information.
In the documented dialogue WebSocket workflow, the application sends text and receives Base64-encoded audio chunks while the connection stays open across lines. The producer buffers enough text for a coherent speech segment; very short fragments may wait until more context arrives or the buffer is deliberately flushed. Turn boundaries can reset prosody, while a change of speaker marks a new turn. These characteristics guide how to prepare complete phrases rather than isolated words for an interactive response.
The shared dialogue guide documents optional alignment information on audio chunks when requested and available. Alignment can help relate the speech to its text, but it is not a promise that a prescribed utterance will have one fixed duration. Select the producer output format for playback or file collection; its shared TTS format family includes MP3 and PCM, with telephony encodings available in the relevant workflow. A dialogue connection and a full prerecorded speech request are different modes, so their preparation and timing assumptions should stay distinct.
For pronunciation, expand ambiguous abbreviations and write numbers in the intended spoken form when the meaning would otherwise be unclear. Keep names and recurring terminology consistent. Do not transfer the v4 model’s native IPA syntax or the ordinary v3 request ceiling solely because the family name is similar. Choose the voice for the conversational role, then review a representative line for clarity and emotional fit before continuing the script.
For a practical assistant response, use one main thought, a clear result and a natural ending that lets the user respond. For example: “Acknowledge the new delivery address, repeat the street name clearly and ask whether the user wants the saved address changed.” For a character, keep the established persona while making the reaction fit the current scene. Break long explanations at meaningful sentence boundaries and preserve the preceding conversational context. The deliverable is spoken audio for the supplied reply, not a transcript of the caller or an independently generated decision.
Ailoot Ultra · Text to speech POST /v1/audio/speech elevenlabs/eleven-v3-conversational
elevenlabs/eleven-v3-conversational
elevenlabs/eleven-v3-conversationalOverview
Eleven v3 Conversational is ElevenLabs’ expressive speech model for live dialogue. It turns prepared text into audio with contextual delivery and audio tags, supporting more than 70 languages in a producer streaming workflow distinct from ordinary v3 narration.
- 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 |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits elevenlabs/eleven-v3-conversational | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits Minimum length: 1 Maximum length: 5,000 Unit: Unicode characters | Default— |
Fieldvoice | Typestring | 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— |
Fieldresponse_format | Typestring | RequirementRequired | Values & limits mp3 | Default— |
Input material combinations
text_to_speech · Required: input
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input, voice, response_format |
Parametervoice_ids | Contractgeorge, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will |
Parameterresponse_format | Contractmp3 |
Parametermax_input_characters | Contract5000 |
Parameterother_options | Contractfalse |
Parameterinput | Contractexact UTF-8 text; Unicode character count without normalization |
Parametermaterial_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.00008 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 Conversational
Prices by configuration
| Configuration | Billing conditions | Charge |
|---|---|---|
| ConfigurationElevenLabs: Eleven v3 Conversational · Default configuration | Billing conditionsDefault configuration | Charge Input · Input characters $0.00004 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 →
Example requests
Ailoot Ultra · Text to speech
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-conversational", "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}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Other content reads
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
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
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 |
|---|---|
Fieldbinary audio | Typebytes |
Fieldresponse 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. |
Responseserver_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-conversational
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · ElevenLabs: Eleven v3 Conversational
- What inputs and results are available?
POST /v1/audio/speech·elevenlabs/eleven-v3-conversational:text→audio- Which fields does the request use?
POST /v1/audio/speech·elevenlabs/eleven-v3-conversational:model,input,voice,response_format- What limits apply?
POST /v1/audio/speech·elevenlabs/eleven-v3-conversational:input.maximum_length:5000