New AssemblyAI-TTS-1: Text-to-speech for voice agents. Learn more
Research

Medical Mode: now with fewer medical-term errors in pre-recorded and real-time transcription

Medical Mode cuts missed drug names by 30% in English and 62% in Spanish on pre-recorded audio, with an industry-leading word error rate. Here’s how it works, how we measured it on nine medical datasets, and how it compares with other top providers.

Improvements to Medical Mode

Written by

AssemblyAI Research

Published on

10 November 2026

AssemblyAI introduced updates to Medical Mode in AssemblyAI for Healthcare. Check out what’s new, including a new Vet Mode offering. Read the announcement →

A recorded clinical conversation is mostly ordinary speech, but a handful of words decide whether its transcript can be trusted: the drug, the dose, the diagnosis, the procedure. These are also the words general speech models encounter least, so they carry the most risk of error.

AssemblyAI’s Medical Mode is built to catch and correct these errors. It’s a correction pass for medical terminology that runs on top of our flagship speech-to-text models. Below, we share results across nine medical datasets and show how Medical Mode compares with other leading speech-to-text providers.

The short version:

  • Drug names improve most. On four English datasets, Medical Mode cuts the drug-name miss rate by 30% on pre-recorded audio and 16% on streaming. On Spanish clinical conversations, the reductions are 62% and 49%.
  • Word error rate stays where it was. It moves by 0.1 point or less on every English set.
  • On pre-recorded audio, AssemblyAI with Medical Mode has the lowest average word error rate, medical-term miss rate, and drug-name miss rate of the six systems we tested.
  • With streaming, real-time audio, accuracy and latency are a critical balance. Medical Mode has the highest performance among low-latency models.

The hard part is the vocabulary

Drug names, dosage phrasing, disease and anatomical terms, abbreviations, and eponyms are rare in the web and conversational audio that speech models learn from. A model that transcribes everyday speech almost perfectly can still turn Celebrex into “Celebrate,” turn lisinopril into “listen a pill,” or drop a dose altogether.

In our evaluations, drug names are the hardest category. On English clinical datasets, a strong general model misses about 6% of drug mentions but under 2% of symptom mentions. On the Spanish set and the French prescription dictations, the drug-name miss rate is more than three times the overall medical-term miss rate.

While word error rate (WER) is a good measure of overall accuracy, it treats every word the same. In a clinical conversation, a transcript can be 99% right and still be wrong where it matters.

Fewer missed medical terms in English, especially drug names

On four English medical datasets, Medical Mode cuts the drug-name miss rate by 30% on pre-recorded audio and by 16% on streaming. It lowers the overall medical-term miss rate on every pre-recorded set and leaves WER unchanged. The sets are doctor-patient conversations, primary-care consultations, respiratory-clinic consultations, and scripted medical dialogues: a mix of public and licensed data, 84 hours in total.

For each dataset, we report three metrics for both pre-recorded and real-time transcription. Lower is better for all three.

  • Drug-name miss rate is the share of medication names in the reference transcript that are missing or wrong in the output.
  • Medical-term miss rate is the same measure across all medical terms. It covers drugs, dosages, diseases, symptoms, anatomy, procedures, tests, and more. Spelling variants and formatting differences are canonicalized, so only real recognition errors count.
  • Word error rate (WER) is the standard measure. We normalize with the Whisper text normalizer plus per-language number and unit rules, so writing a dose as digits or as words isn’t an error.

The charts below show the two miss rates. WER doesn’t change with Medical Mode, staying within 0.1 points on every set, so it appears only in the table under each chart.

Medical Mode off vs. on · English · pre-recorded · four sets

Pre-recorded: drug-name misses fall by 30%, and WER holds steady

Without Medical Mode With Medical Mode

Lower is better

Drug-name miss rate

Doctor-patient conversations

Without Medical Mode: 7.9%
With Medical Mode: 5.1% −35%

Primary-care consultations

Without Medical Mode: 11.0%
With Medical Mode: 7.2% −35%

Respiratory consultations

Without Medical Mode: 4.6%
With Medical Mode: 4.0% −13%

Scripted medical dialogues

Without Medical Mode: 3.3%
With Medical Mode: 0.8% −76%

Medical-term miss rate

Doctor-patient conversations

