Speech Arena
Elo · top five of 100 models
Turn text into expressive speech for voice agents, narration and interactive experiences. Choose a voice and tune its delivery.
Eleven v4 Turbo is the low-latency variant of ElevenLabs’ v4 speech model, released September 28, 2026. It is built for voice agents and other products where playback has to start quickly, and keeps v4’s expressive voices, audio tags and support for more than 90 languages.
ElevenLabs reports a median inference latency of about 100 ms and about 150 ms to first speech. With streaming enabled, an agent can start speaking while the rest of the sentence is still being generated. These are ElevenLabs’ measurements, not AI/ML API gateway timings, so measure end to end in your own stack.
In the Artificial Analysis Speech Arena the two variants share first place within the margin of error, at Elo 1336 and 1334. On AI/ML API, Turbo costs $40 per million characters and Eleven v4 costs $80. Start with Turbo for conversational products and high-volume narration, and compare Eleven v4 when a creative project needs it.
Inline audio tags such as [laughs] or [light rain] shape how a line is performed. The API also lets you choose a named voice, tune stability and similarity, control text normalization, and pass previous_text and next_text so consecutive clips sound continuous. Test names, numbers and specialist terms with the voice you plan to ship.
Blind listening votes put Eleven v4 Turbo at the top of the Speech Arena, statistically tied with Eleven v4.
Elo · top five of 100 models
USD per 1M characters
Each model creator’s list price on Artificial Analysis, not the AI/ML API rate. Our rates are in Pricing
Arena Elo for the five ranked speech models compared in Pricing. Rank shown out of 100.
Two clips of the same text are played blind; listeners choose the more natural one. Scores move as votes arrive. Snapshot 2026-10-30.
| Usage | Price | Unit |
|---|---|---|
| Speech generation | $40 | 1M input characters |
AI/ML API rates for ranked text-to-speech models, per million input characters.
| Model | Per 1M characters | Arena Elo |
|---|---|---|
| $40 | 1336#1 of 100 | |
| $80 | 1334#2 of 100 | |
| $100 | 1174#27 of 100 | |
| $60 | 1153#31 of 100 | |
| $15 | 1089#49 of 100 |
AI/ML API rates from the model catalog and model pages. Elo from the Artificial Analysis Speech Arena, 2026-10-30
Billing follows the characters you send, not the length of the audio.
| Input text | Cost on AI/ML API |
|---|---|
| 1,000 characters | $0.04 |
| 10,000 characters | $0.40 |
| 100,000 characters | $4.00 |
| 1,000,000 characters | $40.00 |
Give your agent the model details, code and documentation.
export AIMLAPI_KEY="8f2b4c7d9a1e6b3f…"curl 'https://api.aimlapi.com/v1/tts' \
-H "Authorization: Bearer $AIMLAPI_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "elevenlabs/eleven_v4_turbo",
"text": "Welcome back. Your next idea starts here.",
"voice": "Rachel",
"stream": false
}'import os
import requests
headers = {"Authorization": "Bearer " + os.environ["AIMLAPI_KEY"]}
payload = {
"model": "elevenlabs/eleven_v4_turbo",
"text": "Welcome back. Your next idea starts here.",
"voice": "Rachel",
"stream": False
}
response = requests.post(
"https://api.aimlapi.com/v1/tts",
headers=headers,
json=payload,
timeout=120,
)
response.raise_for_status()
data = response.json()
audio = data["audio"]
print(audio["url"] if isinstance(audio, dict) else audio)async function main() {
const headers = {
Authorization: "Bearer " + process.env.AIMLAPI_KEY,
"Content-Type": "application/json",
};
const response = await fetch(
"https://api.aimlapi.com/v1/tts",
{
method: "POST",
headers,
body: JSON.stringify({
"model": "elevenlabs/eleven_v4_turbo",
"text": "Welcome back. Your next idea starts here.",
"voice": "Rachel",
"stream": false
}),
},
);
if (!response.ok) throw new Error(await response.text());
const data = await response.json();
console.log(typeof data.audio === "string" ? data.audio : data.audio.url);
}
main().catch(error => {
console.error(error);
process.exitCode = 1;
});Text-to-speech. You send text and get audio back. It does not transcribe recordings. To turn audio into text, use a speech-to-text model from the catalog, such as ElevenLabs Scribe v2.
AI/ML API charges $40 per million characters of input text, so 1,000 characters cost $0.04. The charge follows the text you send, not the duration of the generated audio.
Turbo is the low-latency variant at half the rate: $40 against $80 per million characters. The Artificial Analysis Speech Arena ranks them first and second, inside each other’s margin of error. ElevenLabs positions Turbo for agents and real-time products, and Eleven v4 for broader creative work.
ElevenLabs reports a median inference latency of about 100 ms and about 150 ms to first speech. Those are the provider’s numbers, not AI/ML API measurements. Use streaming when playback should begin before the whole clip is ready.
Streaming is on by default and returns a binary audio stream. With stream set to false, the response is JSON and audio holds the URL of the generated file.
Pass a named voice such as Rachel (the default), Sarah or George; the API reference lists the full set. output_format covers MP3, PCM, μ-law, A-law and Opus at several sample rates and bitrates.
Generate it in segments with the same voice and settings. Pass the neighbouring text in previous_text and next_text so each clip continues naturally, and set a seed when you need repeatable output.