APIFleet Sign in

TTS models on live phone calls: first audio, latency, errors and cost

TTS models took a smaller share of the typical reply delay than the language model did on APIFleet's cascading phone calls. From 14 August to 24 September 2026, the median time from handing a reply's first text chunk to the voice provider until its first audio reached APIFleet's server was 87 ms for Cartesia (156 turns, 34 calls), 133 ms for self-hosted Piper (511 turns, 111 calls), 223 ms for Deepgram Flux (153 turns, 17 calls) and 232 ms for Deepgram Aura (267 turns, 52 calls), while the language model's first token took a median of 610 to 814 ms on those same turns. This is observational production data in which each reported group's calls came from a single tenant, with their own assistants, language model and dates, not a controlled benchmark, and ElevenLabs and Soniox had too few phone calls to report.

APIFleet team · · 20 min read

Results at a glance for each TTS provider

Each row is one TTS provider on one channel, with its own dates, assistants and language model, so read the rows with the confounders further down in mind. The Piper, Deepgram Flux and Cartesia phone rows rest on 2 to 4 assistants each, so they describe those deployments only. Phone means calls carried by Telnyx; web means browser test calls, which can include demos and automated test runs.

TTS first audio and response latency are medians of turns timed on APIFleet's server, and a pipeline-error ending can come from speech-to-text, the language model or the voice. Cost is an estimate of model, speech-to-text, TTS and carrier charges per connected minute, without APIFleet's platform fee, and groups with fewer than 20 calls show counts only.

Cascading TTS groups on APIFleet, 14 August to 24 September 2026: medians timed on APIFleet's server, with the sample behind each value
TTS group, channel and dates (2026)TTS first audio, medianResponse latency without tool wait, medianEnded by a pipeline errorEstimated cost per connected minute
Piper (self-hosted), phone, 25 August to 24 September133 ms (511 turns, 111 calls)1,080 ms (614 turns, 121 calls)0 of 271 calls$0.0307 (271 calls)
Deepgram Aura, phone, 14 to 24 August232 ms (267 turns, 52 calls)1,105 ms (305 turns, 52 calls)6 of 63 calls (9.5%)$0.0289 (51 calls)
Deepgram Flux, phone, 15 to 18 August223 ms (153 turns, 17 calls)985 ms (173 turns, 18 calls)1 of 22 calls (4.5%)not reported: 15 costed calls
Cartesia, phone, 17 to 18 August87 ms (156 turns, 34 calls)995 ms (193 turns, 34 calls)3 of 38 calls (7.9%)$0.0197 (24 calls)
Deepgram Aura, web, 14 to 20 Augustnot reported: 19 turns1,733 ms (30 turns, 12 calls)5 of 32 calls (15.6%)$0.0357 (32 calls)
Soniox, web, 21 to 24 August530 ms (36 turns, 10 calls)1,590 ms (36 turns, 10 calls)8 of 26 calls (30.8%)$0.0232 (26 calls)
ElevenLabs phone (11 calls) and web (14), Soniox phone (10), Cartesia web (15), Deepgram Flux web (7), Piper web (2), August and Septemberfewer than 20 calls: counts onlyfewer than 20 calls: counts onlyfewer than 20 calls: counts onlyfewer than 20 calls: counts only

Where the numbers come from

APIFleet publishes this page and runs the pipeline it measures, so the figures are measured results from APIFleet's own call traces, in aggregate, and anything illustrative is labelled. On every traced cascading call here, Deepgram nova-3 transcribed the caller, an OpenAI chat model wrote the reply and a separate TTS provider spoke it.

The page covers every cascading call with trace events: 511 calls, 415 by phone and 96 in the browser, from 14 August to 24 September 2026. Cascading calls without trace events are excluded, 332 of them (20 phone, 312 web), all from before trace recording began on 14 August 2026 or from that first day, as are all simulations; no transcript, phone number, customer name or per-call value is published.