Without Medical Mode: 4.7%
With Medical Mode: 4.4%

Primary-care consultations

Without Medical Mode: 4.3%
With Medical Mode: 3.9%

Respiratory consultations

Without Medical Mode: 1.9%
With Medical Mode: 1.8%

Scripted medical dialogues

Without Medical Mode: 3.2%
With Medical Mode: 2.7%
Grey bars are without Medical Mode; blue bars are with it. Pre-recorded is Universal-3.5 Pro. The percentage next to a drug-name value is the relative change in drug-name misses.
All values: English, pre-recorded (Universal-3.5 Pro)
Dataset Drug-name miss, off Drug-name miss, on Medical-term miss, off Medical-term miss, on WER, off WER, on
Doctor-patient conversations 7.9% 5.1% 4.7% 4.4% 2.5% 2.4%
Primary-care consultations 11.0% 7.2% 4.3% 3.9% 11.1% 11.0%
Respiratory consultations 4.6% 4.0% 1.9% 1.8% 8.8% 8.8%
Scripted medical dialogues 3.3% 0.8% 3.2% 2.7% 0.9% 0.9%

Medical Mode off vs. on · English · real-time · four sets

Real-time: drug-name misses fall by 16%, and WER holds steady

Without Medical Mode With Medical Mode

Lower is better

Drug-name miss rate

Doctor-patient conversations

Without Medical Mode: 7.1%
With Medical Mode: 6.1% −14%

Primary-care consultations

Without Medical Mode: 12.6%
With Medical Mode: 10.7% −15%

Respiratory consultations

Without Medical Mode: 5.4%
With Medical Mode: 4.7% −13%

Scripted medical dialogues

Without Medical Mode: 2.9%
With Medical Mode: 1.4% −52%

Medical-term miss rate

Doctor-patient conversations

Without Medical Mode: 4.7%
With Medical Mode: 4.6%

Primary-care consultations

Without Medical Mode: 4.7%
With Medical Mode: 4.6%

Respiratory consultations

Without Medical Mode: 2.0%
With Medical Mode: 2.0%

Scripted medical dialogues

Without Medical Mode: 3.1%
With Medical Mode: 2.8%
Grey bars are without Medical Mode; blue bars are with it. Real-time is Universal-3.6 Pro Realtime, with audio streamed in real time and formatted final transcripts scored. The percentage next to a drug-name value is the relative change in drug-name misses.
All values: English, real-time (Universal-3.6 Pro Realtime)
Dataset Drug-name miss, off Drug-name miss, on Medical-term miss, off Medical-term miss, on WER, off WER, on
Doctor-patient conversations 7.1% 6.1% 4.7% 4.6% 2.8% 2.8%
Primary-care consultations 12.6% 10.7% 4.7% 4.6% 11.8% 11.8%
Respiratory consultations 5.4% 4.7% 2.0% 2.0% 9.0% 9.0%
Scripted medical dialogues 2.9% 1.4% 3.1% 2.8% 1.2% 1.2%

Medical Mode helps the most with drug names

Medical Mode uses the surrounding conversation as context to correct medical terms, and the biggest gains come on drug names. On pre-recorded audio, it reduces drug-name misses by 30%.

Across the four datasets evaluated, drug mentions account for 3,065 of 45,000 scored medical-term occurrences. On pre-recorded audio, Medical Mode has a 30% reduction in drug-name misses. Disease names improve as well.

Misses by category · English · pre-recorded · four sets pooled

Medical Mode significantly improves drug name errors

  • Drug names 182 misses, 55 net fixed (30%)
  • Diseases 180 misses, 16 net fixed (9%)
  • Symptoms 328 misses, 6 net fixed (2%)
  • Anatomy 119 misses, 0 net
  • Procedures 102 misses, 1 net fixed (1%)
  • Dosages 27 misses, 0 net
  • Tests 39 misses, 2 net added

Net corrections by Medical Mode (fixed minus newly broken) Misses without Medical Mode

Misses per medical-term category without Medical Mode, and the net corrections Medical Mode adds, on Universal-3.5 Pro. Drug names were the second-largest source of misses.

On streaming, the correction works turn by turn within a bounded time budget, so the net gain on drug names is smaller: 32 of 194 misses, or 16%.

The same pattern in Spanish, French, and German

