ElevenLabs: Eleven Multilingual v2
Eleven Multilingual v2 produces natural, consistent speech from text in 29 languages. ElevenLabs positions it for long-form narration, courses, audiobooks and multilingual content, with a 10,000-character request limit and voice-based control of accent and delivery.
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 Multilingual v2 is ElevenLabs’ text-to-speech model for natural, emotionally aware and consistent narration. It accepts a written script and returns spoken audio, with the selected voice supplying much of its character and accent. The producer highlights stability on longer generations, professional content, character voiceovers, e-learning and multilingual projects. It is a speech-synthesis model, separate from the similarly named Multilingual Speech to Speech voice changer.
The documented set contains 29 languages: English, Japanese, Chinese, German, Hindi, French, Korean, Portuguese, Italian, Spanish, Indonesian, Dutch, Turkish, Filipino, Polish, Swedish, Bulgarian, Romanian, Arabic, Czech, Greek, Finnish, Croatian, Malay, Slovak, Danish, Tamil, Ukrainian and Russian. Prepare the actual script in a supported language before synthesis rather than expecting the voice model to translate it.
The model is designed to retain the chosen speaker’s characteristics and personality through supported languages. Accent still depends strongly on the voice: ElevenLabs recommends a voice trained in the target language and regional accent, because a non-native voice may retain its original accent or drift. For a localised course, preserve the narrator’s role and overall tone while adapting sentence structure, terminology and pronunciation to the audience. A shared voice identity does not remove the need to review the target-language delivery.
The request limit is 10,000 characters. Longer material can be divided into connected chapters or sections; the producer’s shared TTS workflow documents previous and next text, or neighbouring request context, for preserving prosody between chunks. Keep the division at a meaningful sentence boundary and carry enough surrounding context for the start and end of a passage. The manufacturer’s approximate minutes per request are not a fixed-duration promise, because words, language and pace determine the selected recording’s length.
Delivery follows the text’s meaning, narrative context, punctuation and the selected voice. Stability controls variability and emotional range; similarity controls how closely the result resembles the voice. The shared product guide describes a speed range of 0.7 to 1.2 with 1.0 unchanged. High stability can sound restrained or monotonous, while too little stability can make a performance erratic. Written delivery prose may itself be spoken, so prepare the final script rather than embedding instructions that should never be heard.
This model’s pause workflow supports SSML break tags, unlike v3 and v4. The producer gives <break time="1.5s" /> as a way to request a natural pause and documents pauses up to three seconds. Excessive break tags can introduce speed changes or artifacts, and the selected voice can affect how a pause sounds. Use breaks at meaningful transitions, such as after a definition or before the next part of a narrated instruction.
Multilingual v2 does not support phoneme tags in the manufacturer’s pronunciation guide. Use dictionary aliases or a prepared alternative spelling to indicate the desired spoken form of a name, acronym or technical term. ElevenLabs also describes this model as handling numbers more naturally than Flash v2.5, while its preparation guidance still recommends writing critical numbers, dates and symbols as the words that should be spoken. A reference code and a quantity need different readings even when their written digits look similar.
The producer audio format family includes MP3 for distribution, uncompressed 16-bit PCM for production work, μ-law and A-law for telephony and Opus. Full speech generation and streaming are documented in the shared TTS workflow. Choose the output for the intended destination and retain the script, voice and selected recording together. An audiobook chapter, a corporate narration and a short lesson can use the same model purpose while requiring different pacing and segmentation.
For a practical lesson, write the introduction, definitions, example and transition as complete spoken passages. Mark the terms that need consistent pronunciation and use a natural pause after the core concept. Review a representative part that contains names, numbers and a longer sentence, checking accent, intelligibility and whether the delivery remains steady through the section boundary. The useful artifact is a consistent narration recording that can be placed into the course, audiobook or video alongside its source script.
Ailoot Ultra · Text to speech POST /v1/audio/speech elevenlabs/eleven-multilingual-v2
elevenlabs/eleven-multilingual-v2
elevenlabs/eleven-multilingual-v2Overview
Eleven Multilingual v2 produces natural, consistent speech from text in 29 languages. ElevenLabs positions it for long-form narration, courses, audiobooks and multilingual content, with a 10,000-character request limit and voice-based control of accent and delivery.
- 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-multilingual-v2 | 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.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 Multilingual v2
Prices by configuration
| Configuration | Billing conditions | Charge |
|---|---|---|
| ConfigurationElevenLabs: Eleven Multilingual v2 · 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 →
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-multilingual-v2", "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-multilingual-v2
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · ElevenLabs: Eleven Multilingual v2
- What inputs and results are available?
POST /v1/audio/speech·elevenlabs/eleven-multilingual-v2:text→audio- Which fields does the request use?
POST /v1/audio/speech·elevenlabs/eleven-multilingual-v2:model,input,voice,response_format- What limits apply?
POST /v1/audio/speech·elevenlabs/eleven-multilingual-v2:input.maximum_length:10000