Every time is a server observation, stamped when APIFleet's code handles the event, so the carrier's jitter buffer and the network path to the caller come on top. This is observational production data, not a controlled benchmark: no group was randomised or matched on assistant, prompt, caller or day.

Medians carry 95% bootstrap intervals that resample whole calls and, separately, whole assistants. A rate needs at least 20 calls and a median at least 20 turns, and groups below 20 calls show counts and months only.

Three phone rows rest on fewer than five assistants, Piper on 2, Cartesia on 3 and Deepgram Flux on 4 in the latency samples, so their assistant-level intervals are unstable. Those rows describe these deployments, not what another deployment of the same voice would see.

Deepgram Aura here is mostly Aura 1: of 63 Aura phone calls from 14 to 24 August 2026, 57 used aura-stella-en, 3 another Aura 1 voice and 3 an Aura-2 voice. The Flux group is 21 calls on flux-maeve-en and 1 on another Flux voice, and every group used Deepgram nova-3 for speech-to-text on every call.

How quickly each TTS provider returned first audio

TTS first audio is measured on text-first turns, where the model's first output was text rather than a tool call. It runs from the moment the runtime hands the reply's first text chunk to the TTS adapter until the first audio chunk comes back to APIFleet's server. For Deepgram Aura it can also include the end of the model's reply, because APIFleet's Aura adapter sends text as it arrives but asks Deepgram for the audio with a Flush only when the reply ends or a tool call starts, which is how Deepgram's documentation says to get audio for queued text.

On phone calls the medians were 87 ms for Cartesia (17 to 18 August 2026; 156 turns, 34 calls), 133 ms for Piper (25 August to 24 September; 511 turns, 111 calls), 223 ms for Deepgram Flux (15 to 18 August; 153 turns, 17 calls) and 232 ms for Deepgram Aura (14 to 24 August; 267 turns, 52 calls). Their call-level 95% intervals were 84 to 90, 125 to 141, 211 to 237 and 210 to 270 ms. The 90th percentiles on the same turns were 386, 250, 372 and 581 ms, in the same order.

Soniox has this measure only from browser test calls, 21 to 24 August 2026, with a median of 530 ms and a 90th percentile of 760 ms (36 turns, 10 calls). ElevenLabs had 11 phone and 14 browser calls in August and September, too few to report.

Piper is an open-source neural text-to-speech engine that runs locally; its original repository is archived and development continues as piper1-gpl under GPL-3.0. In APIFleet it does not stream: the runtime sends one HTTP request per text chunk to a self-hosted Piper server and gets back a complete WAV file, so first audio arrives only after the whole first chunk is synthesised. Deepgram, Cartesia, ElevenLabs and Soniox stream audio back over WebSockets instead.

That makes chunk length part of Piper's figure. By default (since 15 August 2026; 24 characters before) the runtime releases the first sentence that ends after at least 12 characters, or a clause or word break once 70 characters are buffered, and Piper's first chunks on the same phone turns were shorter: a median of 25 characters (511 turns, 111 calls) against 40 for Deepgram Aura (267 turns, 52 calls), 46 for Flux (153 turns, 17 calls) and 45 for Cartesia (156 turns, 34 calls). The traces cannot show how much of the gap between the groups this accounts for.

Network distance probably differs too: APIFleet's documented setup runs Piper as a private container on the same server network as the application, while the other providers are remote services, but the traces do not record where the Piper server ran. With whole-chunk synthesis on one side and streaming on the other, Piper's 133 ms and the streaming providers' times are not like-for-like in any case.

A second view involves no language model: the opening greeting, spoken from the assistant's configured opening text, reached APIFleet's server a median of 549 ms after the session started on Piper phone calls (25 August to 24 September 2026; 269 calls) and 650 ms on Deepgram Aura phone calls (14 to 24 August; 39 calls). Cartesia and Flux had too few measurable greetings to report (18 and 13 calls), and these times include session set-up as well as synthesis.