The same parameter works for Spanish, French, and German on pre-recorded and streaming audio. Where a set has enough drug mentions to measure, the pattern repeats: drug names improve most and overall term misses fall.

The sets we evaluated are Spanish clinical conversations (licensed, 4 hours), German medical lecture clips (3.8 hours), and three French sets: read prescription dictations (0.8 hours), simulated emergency calls (3.2 hours), and medical lecture clips (1.1 hours).

Medical Mode off vs. on · Spanish, French, German · pre-recorded · five sets

Pre-recorded: drug-name misses fall by 62% in Spanish and 31% on French prescriptions

Without Medical Mode With Medical Mode

Lower is better

Drug-name miss rate

Spanish clinical conversations 442 drug mentions

Without Medical Mode: 17.6%
With Medical Mode: 6.7% −62%

French prescription dictations 300 drug mentions

Without Medical Mode: 43.3%
With Medical Mode: 29.8% −31%

French emergency calls 32 drug mentions

Without Medical Mode: 15.6%
With Medical Mode: 15.6%

French medical lecture clips 11 drug mentions

Without Medical Mode: 18.2%
With Medical Mode: 18.2%

German medical lecture clips 40 drug mentions

Without Medical Mode: 7.5%
With Medical Mode: 8.8% +17%

Medical-term miss rate

Spanish clinical conversations

Without Medical Mode: 5.1%
With Medical Mode: 3.1%

French prescription dictations

Without Medical Mode: 12.1%
With Medical Mode: 9.4%

French emergency calls

Without Medical Mode: 8.1%
With Medical Mode: 7.8%

French medical lecture clips

Without Medical Mode: 10.0%
With Medical Mode: 10.1%

German medical lecture clips

Without Medical Mode: 3.6%
With Medical Mode: 3.2%

Word error rate

Spanish clinical conversations

Without Medical Mode: 8.3%
With Medical Mode: 8.1%

French prescription dictations

Without Medical Mode: 10.2%
With Medical Mode: 9.3%

French emergency calls

Without Medical Mode: 20.1%
With Medical Mode: 20.0%

French medical lecture clips

Without Medical Mode: 16.7%
With Medical Mode: 16.7%

German medical lecture clips

Without Medical Mode: 8.4%
With Medical Mode: 8.4%
Grey bars are without Medical Mode; blue bars are with it. Pre-recorded is Universal-3.5 Pro. The percentage next to a drug-name value is the relative change in drug-name misses. With 11 or 40 drug mentions in a set, a single changed mention moves the drug-name rate by several points, so read those rows as flat.
All values: Spanish, French, and German, pre-recorded (Universal-3.5 Pro)
Dataset Drug-name miss, off Drug-name miss, on Medical-term miss, off Medical-term miss, on WER, off WER, on
Spanish clinical conversations 17.6% 6.7% 5.1% 3.1% 8.3% 8.1%
French prescription dictations 43.3% 29.8% 12.1% 9.4% 10.2% 9.3%
French emergency calls 15.6% 15.6% 8.1% 7.8% 20.1% 20.0%
French medical lecture clips 18.2% 18.2% 10.0% 10.1% 16.7% 16.7%
German medical lecture clips 7.5% 8.8% 3.6% 3.2% 8.4% 8.4%

Medical Mode off vs. on · Spanish, French, German · real-time · five sets

Real-time: drug-name misses fall by 49% in Spanish and 18% on French prescriptions

Without Medical Mode With Medical Mode

Lower is better

Drug-name miss rate

Spanish clinical conversations 442 drug mentions

Without Medical Mode: 16.7%
With Medical Mode: 8.6% −49%

French prescription dictations 300 drug mentions

Without Medical Mode: 44.3%
With Medical Mode: 36.3% −18%

French emergency calls 32 drug mentions

Without Medical Mode: 21.9%
With Medical Mode: 18.8% −14%

French medical lecture clips 11 drug mentions

Without Medical Mode: 18.2%
With Medical Mode: 18.2%

German medical lecture clips 40 drug mentions

Without Medical Mode: 12.5%
With Medical Mode: 12.5%

Medical-term miss rate

Spanish clinical conversations

Without Medical Mode: 5.4%
With Medical Mode: 3.9%

French prescription dictations

Without Medical Mode: 13.2%
With Medical Mode: 12.0%

