Text to speech that keeps up with a phone call

A streaming voice API for agents and apps. Audio starts in about 250 ms and costs from $4 per million characters.

—ms
Time to first audio appears here

92/200 characters. One voice, English.

Connection setup is not included in the number. It is one authorize call, then a reused connection.
About 250 msTo first audio, measured from a machine in San Jose. ElevenLabs Flash measured about 170 ms the same way, at ten times the price.
$4 per million charactersElevenLabs Flash lists at $40 and Multilingual v2 at $80 (list prices, as of 2026-09). You pay only for speech that finishes.
Interrupt mid-sentenceSend stop and audio ends at once, so a caller who talks over the agent is heard without waiting.

Two engines, one API

Choose per request with engine when you authorize. The protocol is identical, so switching is one field.

ReadAloud LiveReadAloud Studio
Built forLive calls and voice agentsThe most natural read-aloud
Price$0.004 per 1,000 characters$0.01 per 1,000 characters
VoicesOne American English voiceMultiple English voices
Limits5,000 characters per request. Limited capacity, so retry when you get an “at capacity” error.See the docs

How we compare with ElevenLabs

ServiceTime to first audio (warm)Price per 1M characters
ReadAloud Liveabout 250 ms$4
ElevenLabs Flash v2.5about 170 ms$40
ElevenLabs Multilingual v2about 1.04 s$80

Measured October 2026 from one machine in San Jose, interleaved over several minutes, in the same hour, on short call-center sentences, as time to the first audio byte on a warm streaming connection. ElevenLabs advertises 75 ms for Flash; that is model latency, while these figures are end to end, including the network. ElevenLabs Flash is about 80 ms faster than ReadAloud Live at the median (two runs of 40 requests each, 2026-10-10); ReadAloud Live costs a tenth as much. Results vary by location and time of day. ElevenLabs prices are its published API list prices as of 2026-09; the latency and quality figures are from our own runs. Voice quality is subjective, and ElevenLabs offers far more voices and languages. We can share the benchmark scripts and raw results on request.

What you get for the price

EngineWord error rateNaturalness (proxy)Price per 1M characters
ReadAloud Live10.4%4.44 / 5$4
ReadAloud Studio5.8% (English only)4.25 / 5$10
ElevenLabs Flash v2.56.2%4.52 / 5$40
ElevenLabs Multilingual v24.3%4.46 / 5$80

Word error rate: 21 short call-center sentences across English, Spanish, German and French, transcribed with an open-source speech recognizer and compared to the known input text — lower is better. Naturalness: an automated MOS predictor scored against a shared reference clip per language, not a human listener — useful for comparing engines to each other, not as an absolute quality score. On this sample, ReadAloud Live’s error rate runs a bit higher than ElevenLabs’ and naturalness is essentially tied. We don’t publish side-by-side audio samples; the sample size here (21 sentences) is small enough that we’d rather you listen to ReadAloud Live on your own text and judge for yourself. We re-run this evaluation after any engine change. Full methodology, the per-language breakdown and the caveats are available on request.

From key to audio in three calls

No SDK required. Audio arrives as raw PCM you can pipe to a phone line or a speaker.

  1. 1
    Authorize

    Trade your API key for a token that lasts 60 seconds. Your key never reaches the browser or the voice server.

  2. 2
    Connect

    Open a WebSocket to the URL you were given. Keep it open across turns of a call.

  3. 3
    Synthesize

    Send text, receive 24 kHz mono PCM as each sentence finishes, and send stop if the caller interrupts.

Full reference

// 1. Get a short-lived token (valid 60 s). engine: "live" or "studio".
const { token, url } = await fetch("https://api.readaloudai.org/tts/authorize", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ key: "YOUR_API_KEY", engine: "live" }),
}).then((r) => r.json())

// 2. Connect straight to the voice server.
const ws = new WebSocket(`${url}?token=${token}`)
ws.binaryType = "arraybuffer"

// 3. Ask for speech. Audio starts arriving as the first sentence is ready.
ws.onopen = () => ws.send(JSON.stringify({
  type: "synthesize", text: "Thanks for calling. How can I help?", voice: "default", speed: 1.0,
}))

ws.onmessage = (e) => {
  if (typeof e.data === "string") {
    const msg = JSON.parse(e.data)           // chunk_meta | done | cancelled | error
    if (msg.type === "done") console.log("finished")
  } else {
    play(e.data)                              // PCM16 little-endian, mono, 24 kHz
  }
}

// Caller interrupts? Stop mid-sentence:
// ws.send(JSON.stringify({ type: "stop" }))

Your own voice, on the same API

Give us about 20 minutes of clean recordings from someone who has agreed to it, and we train a voice for you and host it beside the built-in ones.

  • The speaker’s consent is recorded before anything is trained, and you can delete the voice and its training data at any time.
  • You hear five preview samples, and can type your own text, before anything goes live.
  • Once live, use it by sending voice: "custom:<id>". Only your API keys can use it.
  • Works best with steady, clear speech. Very theatrical delivery can sound unstable, and we warn you when we detect it.

Early access. Email us to get started.

Pay for what you stream

Billed per character of speech that finishes. Cancelled requests are not billed.

Free

$0
  • 10,000 characters to try it
  • No card required
  • Both engines

ReadAloud Live

$0.004 per 1,000 characters
  • About 250 ms to first audio
  • Built for live calls
  • No minimums, no plan to manage

ReadAloud Studio

$0.01 per 1,000 characters
  • The most natural read-aloud
  • Multiple voices
  • Same API and keys

Speech to text, too

Upload a recording, get a transcript with word timestamps. ReadAloud speech to text, the same key, $0.11 per hour of audio.

Batch speech to textPrice per hour of audio
ReadAloud$0.11
ElevenLabs Scribe (API list price, as of 2026-10)$0.22

Cold start: the first request after a quiet period takes about 10 seconds while our GPU starts. After that, a short clip typically comes back in about a second (our own measurement, October 2026, from one machine). Billed by the second of audio, 10 second minimum per request; failed requests are not billed.

Read the docs

  • That is half of ElevenLabs Scribe’s batch API list price (its realtime price is $0.39 per hour). This page makes no accuracy or speed comparison with other vendors.
  • On 296 real 8 kHz phone-style recordings (English, role-played calls) the word error rate was 9.8% and 90.2% of spoken digit sequences came out exactly right. With 10 dB background noise added it was 17.8% and 84.6%, so noisy lines are our weaker case. One test set, so test on your own audio. How we measured.
  • Batch only for now: no live transcription or entity detection. Speaker labels (diarize=true) are available: 99.0% of words went to the right side on 78 real two-person calls, but the speaker count was exactly right on only 67% of them.
  • Accepts wav, flac, mp3, ogg, m4a and raw mu-law or A-law phone audio. Up to 200 MB or 3 hours per file.

Questions

Which languages does it speak?

English today. More languages are on the roadmap, and we would rather say so plainly than list languages we cannot yet do well.

How many calls can it handle at once?

Each ReadAloud Live server handles up to 12 simultaneous streams, and a second server starts automatically under load. Beyond that, new connections get an “at capacity” error and should retry shortly. If you need guaranteed capacity, email us.

Why is it so much cheaper than ElevenLabs?

ReadAloud Live is a small model that runs on ordinary CPUs, so we do not pay for an always-on GPU. The trade-off is fewer voices and a less expressive read than the largest models.

Can I hear how it compares before I commit?

Yes. Type your own text into the demo above, then use your free 10,000 characters to test it in your own app.

Also: ReadAloud AI Reader

Listen to articles, PDFs and emails on your phone or in the browser.