Vendor latency figures can measure less. ElevenLabs, for example, quotes about 75 ms for Flash v2.5, APIFleet's default ElevenLabs model, excluding application and network latency, whereas every figure here includes the round trip from APIFleet's server.

Stage by stage: model first token, first chunk and TTS

On each text-first turn the runtime records the model request, the first token, the first chunk handed to TTS and the first audio returned, so the stages in the table come from the same turns. The gap between the speech-to-text final and the model request had a median of 2 ms or less in every group and is left out.

The language model's first token was the largest stage in every phone group, with medians of 610 to 814 ms against 87 to 232 ms for TTS first audio (phone, 14 August to 24 September 2026; 153 to 511 turns and 17 to 111 calls per group). Stage medians do not add up to the total median, because each comes from its own distribution, although the stages of any single turn add up exactly to that turn's total.

The last row is context rather than a stage: the time from the last interim transcript to the speech-to-text final, a rough proxy for endpointing that falls before the response clock starts. It is not a bound in either direction, because an interim transcript can also arrive after the caller has stopped.

Soniox has stage data only from browser test calls (21 to 24 August 2026; 36 turns, 10 calls): a model first token of 842 ms, a first speakable chunk of 152 ms, TTS first audio of 530 ms and a total of 1,590 ms.

Medians on text-first phone turns, in ms unless stated, timed on APIFleet's server: Piper 25 August to 24 September 2026, Deepgram Aura 14 to 24 August, Deepgram Flux 15 to 18 August, Cartesia 17 to 18 August
StagePiperDeepgram AuraDeepgram FluxCartesia
Turns (calls, assistants)511 (111, 2)267 (52, 24)153 (17, 4)156 (34, 3)
Language model first token (request to first token)814638610631
First speakable chunk (first token to chunk handed to TTS)54107101120
TTS first audio (chunk handed to TTS to first audio)13323222387
Total, speech-to-text final to first audio1,0421,064935880
First chunk length in characters25404645
Context only: last interim transcript to speech-to-text final, a rough proxy881 (461 turns)667 (259 turns)755 (146 turns)634 (152 turns)

Response latency when no tool call was waited on

Response latency runs from the speech-to-text final to the first audio of the reply at APIFleet's server, on turns where no tool call finished in between. Deepgram issues the final after its endpointing silence, 200 ms by APIFleet's server default since 15 August 2026 (300 ms before) unless an assistant overrides it, or after a 1,000 ms backstop on lines that never go quiet, so some silence has already passed when the clock starts.

When the model answers with a tool call and no text, the runtime speaks a fixed phrase instead, by default “One moment, please” while a tool runs or a set goodbye before it hangs up, and those turns count here. They made up 17% of Piper's 614 phone turns, 11% of Deepgram Aura's 305 and of Flux's 173, 19% of Cartesia's 193, 33% of Deepgram Aura's 30 web turns and none of Soniox's 36 web turns, so the last column gives the median without them.

Piper's 614 turns come from 2 assistants, one with 94% of them, Cartesia's from 3 and Flux's from 4, so the table marks their assistant-level intervals as unstable. Turns that waited for a tool are covered on a separate page.

The calendar matters as well. Removing 18 August 2026, which held 59% of Deepgram Aura's phone calls, moves its median from 1,105 to 892 ms (71 turns from 20 of the 26 calls left), and removing Piper's busiest day, 30 August, leaves 1,081 ms (555 turns from 108 of the 241 calls left). Cartesia's and Flux's phone calls fall 95% and 86% on 18 August, so they cannot be checked this way.