French emergency calls

Without Medical Mode: 10.9%
With Medical Mode: 10.7%

French medical lecture clips

Without Medical Mode: 10.9%
With Medical Mode: 11.2%

German medical lecture clips

Without Medical Mode: 5.4%
With Medical Mode: 5.0%

Word error rate

Spanish clinical conversations

Without Medical Mode: 9.0%
With Medical Mode: 8.9%

French prescription dictations

Without Medical Mode: 11.2%
With Medical Mode: 10.8%

French emergency calls

Without Medical Mode: 22.4%
With Medical Mode: 22.3%

French medical lecture clips

Without Medical Mode: 17.2%
With Medical Mode: 17.5%

German medical lecture clips

Without Medical Mode: 9.1%
With Medical Mode: 9.1%
Grey bars are without Medical Mode; blue bars are with it. Real-time is Universal-3.6 Pro Realtime, with audio streamed in real time and formatted final transcripts scored. The percentage next to a drug-name value is the relative change in drug-name misses. With 11 or 40 drug mentions in a set, a single changed mention moves the drug-name rate by several points, so read those rows as flat.
All values: Spanish, French, and German, real-time (Universal-3.6 Pro Realtime)
Dataset Drug-name miss, off Drug-name miss, on Medical-term miss, off Medical-term miss, on WER, off WER, on
Spanish clinical conversations 16.7% 8.6% 5.4% 3.9% 9.0% 8.9%
French prescription dictations 44.3% 36.3% 13.2% 12.0% 11.2% 10.8%
French emergency calls 21.9% 18.8% 10.9% 10.7% 22.4% 22.3%
French medical lecture clips 18.2% 18.2% 10.9% 11.2% 17.2% 17.5%
German medical lecture clips 12.5% 12.5% 5.4% 5.0% 9.1% 9.1%

Spanish shows the largest effect. Drug-name misses fall by 62% on pre-recorded audio and 49% on streaming, and overall term misses fall by about 40% on pre-recorded audio, on a dataset where drug names are a fifth of all medical terms. French prescription dictations, the densest drug-name set we have, improve by 31% on pre-recorded audio.

The two lecture-clip sets contain few drug mentions: 40 in German and 11 in French. Their overall term miss rates improve in German and are unchanged in French.

WER changes by at most 0.9 points. That largest change is on the French dictation set, where some of the corrected drug names also count as word corrections.

How Medical Mode compares with other providers

We ran five other speech-to-text services on the same nine datasets with the same metrics. Each ran in its medical-specific model or mode wherever the vendor offers one for the language.

Vendor Pre-recorded model Streaming model Medical model or mode Language setting Formatting and fillers
AssemblyAI Universal-3.5 Pro Universal-3.6 Pro Realtime Medical Mode (domain: "medical-v1") on both, all four languages Pinned Punctuation and formatting on; disfluencies off
Soniox stt-async-v6 stt-rt-v6 None offered Language hint Default punctuation; no filler-removal option, so fillers are kept
ElevenLabs Scribe v2 Medical Scribe v2 Realtime Medical model for pre-recorded, all four languages; no medical variant for streaming Pinned Default punctuation; no_verbatim removes fillers and false starts
Google Gemini 3.5 Transcribe (Vertex AI) Gemini Live (Vertex AI) None offered Pinned Verbatim transcription mode: punctuated, fillers kept
Deepgram nova-3-medical nova-3-medical Medical model on both, all four languages Pinned where the medical model accepts it (English for pre-recorded; English and German for streaming), otherwise language=multi smart_format on; filler_words off
Speechmatics Enhanced operating point Enhanced operating point Medical domain (domain=medical) on both, all four languages Pinned Default punctuation; remove_disfluencies on

Language was pinned wherever the API allows it. Punctuation and formatting were on, and filler removal was on where a toggle exists. No system received custom vocabulary or keyterms. Where a vendor returned an empty transcript for a short clip, it counts as a full deletion.

Pre-recorded audio

Averaged over the nine sets, AssemblyAI with Medical Mode has the lowest error rate on all three measures: WER, medical-term miss rate, and drug-name miss rate. Speechmatics is the closest on WER and drug names, and ElevenLabs Scribe v2 Medical is the closest on medical-term misses.

