We tested Telnyx's speech-to-text engines against ElevenLabs Scribe on 8 kHz phone audio. Telnyx's fastest streaming engines returned first words sooner, and most Telnyx engines handled one-word replies better, while Scribe was more accurate on recorded consultations and on German, French and Turkish.
ElevenLabs Scribe comes up in a lot of our sales conversations, so we tested it against Telnyx's speech-to-text engines on phone audio at 8 kHz, which is what our customers send us. Telnyx's fastest streaming engines returned first words sooner, and most Telnyx engines handled one-word replies better. Scribe was more accurate on recorded consultations and on German, French and Turkish. On medical phone calls the two were about level.
We ran the tests on October 1, 2026. Each engine received the same audio, the same language setting and default options, and every transcript was scored against a human transcript or a read script. No AI model judged accuracy. The code and results are in [TODO: link to the GitHub repo once it is public], so you can rerun any number below on your own audio.
We used three audio sets and converted all of them to 8 kHz phone quality before any engine heard them.
Every table reports wrong words per 100, where lower is better. A 6.1 means about 6 words in every 100 were wrong. Timing columns are in seconds. Every engine runs on Telnyx except the rows marked ElevenLabs. Linden-1 is in preview and is not in Telnyx's public model list yet. Parakeet v3 and Omi Med STT v1 return only finished transcripts, so their time to first words is the time the finished text arrives.
On live phone audio, the question is how long a caller waits. Time to first words is how long after the audio starts until the engine returns any text. Time to final transcript is how long after the speaker stops until the finished text arrives, shown here for the slowest 1 in 10 turns.
| Engine | Time to first words, median (s) | Time to final transcript, slowest 10% (s) | One-word replies right | Wrong words per 100, medical calls |
|---|---|---|---|---|
| Flux (Deepgram) | 1.0 | 2.36 | 85% | 20.3 |
| Azure Fast | 4.0 | 1.56 | 83% | 17.4 |
| Grok STT (xAI) | 3.8 | 1.47 | 82% | 21.0 |
| Universal 3.5 Pro (AssemblyAI) | 3.3 | 1.61 | 81% | 23.5 |
| Nova-3 (Deepgram) | 1.3 | 0.93 | 80% | 17.7 |
| Soniox stt-rt-v4 | 1.3 | 1.51 | 77% | 19.4 |
| Nova-3 Medical (Deepgram) | 1.3 | 0.97 | 73% | 16.4 |
| Speechmatics Standard | 1.3 | 1.17 | 73% | 28.1 |
| Omi Med STT v1 | 6.7 | 4.68 | 71% | 21.8 |
| Linden-1 (Speechmatics, preview) | 1.3 | 0.77 | 67% | 15.7 |
| Scribe v2 Realtime (ElevenLabs) | 2.1 | 1.32 | 67% | 17.3 |
| Parakeet v3 (NVIDIA) | 6.7 | 4.55 | 51% | 26.6 |
Flux starts fastest, at 1.0 seconds, and finishes slowest of the fast group, at 2.36 seconds for its slowest turns, because it waits for its own end-of-turn signal. Nova-3 starts at 1.3 seconds and finishes its slowest turns in 0.93 seconds, against 1.32 for Scribe v2 Realtime.
The one-word replies column counts a reply as right when the whole line matched the script. We allowed one stray extra word at the start. Nine of the 11 Telnyx streaming engines scored higher than Scribe v2 Realtime on this set, Linden-1 tied it, and Parakeet v3 scored lower.
Spelled names and addresses were hard for every engine. Across every streaming engine, between 36 and 59 words in 100 came back wrong in that set, so none of these results should be read as "solved".
The medical phone-call lines are refill requests, drug names, doses, pharmacies and insurers. Nova-3 Medical got 16.4 wrong words per 100 and Scribe v2 Realtime got 17.3. That gap is under one point on 90 lines, which is inside the noise. [TODO: Telnyx's model docs list Nova-3 Medical as REST only, but it returned results over WebSocket in our runs. Confirm with product that live use is supported before this post publishes.] When we gave both engines the same 21-term vocabulary list of drugs, pharmacies and insurers, the numbers moved to 15.4 and 16.2.
Consultations are a different test, with longer, cleaner speech between a doctor and a patient, streamed live.
| Engine | Wrong words per 100 (95% range) | Time to first words, median (s) | Time to final transcript, slowest 10% (s) |
|---|---|---|---|
| Scribe v2 Realtime (ElevenLabs) | 6.1 (5.2 to 6.9) | 1.7 | 0.70 |
| Parakeet v3 (NVIDIA) | 7.5 (6.5 to 8.5) | 4.8 | 4.15 |
| Nova-3 Medical (Deepgram) | 8.5 (7.7 to 9.4) | 1.0 | 0.71 |
| Omi Med STT v1 | 8.6 (7.7 to 9.5) | 4.8 | 4.00 |
| Nova-3 (Deepgram) | 8.8 (7.9 to 9.8) | 1.0 | 0.71 |
| Grok STT (xAI) | 8.9 (7.8 to 9.9) | 3.2 | 1.38 |
| Soniox stt-rt-v4 | 10.0 (8.9 to 11.0) | 1.2 | 0.85 |
| Linden-1 (Speechmatics, preview) | 10.0 (8.0 to 12.8) | 1.0 | 0.88 |
| Flux (Deepgram) | 10.4 (9.1 to 11.6) | 0.8 | 1.43 |
| Azure Fast | 11.1 (10.0 to 12.4) | 2.9 | 1.31 |
| Universal 3.5 Pro (AssemblyAI) | 14.6 (13.6 to 15.6) | 2.7 | 1.27 |
| Speechmatics Standard | 14.7 (12.6 to 17.4) | 1.1 | 1.00 |
Scribe v2 Realtime has the lowest error rate, and its range of 5.2 to 6.9 does not overlap Nova-3 Medical's 7.7 to 9.4. Parakeet v3 comes closest on accuracy, but it takes 4.8 seconds to return first words, which is slow for a live call.
For recorded audio, where nobody is waiting on a live reply, accuracy is the number that matters. We tested Scribe v2 Medical on files only, so it appears here and not in the live tables.
| Engine | Wrong words per 100 (95% range) |
|---|---|
| Scribe v2 (ElevenLabs) | 4.0 (3.6 to 4.4) |
| Scribe v2 Medical (ElevenLabs) | 4.8 (4.3 to 5.3) |
| Parakeet v3 (NVIDIA) | 5.7 (5.0 to 6.4) |
| Omi Med STT v1 | 5.8 (5.1 to 6.6) |
| Nova-3 Medical (Deepgram) | 5.9 (5.2 to 6.7) |
| Nova-3 (Deepgram) | 6.0 (5.2 to 6.8) |
| Whisper large-v3-turbo (OpenAI) | 9.9 (8.8 to 11.1) |
On German, French and Turkish read speech, Scribe v2 led every Telnyx file engine we tested:
| Language | Scribe v2 | Scribe v2 Realtime | Best Telnyx file engine | Best Telnyx streaming engine |
|---|---|---|---|---|
| English | 4.6 | 5.3 | Parakeet v3 (NVIDIA), 5.2 | Linden-1 (Speechmatics, preview), 5.6 |
| German | 4.7 | 6.5 | Whisper large-v3-turbo (OpenAI), 7.6 | Linden-1 (Speechmatics, preview), 6.9 |
| French | 5.5 | 9.4 | Parakeet v3 (NVIDIA), 7.9 | Linden-1 (Speechmatics, preview), 7.1 |
| Turkish | 5.7 | 9.6 | Whisper large-v3-turbo (OpenAI), 9.8 | Linden-1 (Speechmatics, preview), 9.5 |
It is one set of runs, and engines change, so rerun it before you quote it. The samples are small in places, with five callers, 90 medical lines and 147 short replies, so treat gaps of a point or two as ties. We scored 339 of 375 phone lines and set 36 aside for a human listen. The phone recordings are not published, so that track cannot be rerun from the repo. Prices are not in these tables.
Run the same test on your own recordings with the Telnyx speech-to-text API, or read the full list of our published benchmarks.
Related articles
How I built a voice dictation app for macOS using Telnyx

B300 GPU rental price per hour in 2026: what you actually pay

SMS vs MMS Explained for Developers: Limits, Cost and One API

AI Agents in Financial Services: Use Cases in India
%20(1).png?width=96&format=webp)
NVIDIA B300 pricing in 2026: per hour, per system and per token

We tested 3 open-weight models for multi-turn agents