Response latency without tool wait: speech-to-text final to first reply audio at APIFleet's server, in ms, over every no-tool-wait turn
TTS group, channel and dates (2026)Turns (calls, assistants)Median [95% interval: calls / assistants]90th percentileCanned-phrase share; median without those turns
Piper, phone, 25 August to 24 September614 (121, 2)1,080 [1,042 to 1,120 / 977 to 1,084, unstable]1,90617%; 1,042 (511 turns)
Deepgram Aura, phone, 14 to 24 August305 (52, 24)1,105 [1,027 to 1,241 / 908 to 1,293]1,80911%; 1,060 (271 turns)
Deepgram Flux, phone, 15 to 18 August173 (18, 4)985 [906 to 1,062 / 891 to 1,148, unstable]1,64211%; 934 (154 turns)
Cartesia, phone, 17 to 18 August193 (34, 3)995 [890 to 1,063 / 873 to 1,261, unstable]1,77919%; 880 (156 turns)
Deepgram Aura, web, 14 to 20 August30 (12, 12)1,733 [1,542 to 3,044 / 1,521 to 3,044]4,26333%; 1,584 (20 turns)
Soniox, web, 21 to 24 August36 (10, 6)1,590 [1,473 to 1,687 / 1,473 to 1,692]2,1680%; 1,590 (36 turns)

Which language model sat behind each TTS group

The language model differed between TTS groups, and its first token was the largest stage, so it confounds every response-latency comparison on this page. Piper's turns ran almost entirely on gpt-5.4-mini, the Deepgram and Cartesia phone turns mostly on gpt-4.1-mini or gpt-4o-mini, and Soniox's web turns partly on nano models.

Prompt size differed as well. Text input tokens per connected minute, a billing count used here only as a rough proxy for prompt size, had a median of 114,840 on Piper phone calls (120 calls of at least 10 s with recorded tokens, 25 August to 24 September 2026) and 47,458 on Cartesia phone calls (20 calls, 17 to 18 August).

Shares of turns can differ from shares of calls because some calls hold many more turns than others, so the table gives both.

Language model by TTS group: share of the no-tool-wait turns behind the latency rows and of all calls, with the median model first token on text-first turns
TTS group, channel and dates (2026)Share of latency turnsShare of callsModel first token, median
Piper, phone, 25 August to 24 Septembergpt-5.4-mini 94.8%, gpt-4.1-mini 5.0%, gpt-4.1-nano 0.2% (614 turns)gpt-5.4-mini 97.8%, gpt-4.1-mini 1.5%, gpt-4.1-nano 0.7% (271 calls)814 ms (511 turns)
Deepgram Aura, phone, 14 to 24 Augustgpt-4.1-mini 77.4%, gpt-5.4-mini 22.6% (305 turns)gpt-4.1-mini 68.3%, gpt-5.4-mini 31.7% (63 calls)638 ms (267 turns)
Deepgram Flux, phone, 15 to 18 Augustgpt-4.1-mini 100% (173 turns)gpt-4.1-mini 95.5%, gpt-5.4-mini 4.5% (22 calls)610 ms (153 turns)
Cartesia, phone, 17 to 18 Augustgpt-4.1-mini 59.1%, gpt-4o-mini 40.9% (193 turns)gpt-4.1-mini 68.4%, gpt-4o-mini 31.6% (38 calls)631 ms (156 turns)
Deepgram Aura, web, 14 to 20 Augustgpt-4.1-mini 100% (30 turns)gpt-4.1-mini 81.2%, gpt-4o-mini 18.8% (32 calls)not reported: 19 turns
Soniox, web, 21 to 24 Augustgpt-4.1-mini 86.1%, gpt-4.1-nano 5.6%, gpt-5.4-nano 5.6%, gpt-5.4-mini 2.8% (36 turns)gpt-4.1-mini 73.1%, gpt-4.1-nano 11.5%, gpt-5.4-nano 11.5%, gpt-5.4-mini 3.8% (26 calls)842 ms (36 turns)
ElevenLabs, Soniox phone and the other groups under 20 callsnot reportednot reportednot reported

Results for individual voices on the phone

Five voices had at least 20 phone calls. Greeting time runs from session start to the first audio of the configured opening greeting, with no language model involved, and the other columns use the definitions above.