Medical benchmark · pre-recorded · nine sets

AssemblyAI with Medical Mode is lowest on all three measures

Lower is better

Word error rate

  • AssemblyAI (medical) 9.5%
  • Speechmatics (medical) 9.7%
  • Soniox 10.2%
  • Gemini 3.5 Transcribe 10.3%
  • Deepgram (medical) 11.2%
  • ElevenLabs (medical) 11.3%

Medical-term miss rate

  • AssemblyAI (medical) 5.2%
  • ElevenLabs (medical) 5.3%
  • Soniox 6.1%
  • Speechmatics (medical) 6.1%
  • Gemini 3.5 Transcribe 6.4%
  • Deepgram (medical) 9.7%

Drug-name miss rate

  • AssemblyAI (medical) 10.7%
  • Speechmatics (medical) 11.1%
  • ElevenLabs (medical) 11.1%
  • Gemini 3.5 Transcribe 13.4%
  • Soniox 16.7%
  • Deepgram (medical) 26.6%
Unweighted mean error rate over nine medical datasets in English, Spanish, French, and German, pre-recorded (batch) audio. Each vendor ran in its medical model or mode where it offers one for the language, marked “(medical)”. No system received custom vocabulary or keyterms. Deepgram’s medical model only accepts English as a pinned language, so the other three languages ran on its multi-language setting.
All values: pre-recorded averages over nine sets (lower is better)
System WER Medical-term miss Drug-name miss
AssemblyAI Universal-3.5 Pro + Medical Mode 9.5% 5.2% 10.7%
Speechmatics Enhanced (medical domain) 9.7% 6.1% 11.1%
ElevenLabs Scribe v2 Medical 11.3% 5.3% 11.1%
Soniox stt-async-v6 10.2% 6.1% 16.7%
Gemini 3.5 Transcribe 10.3% 6.4% 13.4%
Deepgram nova-3-medical 11.2% 9.7% 26.6%

AssemblyAI also has the best mean rank across the nine sets on all three measures, but it doesn’t lead every row. ElevenLabs Scribe v2 Medical has the lowest error on the Spanish set on all three measures, and Speechmatics has the lowest drug-name miss rate on the French dictation and emergency-call sets. The per-set values are below.

Pre-recorded, per set: drug-name miss rate
Dataset AssemblyAI Universal-3.5 Pro + Medical Mode Soniox stt-async-v6 ElevenLabs Scribe v2 Medical Gemini 3.5 Transcribe Deepgram nova-3-medical Speechmatics Enhanced, medical domain
Spanish clinical conversations 6.7% 12.9% 3.2% 10.2% 30.1% 14.5%
French prescription dictations 29.8% 44.7% 32.0% 36.0% 57.7% 17.0%
French emergency calls 15.6% 21.9% 12.5% 25.0% 65.6% 6.2%
French medical lecture clips 18.2% 27.3% 18.2% 18.2% 36.4% 27.3%
German medical lecture clips 8.8% 12.5% 10.0% 10.0% 17.5% 10.0%
Doctor-patient conversations (English) 5.1% 7.2% 5.2% 5.7% 8.8% 5.7%
Primary-care consultations (English) 7.2% 12.1% 12.1% 8.5% 16.0% 12.1%
Respiratory consultations (English) 4.0% 4.1% 4.8% 4.0% 4.2% 4.4%
Scripted medical dialogues (English) 0.8% 7.8% 2.0% 3.1% 3.1% 2.3%

Best Others The best value in each comparison is filled blue.

Pre-recorded, per set: medical-term miss rate
Dataset AssemblyAI Universal-3.5 Pro + Medical Mode Soniox stt-async-v6 ElevenLabs Scribe v2 Medical Gemini 3.5 Transcribe Deepgram nova-3-medical Speechmatics Enhanced, medical domain
Spanish clinical conversations 3.1% 4.3% 2.2% 3.8% 7.9% 4.8%
French prescription dictations 9.4% 12.4% 10.4% 10.6% 17.6% 10.6%
French emergency calls 7.8% 4.8% 7.4% 12.0% 20.6% 7.5%
French medical lecture clips 10.1% 12.8% 9.4% 12.8% 15.6% 11.2%
German medical lecture clips 3.2% 6.6% 4.9% 6.0% 8.5% 6.2%
Doctor-patient conversations (English) 4.4% 4.6% 4.5% 4.0% 5.5% 4.5%
Primary-care consultations (English) 3.9% 4.0% 4.2% 3.9% 6.1% 5.7%
Respiratory consultations (English) 1.8% 1.9% 2.2% 1.9% 2.4% 2.3%
Scripted medical dialogues (English) 2.7% 3.3% 2.3% 2.5% 2.8% 2.4%

