models

ElevenLabs: Eleven v4

Markdown · JSON

ElevenLabs: Eleven v4

Eleven v4 turns scripts into expressive speech with contextual delivery, inline audio directions and sound events. ElevenLabs designs it for produced narration, character dialogue and multilingual audio, with a 10,000-character limit per generation.

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 is ElevenLabs’ expressive text-to-speech model for produced content, narration and character performance. Its new architecture uses the script’s context to shape who is speaking, what has happened and how the next line should sound. The input is a written script associated with a selected voice; the output is audio. The manufacturer highlights emotional dialogue, audiobook production, animation and games, and multilingual projects as characteristic applications.

Direction can be written into the script with inline audio tags. Tags such as [laughs], [whispers] and [door slams] can describe vocal delivery, a non-verbal event or a sound within the scene. V4’s documented update improves following a sequence of those directions compared with v3. For a short dramatic beat, write the actual spoken words and place a delivery cue at the point where it matters, rather than appending an unrelated list of emotions to the end.

Pauses and emphasis use natural-language audio directions. ElevenLabs documents [pause] and [long pause] for breaks and cues such as [excited] or [sighs] for delivery. SSML <break> tags are disabled for v4, so an older script using those tags needs to be adapted to the v4 direction format. A tag names the intended performance; it does not by itself set an exact number of milliseconds or guarantee a fixed final duration.

The producer’s dialogue workflow supports multiple speakers, allowing a scene to contain separate voices and sound events. Its v4 dialogue WebSocket profile supports up to ten registered voices, while v4 Turbo’s profile uses one. Prepare a clear order of speaker turns and keep each line associated with the intended voice. An illustrative exchange might move from a quietly uncertain question to a confident answer and then a relieved reaction. The content and emotional transition should be understandable from the script itself. For a single narrator, use the same clarity to distinguish narration from a quoted line or a change in mood.

Eleven v4 supports more than 90 languages, including English, French, German, Japanese, Spanish, Portuguese and Russian. The manufacturer describes consistent voice quality through language changes. Choose a voice and pronunciation appropriate to the language and region of the intended recording; the language of the script and the character of the voice both matter. For a localised lesson, translate the spoken wording first and preserve the meaning, terminology and delivery cues in the new script.

A generation supports up to 10,000 characters. Longer work is prepared as multiple connected generations, with context stitching intended to keep pacing and delivery consistent between segments. Divide a chapter at a natural sentence or scene boundary and retain the context around it. The manufacturer also describes stable speaker identity when a line is regenerated. That is useful for revising one passage while maintaining the same cast and performance style across the surrounding material.

V4 supports Instant and Professional Voice Clones in ElevenLabs’ producer workflow. ElevenLabs highlights their return in v4; its v3 prompting guide says Professional Voice Clones are not fully optimised for v3. Instant or Professional Voice Clones created before v4’s launch need to be retrained for v4 to work effectively with the model. Voice cloning creates or prepares the voice used for synthesis; it is distinct from the act of converting the supplied script into speech. No single default voice is required by the model’s identity, so select the voice for the narrator or character rather than assuming that the model name determines a speaker.

The manufacturer documents MP3 for general listening and media delivery, WAV or PCM for uncompressed production audio, and μ-law for telephony. Its API controls the sample rate and bitrate of the selected format. Pronunciation dictionaries can define how names, acronyms and technical terms are spoken. V4 also recognises standard IPA transcriptions enclosed in forward slashes, such as /IPA_transcription/, including stress markers for multi-syllable terms; the pronunciation can still vary with the voice and phrase. Prepare required terms before production and keep their preferred spoken forms consistent through revisions. The v4 producer profile uses Stability and Similarity voice settings; Style and Speed sliders are not available. Pace and emotional delivery are directed through the script and audio tags.

For a practical narration brief, supply a finished scene, the intended voice, the language, the emotional arc and the destination of the audio. For example: “Read the opening calmly, pause before the discovery and make the final line sound relieved; keep the narrator’s tone consistent.” Review pronunciation, speaker changes, audible tags or events and the transitions between passages. The useful deliverable is a produced speech recording tied to the script, with a selected take and the directions needed to revise a particular line.

Ailoot Ultra · Text to speech POST /v1/audio/speech elevenlabs/eleven-v4

elevenlabs/eleven-v4

ElevenLabs /elevenlabs/eleven-v4

Overview

Eleven v4 turns scripts into expressive speech with contextual delivery, inline audio directions and sound events. ElevenLabs designs it for produced narration, character dialogue and multilingual audio, with a 10,000-character limit per generation.

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
FieldTypeRequirementValues & limitsDefault
FieldmodelTypestringRequirementRequiredValues & limits
elevenlabs/eleven-v4
Default—
FieldinputTypestringRequirementRequiredValues & limits
Minimum length: 1
Maximum length: 10,000
Unit: Unicode characters
Default—
FieldvoiceTypestringRequirementRequiredValues & limits
george, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will
Default—
Fieldresponse_formatTypestringRequirementRequiredValues & limits
mp3
Default—
Input material combinations

text_to_speech · Required: input

Method parameters and lifecycle
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, input, voice, response_format
Parametervoice_idsContractgeorge, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will
Parameterresponse_formatContractmp3
Parametermax_input_charactersContract10000
Parameterother_optionsContractfalse
ParameterinputContractexact UTF-8 text; Unicode character count without normalization
Parametermaterial_typesContracttext

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.

ConfigurationRate scheduleBilling unitCharge
ConfigurationBase token ratesRate scheduleBase rateBilling 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 characterRate schedule—Billing unitper input characterCharge
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 v4

Prices by configuration

ConfigurationBilling conditionsCharge
ConfigurationElevenLabs: Eleven v4 · Default configurationBilling conditionsDefault configurationCharge
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 →

Example requests

Ailoot Ultra · Text to speech

curl
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", "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
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
FieldType
Fieldbinary audioTypebytes
Fieldresponse headersTypeheaders
Errors and next steps
ResponseConditionNext step
Response400 · invalid_request_errorConditionInvalid required fields, material representation or parameter valueNext stepCorrect the indicated fields before a new creation request.
Responseserver_errorConditionThe returned response says the operation or result requires a checkNext 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

Method path aliases

Use the method paths shown above.

Related caller IDs

elevenlabs/eleven-v4

FAQ · ElevenLabs: Eleven v4
What inputs and results are available?

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

Which fields does the request use?

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

What limits apply?

POST /v1/audio/speech · elevenlabs/eleven-v4: input.maximum_length: 10000

More details

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 · View model prices

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 · Service offer and licence agreement