Piper's p288 voice ran on a single assistant and p340 on two, so those rows describe very few deployments; the Cartesia voice is identified by an opaque vendor id that is not published.

Phone results by voice: medians in ms timed on APIFleet's server, with sample sizes, for voices with at least 20 phone calls
Voice and dates (2026)Calls (assistants)Greeting, medianTTS first audio, medianResponse latency without tool wait, medianEnded by a pipeline error
Piper p288, 25 August to 24 September200 (1)555 (200 calls)134 (347 turns, 78 calls)1,098 (407 turns, 82 calls)0 of 200
Piper p340, 26 to 30 August60 (2)532 (58 calls)130 (143 turns, 28 calls)1,037 (178 turns, 32 calls)0 of 60
Deepgram aura-stella-en, 15 to 18 August57 (24)618 (35 calls)232 (265 turns, 50 calls)1,103 (303 turns, 50 calls)4 of 57
Cartesia voice A (vendor id not published), 18 August36 (3)not reported: 16 calls87 (149 turns, 32 calls)990 (184 turns, 32 calls)3 of 36
Deepgram flux-maeve-en, 15 to 18 August21 (5)not reported: 13 calls223 (153 turns, 17 calls)985 (173 turns, 18 calls)0 of 21
ElevenLabs voice A (11 phone calls), Soniox Kayla (10), Piper p283 (11), August and Septemberfewer than 20 callscounts onlycounts onlycounts onlycounts only

Calls that ended on an error or never spoke

A pipeline-error ending means the recorded end reason was a speech-to-text, language-model, TTS, assistant or set-up error, so it is not always a TTS failure. Connection loss covers a dropped carrier or assistant connection, and a silent call is one connected for at least 10 s in which the assistant produced no audio at all.

Piper had no pipeline-error endings in 271 phone calls (95% upper bound about 1.1%) and no silent calls among 153 calls of 10 s or more (upper bound about 2.0%), from 25 August to 24 September 2026. Every pipeline-error ending in the Deepgram Flux and Cartesia phone groups and the two reported web groups was a TTS error, while Deepgram Aura's 6 phone endings were 2 speech-to-text, 2 TTS and 2 other assistant errors.

Small counts give wide intervals: Cartesia's 3 error endings in 38 phone calls (17 to 18 August 2026) have a call-level 95% interval of 0% to 18.4%, and Soniox's 8 in 26 browser test calls (21 to 24 August) one of 15.4% to 50.0%. The runtime also changed during these weeks, so the rates describe what happened then, not current reliability.

Error-ended, connection-loss and silent calls by TTS group: the first two out of all calls, silent calls out of calls connected for at least 10 s
TTS group, channel and dates (2026)CallsEnded by a pipeline error (of which TTS)Ended by connection lossSilent calls, 10 s or longer
Piper, phone, 25 August to 24 September2710 (0)10 of 153
Deepgram Aura, phone, 14 to 24 August636, 9.5% (2)24 of 62
Deepgram Flux, phone, 15 to 18 August221, 4.5% (1)01 of 22
Cartesia, phone, 17 to 18 August383, 7.9% (3)04 of 38
Deepgram Aura, web, 14 to 20 August325, 15.6% (5)01 of 22
Soniox, web, 21 to 24 August268, 30.8% (8)0not reported: 18 calls
ElevenLabs phone (11) and web (14), Soniox phone (10), Cartesia web (15), Deepgram Flux web (7), Piper web (2), August and Septemberfewer than 20 eachcounts onlycounts onlycounts only

Estimated cost per connected minute

Each total is the sum of recorded cost estimates divided by the connected minutes of the costed calls. The model leg is the chat model, speech-to-text is Deepgram nova-3, TTS is priced per character from APIFleet's configured rate card, and the carrier is Telnyx at a flat configured $0.0055 per minute, none on web; these are estimates, not invoices.

Calls whose cost was later rebuilt by a repair job are excluded: 12 Deepgram Aura, 14 Cartesia and 7 Deepgram Flux phone calls from the windows in the table, which leaves Flux with 15 costed calls, too few to report.