Best Others The best value in each comparison is filled blue.

Pre-recorded, per set: word error rate
Dataset AssemblyAI Universal-3.5 Pro + Medical Mode Soniox stt-async-v6 ElevenLabs Scribe v2 Medical Gemini 3.5 Transcribe Deepgram nova-3-medical Speechmatics Enhanced, medical domain
Spanish clinical conversations 8.1% 9.1% 6.5% 8.6% 9.0% 8.9%
French prescription dictations 9.3% 10.2% 9.6% 9.2% 12.5% 10.8%
French emergency calls 20.0% 16.6% 25.1% 23.6% 26.0% 17.7%
French medical lecture clips 16.7% 21.2% 19.8% 18.3% 18.8% 17.4%
German medical lecture clips 8.4% 10.8% 9.7% 10.1% 10.8% 8.9%
Doctor-patient conversations (English) 2.4% 2.6% 2.7% 2.4% 2.7% 2.6%
Primary-care consultations (English) 11.0% 10.8% 15.4% 10.5% 10.8% 11.1%
Respiratory consultations (English) 8.8% 9.8% 12.0% 9.0% 9.3% 9.0%
Scripted medical dialogues (English) 0.9% 1.0% 1.0% 0.9% 1.0% 1.0%

Best Others The best value in each comparison is filled blue.

Deepgram’s medical model accepts only English as a pinned language. For Spanish, French, and German it ran in its unpinned multi-language medical mode.

Streaming: accuracy against latency

For streaming, error rate is half the picture. A system also has to finalize its words quickly. The latency that matters in live use is time-to-final on long audio, where a vendor’s own finalization behavior shows. On a short clip, every vendor flushes its pending words when the stream ends, which hides that behavior. So we measured time-to-final on clips of 10 seconds and longer and report the 90th percentile, the value a product has to design around.

Speechmatics and Soniox have the lowest or near-lowest error rates, but at default settings they finalize words about 5 seconds behind the audio. Without Medical Mode, AssemblyAI is the fastest system at 0.63 seconds, with a WER within a point of those two. With Medical Mode, time-to-final rises by about 0.65 seconds to 1.28 seconds, and medical-term and drug-name misses drop to the lowest of any system that finalizes within about a second.

Medical benchmark · streaming · nine sets

Among systems that finalize within about a second, AssemblyAI with Medical Mode is lowest on all three error measures

Lower and further left is better

Word error rate vs. latency

Time-to-final, 90th percentile (s)

Medical-term miss rate vs. latency

Time-to-final, 90th percentile (s)

Drug-name miss rate vs. latency

Time-to-final, 90th percentile (s)

Hollow dot: AssemblyAI without Medical Mode

Unweighted mean error rate over the same nine medical datasets, streaming audio. The dashed lines are reading guides, not benchmark thresholds. Time-to-final is the 90th percentile on clips of 10 seconds and longer at each vendor’s default settings, measured on read English speech. “(medical)” marks a system run in its medical model or mode. Both AssemblyAI points are Universal-3.6 Pro Realtime, with and without Medical Mode. Soniox, ElevenLabs, and Gemini offer no medical variant for streaming.
All values: streaming averages over nine sets (lower is better)
System WER Medical-term miss Drug-name miss Time-to-final (p90)
AssemblyAI Universal-3.6 Pro Realtime + Medical Mode 10.4% 6.3% 13.0% 1.28 s
AssemblyAI Universal-3.6 Pro Realtime, Medical Mode off 10.4% 6.7% 15.7% 0.63 s
Speechmatics Enhanced (medical domain) 9.6% 6.1% 10.9% 4.71 s
Soniox stt-rt-v6 10.2% 6.4% 16.4% 5.18 s
ElevenLabs Scribe v2 Realtime 13.5% 9.5% 19.6% 0.80 s
Deepgram nova-3-medical 13.2% 12.4% 29.4% 0.87 s
Gemini 3.5 Transcribe Live 16.2% 15.5% 25.2% 1.32 s

