ElevenLabs: Eleven v4 Turbo
Eleven v4 Turbo turns text into expressive speech for live conversation, voice assistants and interactive characters. It retains the v4 family’s emotional range and audio directions while using a streaming profile built around one registered voice per connection.
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 v4 Turbo is ElevenLabs’ expressive speech-synthesis edition designed for real-time conversation and voice-agent responses. It receives text and returns spoken audio, carrying the emotional range of the v4 family into an interactive workflow. The producer distinguishes its purpose from ordinary v4, which is tuned for produced content and narration. Support replies, assistant explanations and interactive character lines are the named Turbo applications.
The producer’s bidirectional streaming workflow can receive text as it is generated and return audio before the complete utterance has arrived. This reduces the need to wait for a finished paragraph before speech begins. It is a text-to-audio stage: the reply’s words are supplied to the synthesis model. Listening to a caller, deciding what action to take and detecting interruptions are separate functions of the surrounding voice-agent application.
The documented Text to Dialogue WebSocket profile registers exactly one voice for v4 Turbo. This differs from v4’s profile, which supports up to ten registered voices. A connection can carry successive turns in the selected voice, with a new-turn signal resetting prosody at a turn boundary. Prepare one clear speaker identity for an assistant and keep it consistent while the content and tone change across the conversation.
Streaming still needs enough text to form a useful speech segment. The guide describes a producer buffer of approximately 40 characters and eight words before partial audio begins; shorter buffers can be flushed deliberately without ending the connection. The audio arrives in Base64-encoded chunks that an application can decode for playback or collect into a file. Alignment information can accompany chunks when requested and available. These are producer workflow details, not a fixed latency or exact-duration guarantee for an individual utterance.
Audio tags and conversation context guide delivery. A confirmation can sound pleased, an explanation attentive and a correction calm while retaining the same voice. State the audible direction near the relevant words. An illustrative line might be: “[warm] That step is complete. [pause] Let’s check the next item.” The words must already communicate the right result; the tags shape how the result is heard rather than supplying missing factual content.
The v4 model family supports more than 90 languages, with English, French, German, Japanese, Spanish, Portuguese and Russian among the documented examples. ElevenLabs describes stable speaker identity across turns and languages and supports Professional Voice Clones in both v4 and v4 Turbo. Voice preparation or cloning is a separate step from synthesising a reply. Select the voice and target language explicitly and keep names, terminology and preferred spoken forms consistent through the dialogue.
ElevenLabs’ documented format options include MP3 for general listening, uncompressed PCM or WAV for production audio and μ-law for telephony. The selected output format determines the sample rate and encoding used by the producer workflow. For an assistant, choose the format for the playback destination rather than asking the script to specify an encoding. Review important names and abbreviations with the chosen voice and write the required spoken wording clearly in the text. The producer describes Stability and Similarity as the voice settings for both v4 variants; Style and Speed sliders are not available in this profile. Use the spoken text and audio directions to shape the delivery.
A practical conversational brief starts with a compact reply that contains one result and one clear next step. For example: “Confirm that the document was received, then explain the one detail still needed. Use a calm, friendly delivery and preserve the document name exactly.” Divide a long answer at meaningful boundaries and keep the surrounding conversational context. Evaluate clarity, the start and end of each turn and whether the emotion fits the message. The deliverable is streamed or collected speech for the supplied text and selected voice, distinct from the application’s reasoning and listening stages.
Ailoot Ultra · Text to speech POST /v1/audio/speech elevenlabs/eleven-v4-turbo
elevenlabs/eleven-v4-turboOverview
Eleven v4 Turbo turns text into expressive speech for live conversation, voice assistants and interactive characters. It retains the v4 family’s emotional range and audio directions while using a streaming profile built around one registered voice per connection.
- 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-v4-turbo | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits Minimum length: 1 Maximum length: 10,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 | Contract10000 |
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 v4 Turbo
Prices by configuration
| Configuration | Billing conditions | Charge |
|---|---|---|
| ConfigurationElevenLabs: Eleven v4 Turbo · 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-v4-turbo", "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-v4-turbo
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · ElevenLabs: Eleven v4 Turbo
- What inputs and results are available?
POST /v1/audio/speech·elevenlabs/eleven-v4-turbo:text→audio- Which fields does the request use?
POST /v1/audio/speech·elevenlabs/eleven-v4-turbo:model,input,voice,response_format- What limits apply?
POST /v1/audio/speech·elevenlabs/eleven-v4-turbo:input.maximum_length:10000