On phone, the TTS leg came to $0.0102 per connected minute for Deepgram Aura (51 calls, 14 to 24 August 2026), $0.0047 for Cartesia (24 calls, 17 to 18 August) and $0 for Piper, because self-hosting compute is not charged to calls. The language model was the largest single item for Piper, $0.0176 of $0.0307 per minute (271 calls, 25 August to 24 September), and the call-level 95% intervals for the totals were $0.0295 to $0.0321 for Piper, $0.0243 to $0.0339 for Deepgram Aura and $0.0171 to $0.0250 for Cartesia.

These estimates cover AI providers and the carrier only. APIFleet's platform fee is $0.03 per connected AI minute, billed per second, with AI provider and carrier charges billed on top; Vapi's pricing page lists a comparable pay-as-you-go hosting fee of $0.05 per minute (checked 29 October 2026).

Illustration only: at Deepgram Aura's pooled phone estimate of $0.0289 per minute (51 calls, 14 to 24 August 2026), a 3-minute call would carry about $0.087 of provider and carrier charges plus $0.09 of APIFleet platform fee, about $0.18 in all. Your own figure depends on your contracts, prompt size, speaking rate and carrier route.

Estimated cost per connected minute in USD, pooled over costed calls: APIFleet rate-card estimates, not invoices, excluding APIFleet's platform fee
TTS group, channel, dates (2026) and costed callsTotalLanguage modelSpeech-to-textTTSCarrier
Piper, phone, 25 August to 24 September, 271 calls$0.0307$0.0176$0.0076$0 (self-hosted, compute not included)$0.0055
Deepgram Aura, phone, 14 to 24 August, 51 calls$0.0289$0.0064$0.0069$0.0102$0.0055
Cartesia, phone, 17 to 18 August, 24 calls$0.0197$0.0018$0.0077$0.0047$0.0055
Deepgram Aura, web, 14 to 20 August, 32 calls$0.0357$0.0121$0.0066$0.0170none on web
Soniox, web, 21 to 24 August, 26 calls$0.0232$0.0093$0.0065$0.0074none on web
Deepgram Flux phone (15 costed calls) and every group under 20 callsnot reportednot reportednot reportednot reportednot reported

Why these rows are not a ranking of voices

Every difference between rows has more than one candidate explanation, so none should be read as the effect of a TTS provider. These are the confounders that matter most for this page, using the same groups, channels and dates as the tables above.

Language model and prompt: Piper ran on gpt-5.4-mini and the other phone groups mainly on gpt-4.1-mini or gpt-4o-mini, and Piper's calls sent more than twice as many text input tokens per minute as Cartesia's by the proxy above. Assistants and tenants: one assistant made 97% of Piper's 271 phone calls, Cartesia's phone calls came from 3 assistants and Flux's from 5, and each reported group comes from a single tenant.

Days and traffic: Cartesia's and Flux's phone calls fall mostly on 18 August 2026 (95% and 86% of them), as do 59% of Aura's, while Piper's are spread over 31 days. Piper's 271 phone calls were short and all inbound (median 12.4 s, 44% under 10 s), whereas 44% of Aura's 63, 36% of Flux's 22 and 47% of Cartesia's 38 phone calls were outbound, with median lengths of 70.2, 85.8 and 112.4 s. Phone rows can also include developer test and demo calls, which the extract does not mark.

Measurement: times are server observations rather than what the caller heard, Piper returns whole chunks while the others stream, the Aura adapter asks for audio only when a reply ends or a tool call starts, and Piper's first chunks were shorter. Versions: the trace records each call's TTS provider and voice but not the vendor's model generation, and APIFleet's own runtime changed during these weeks.