Both AssemblyAI configurations sit on the Pareto frontier: no other system beats either one on both error rate and latency. ElevenLabs and Deepgram finalize in under a second but trail on every error measure. Gemini Live, run at the six concurrent sessions its API allows, has the highest average WER and medical-term miss rate, and it returned short transcripts on two sets.

Whether 0.65 seconds is worth it depends on what you’re building. Medical Mode is one connection parameter, so you can measure the trade-off on your own audio.

Streaming, per set: drug-name miss rate
Dataset AssemblyAI Universal-3.6 Pro Realtime + Medical Mode Soniox stt-rt-v6 ElevenLabs Scribe v2 Realtime Gemini 3.5 Transcribe Live Deepgram nova-3-medical Speechmatics Enhanced, medical domain
Spanish clinical conversations 8.6% 13.6% 16.7% 26.7% 44.3% 13.1%
French prescription dictations 36.3% 52.7% 47.3% 48.3% 65.7% 17.3%
French emergency calls 18.8% 21.9% 21.9% 56.2% 50.0% 6.2%
French medical lecture clips 18.2% 18.2% 27.3% 18.2% 36.4% 27.3%
German medical lecture clips 12.5% 7.5% 27.5% 17.5% 25.0% 10.0%
Doctor-patient conversations (English) 6.1% 6.9% 10.3% 11.9% 12.1% 5.2%
Primary-care consultations (English) 10.7% 12.1% 15.3% 22.6% 20.8% 11.6%
Respiratory consultations (English) 4.7% 4.6% 5.3% 8.9% 6.2% 4.3%
Scripted medical dialogues (English) 1.4% 10.5% 4.9% 16.8% 4.5% 3.1%

Best Others The best value in each comparison is filled blue.

Streaming, per set: medical-term miss rate
Dataset AssemblyAI Universal-3.6 Pro Realtime + Medical Mode Soniox stt-rt-v6 ElevenLabs Scribe v2 Realtime Gemini 3.5 Transcribe Live Deepgram nova-3-medical Speechmatics Enhanced, medical domain
Spanish clinical conversations 3.9% 4.6% 5.4% 8.0% 11.3% 4.4%
French prescription dictations 12.0% 14.7% 13.9% 20.0% 21.8% 10.8%
French emergency calls 10.7% 4.9% 15.2% 35.6% 29.5% 6.8%
French medical lecture clips 11.2% 12.5% 17.4% 23.7% 15.6% 11.5%
German medical lecture clips 5.0% 5.8% 17.1% 16.3% 10.0% 6.5%
Doctor-patient conversations (English) 4.6% 4.8% 5.1% 8.3% 7.6% 4.3%
Primary-care consultations (English) 4.6% 4.1% 6.0% 11.8% 8.4% 5.7%
Respiratory consultations (English) 2.0% 2.0% 2.4% 5.1% 3.4% 2.2%
Scripted medical dialogues (English) 2.8% 4.4% 3.4% 10.5% 4.2% 2.4%

Best Others The best value in each comparison is filled blue.

Streaming, per set: word error rate
Dataset AssemblyAI Universal-3.6 Pro Realtime + Medical Mode Soniox stt-rt-v6 ElevenLabs Scribe v2 Realtime Gemini 3.5 Transcribe Live Deepgram nova-3-medical Speechmatics Enhanced, medical domain
Spanish clinical conversations 8.9% 9.1% 8.8% 9.8% 9.8% 8.8%
French prescription dictations 10.8% 11.9% 13.1% 15.8% 14.9% 10.8%
French emergency calls 22.3% 15.7% 28.1% 41.5% 34.9% 17.4%
French medical lecture clips 17.5% 20.2% 23.2% 22.5% 20.2% 17.3%
German medical lecture clips 9.1% 10.5% 18.5% 16.9% 10.9% 9.0%
Doctor-patient conversations (English) 2.8% 2.7% 2.6% 4.9% 3.9% 2.6%
Primary-care consultations (English) 11.8% 10.9% 15.0% 17.4% 12.8% 11.0%
Respiratory consultations (English) 9.0% 9.8% 11.0% 11.3% 10.0% 8.9%
Scripted medical dialogues (English) 1.1% 1.1% 1.1% 6.1% 1.8% 1.0%

