ElevenLabs: Eleven Turbo v2
Eleven Turbo v2 is ElevenLabs’ English-only text-to-speech edition for responsive voice applications. It speaks the supplied text in a selected voice, suiting assistant replies, notifications and short explanations prepared for listening.
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 Turbo v2 is ElevenLabs’ English-only text-to-speech model for applications that need responsive spoken replies. It receives the prepared text of an utterance and returns audio in a selected voice. The manufacturer identifies Turbo v2 separately from multilingual Turbo v2.5 and from the Flash line. Its useful role is an English voice response, such as a confirmation, a short explanation or the next instruction in a conversational interface.
English is the defining language boundary of this edition. Supplying another language does not give Turbo v2 the multilingual profile of v2.5. Choose a voice with the accent and delivery needed for the English script. A warm conversational voice, a restrained narrator and an energetic character can make the same sentence sound different, so the selected voice is part of the brief rather than a fixed default determined by the model name.
Prepare a clean spoken script. The model synthesises the words supplied to it; it does not decide whether an action succeeded or generate the application’s reasoning. For an assistant reply, include one clear result and a natural next step. An illustrative line might confirm that a document was received and ask for its missing reference number. Keep internal instructions and metadata outside the words meant to be heard, because ordinary descriptive text can itself be spoken.
Names, abbreviations and numbers need deliberate preparation. Write an identifier as separate digits when it must be repeated that way, and expand an abbreviation when the listener should hear its full meaning. For a date, use an unambiguous spoken form. Pronunciation aliases or alternative spellings can supply a preferred way to say a difficult name. Retain the original display spelling separately from the spoken form if the application also shows the message as text.
The producer’s voice settings influence consistency, resemblance and pace. In its shared TTS product guide, the speed setting uses 1.0 for unchanged speed and a range from 0.7 to 1.2; extreme adjustments may affect the result. Stability changes the variability and emotional range, while similarity controls resemblance to the selected voice. These controls do not make synthesis deterministic or establish an exact duration for a line. Punctuation and complete sentence structure remain important to how the words are delivered.
The producer’s exact Turbo v2 API limit is 30,000 characters per request. This is an input ceiling rather than a fixed audio duration; use complete sentences or sections when preparing longer text. ElevenLabs’ TTS format family includes MP3 for general listening, uncompressed 16-bit PCM, telephony encodings such as μ-law and A-law, and Opus. A streaming workflow can return audio progressively, while a complete text request can be collected as a recording. Choose the output for the playback destination and keep the actual script with the selected audio. For a longer explanation, divide the text at meaningful boundaries instead of asking a listener to follow a single extended list.
For a practical English support response, prepare the exact result, a clearly spoken name or identifier and the next action. Review the relevant part of the recording for intelligibility, accent and natural rhythm. The producer documents nondeterministic output, so the same settings can still produce a slightly different performance. The reusable artifact is the selected speech recording together with its prepared wording and voice settings, for an assistant, notification, tutorial cue or short recorded explanation.
Ailoot Ultra · Text to speech POST /v1/audio/speech elevenlabs/eleven-turbo-v2
elevenlabs/eleven-turbo-v2Overview
Eleven Turbo v2 is ElevenLabs’ English-only text-to-speech edition for responsive voice applications. It speaks the supplied text in a selected voice, suiting assistant replies, notifications and short explanations prepared for listening.
- 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-turbo-v2 | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits Minimum length: 1 Maximum length: 30,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 | Contract30000 |
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 Turbo v2
Prices by configuration
| Configuration | Billing conditions | Charge |
|---|---|---|
| ConfigurationElevenLabs: Eleven Turbo v2 · 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-turbo-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-turbo-v2
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · ElevenLabs: Eleven Turbo v2
- What inputs and results are available?
POST /v1/audio/speech·elevenlabs/eleven-turbo-v2:text→audio- Which fields does the request use?
POST /v1/audio/speech·elevenlabs/eleven-turbo-v2:model,input,voice,response_format- What limits apply?
POST /v1/audio/speech·elevenlabs/eleven-turbo-v2:input.maximum_length:30000