Vendor catalogues also change. Cartesia now lists Sonic 3.6 as its newest model and sonic-3 and sonic-2 as older ones, Soniox lists tts-rt-v2 as active and tts-rt-v1 as deprecated, and Deepgram lists aura-stella-en among its Aura 1 voices and describes Flux TTS as a model and API built for voice-agent pipelines on its /v2/speak endpoint. APIFleet's current defaults are sonic-3.5 for Cartesia, eleven_flash_v2_5 for ElevenLabs and tts-rt-v2 for Soniox, but the trace cannot show which model the August and September calls used.

Costs: these are rate-card estimates that exclude backfilled calls, give self-hosted Piper a $0 TTS leg and leave out APIFleet's platform fee.

How to compare TTS providers on your own calls

These traces show where to look rather than which provider to choose. A comparison you can act on holds everything except the voice constant and times each stage separately.

  1. Keep the language model, prompt, first-chunk rule and phone route identical across the providers you compare, and run them over the same days.
  2. Record, for each turn, the model request, the first token, the first chunk handed to TTS, any flush that releases audio and the first audio returned, so the TTS stage is timed on its own.
  3. Log the first chunk's length, because a provider that synthesises whole chunks, as Piper does in APIFleet, has to finish the entire chunk before any audio returns.
  4. Compare 90th percentiles as well as medians, and time the opening greeting, which has no language model in front of it.
  5. Test on the phone route you will ship: browser calls take a different audio path, with 24 kHz audio and client-side buffering, while phone audio is 8 kHz mu-law.
  6. Count pipeline-error endings and silent calls over at least 20 calls per provider, and check which leg reported each error.
  7. Price the TTS leg from your own characters per connected minute, and include hosting and maintenance time for a self-hosted voice.
Diagram of one voice-agent conversation: caller audio, speech to model, tools and context, then the spoken reply, with platform, AI provider and carrier charges shown separately

Continue with a practical next step

Frequently asked questions

Which TTS model returned first audio fastest on APIFleet phone calls?

Cartesia had the lowest median, 87 ms from the first text chunk to first audio at APIFleet's server (156 turns, 34 calls, 17 to 18 August 2026), and self-hosted Piper was next at 133 ms (511 turns, 111 calls, 25 August to 24 September). Both rest on two or three assistants and different language models, so this describes those deployments, not a ranking.

Does a faster TTS provider make the whole reply faster?

These traces cannot test that, because nothing was held constant between providers. What they show is that TTS was the smaller stage: on text-first phone turns from 14 August to 24 September 2026 (153 to 511 turns and 17 to 111 calls per TTS group), the language model's first token took a median of 610 to 814 ms, TTS first audio 87 to 232 ms and the whole reply from the speech-to-text final 880 to 1,064 ms.

Piper does not stream, so how did it post a 133 ms first-audio median?

The traces do not show why, and nothing was tested. Two differences are on record: Piper's first chunks were short, a median of 25 characters (511 turns, 111 calls) against 40 to 46 for the streaming phone groups (153 to 267 turns and 17 to 52 calls each), and APIFleet's documented setup runs it as a private container beside the application. The 133 ms median comes from one deployment with two assistants (phone, 511 turns, 111 calls, 25 August to 24 September 2026).

Why are there no ElevenLabs results?

ElevenLabs had 11 phone calls and 14 browser test calls with trace events in August and September 2026. That is below the 20-call minimum used here for any rate or median, so only the counts are shown.

Do the cost figures include APIFleet's platform fee?

No. They are rate-card estimates of model, speech-to-text, TTS and carrier charges per connected minute. APIFleet's platform fee of $0.03 per connected AI minute, billed per second, comes on top.

Is this a benchmark of TTS providers?

No. It is observational production data in which the groups differ in assistant, prompt, language model, callers, days and code revision, and nothing was randomised. Use it to decide what to measure on your own calls.

Sources and evidence

Prepared with AI assistance and checked against the linked evidence. Examples are illustrative unless explicitly documented as measured results.

Bring your next conversation.

Explore the API, or sign in to your existing workspace. New workspace access is currently limited; contact us to discuss your project.