Best Others The best value in each comparison is filled blue.

Deepgram’s streaming medical model accepts English and German as pinned languages. For Spanish and French it ran in its unpinned multi-language medical mode. ElevenLabs Scribe v2 Realtime finalizes only part of each clip on short multi-segment German clips, so its German row stitches partial results and is less reliable than the others. Gemini Live returned transcripts well short of the reference on the French emergency calls and the primary-care consultations (about 0.64 and 0.88 of the reference length), so part of its error there is dropped content.

Turn it on with one parameter

For pre-recorded audio, add "domain": "medical-v1" to the transcript request. For streaming, pass domain=medical-v1 as a connection parameter when you open the WebSocket, alongside speech_model=universal-3-6-pro.

import requests

response = requests.post(
    "https://api.assemblyai.com/v2/transcript",
    headers={"authorization": "YOUR_API_KEY"},
    json={
        "audio_url": "https://example.com/clinical-visit.mp3",
        "speech_models": ["universal-3-5-pro"],
        "domain": "medical-v1",
    },
)
print(response.json()["id"])

Read the docs: Pre-recorded Medical Mode, Real-time Medical Mode.

Our latest models already handle most medical vocabulary well, so the lift from Medical Mode depends on your audio and your vocabulary. Run your files with and without it, score both on the terms that matter to your users, and keep Medical Mode on wherever it performs best. You can try it without code in the pre-recorded playground or the real-time playground.

How we measured

All numbers come from one evaluation run in November 2026 on 12 medical speech datasets in six languages, about 107 hours of audio, with human reference transcripts. These results come from a different evaluation than the figures on our benchmarks page, so the two shouldn’t be compared directly.

Datasets

The datasets are a mix of public and licensed sets:

  • English: doctor-patient conversations, primary-care consultations, respiratory consultations, and scripted dialogues
  • Spanish: scripted clinical conversations
  • French: prescription dictations, emergency calls, and medical lecture clips
  • German and Mandarin: medical lecture clips
  • Vietnamese: medical speech and code-switched medical speech

Where a public set’s released alignments were shifted, we repaired the reference boundaries before scoring.

Medical-term scoring

A language model identified the medical terms in the reference transcripts using a fixed taxonomy of 14 categories. We calibrated it against two sets with human term annotations, and it reached 98% recall on the French one. A term counts as recognized when all its words appear correctly, in order, in the transcript. The miss rate is the share of reference terms not recognized.

Before scoring, the reference and the transcript go through the same normalization for every system: the Whisper text normalizer, per-language number and unit rules, and a canonicalization of spelling and formatting variants. Writing 500 mg as “five hundred milligrams,” or Diclofenac as “diclofénac,” doesn’t count as a miss. We also measured false-alarm rates. They stay below 3% for every system and are omitted here for brevity.

Industry comparison

Every system used its medical-specific model or mode wherever one exists for the language. Language was pinned where the API allows it, formatting was on, filler removal was on where available, and everything else stayed at vendor defaults. No system received custom vocabulary. Streaming runs sent 16 kHz audio in real time and scored the joined final transcripts. Where a vendor returned no transcript for a clip, it was scored as all words missing. The AssemblyAI Medical Mode numbers for pre-recorded audio are the mean of two runs at the production temperature setting.

Streaming latency

We measured latency with one client for every vendor. It streams 16 kHz audio over each vendor’s WebSocket API in 100 ms chunks at real-time pace, records when each chunk is sent and when each message arrives, and then aligns the words in the final transcripts to the reference words. Only words the system got right are timed.

A word’s time-to-final is the arrival time of the final message that contains it, minus the send time of the chunk in which the word ends in the reference. We take the last word of each final message, so a system isn’t penalized for finalizing several words at once.

For the latency measurement only, the audio was 500 clips of read English speech from LibriSpeech test-clean and test-other, about an hour in total. LibriSpeech played no part in the accuracy results, which all come from the medical sets. Vendors ran with default endpointing settings, and AssemblyAI ran with formatted turns. Because every vendor flushes its pending words when a stream ends, short clips flatter systems that finalize slowly. The latency figures here use only clips of 10 seconds and longer and report the 90th percentile.