Alibaba's Qwen-Audio-3.0-ASR-Flash Hits 95% Accuracy on Medical Jargon
Qwen's new ASR model brings LLM-style context awareness to speech recognition, hitting 95% recall on medical and industrial terminology

- New model live: Qwen-Audio-3.0-ASR-Flash (
fun-asr-flash-2026-06-15) is available now on Alibaba Cloud Model Studio. - Domain recall: Internal benchmarks show 95.36% recall on medical terms and 93.24% on industrial terms.
- Context-aware transcription: Chat-style API lets you pass prior conversation turns to bias recognition toward domain vocabulary.
- Three endpoints: Real-time streaming (WebSocket), async file transcription, and synchronous short-audio HTTP API.
- Key limitation: The Flash model caps at 5-minute audio files and does not support speaker diarization.
- 30+ languages supported including Chinese dialects (Cantonese, Wu, Hokkien, Hakka) and major European and Asian languages.
Automatic speech recognition has a dirty secret: it falls apart the moment someone says something domain-specific. A doctor dictating a clinical note, an engineer describing a manufacturing defect, a lawyer reciting case citations — generic ASR models stumble on the exact moments that matter most. Alibaba's Qwen team just shipped Qwen-Audio-3.0-ASR-Flash, a speech recognition model built around one thesis: context should drive transcription, not just acoustic signals.
The model is live on Alibaba Cloud Model Studio under the ID fun-asr-flash-2026-06-15, available via HTTP API in both Beijing and Singapore regions.
What actually changed
The headline numbers are hard to ignore. In internal benchmarks, the model achieves a 95.36% recall rate on medical terminology and 93.24% on industrial terms — categories where standard ASR models routinely fail because they have never seen the vocabulary at sufficient frequency during training.
The more interesting architectural shift is how the model handles context. Unlike traditional ASR engines that treat each audio segment independently, fun-asr-flash-2026-06-15 uses a chat-style messages API where you can pass prior conversation turns alongside the audio. The model uses that history to bias recognition toward vocabulary that fits the ongoing discussion, similar to how a human transcriptionist leans on context clues when a word is ambiguous.
The four core upgrades are:
- Context consistency — prior conversation turns influence current transcription, reducing drift across a long session
- Domain-term recognition — improved handling of specialized vocabulary without needing to pre-register every term
- Custom hotwords — supply a weighted vocabulary list via
vocabulary_idfor stable, infrequently-changing terminology - Speech polishing — raw transcripts are cleaned into structured output with proper punctuation and sentence boundaries
Three endpoints, three use cases
The release ships as three distinct model endpoints, each targeting a different integration pattern:
- fun-asr-flash-2026-06-15 (non-real-time, HTTP) — synchronous transcription of audio files up to 5 minutes; returns word-level timestamps and sentence boundaries
- Qwen-Audio-3.0-ASR-Flash-Streaming — real-time WebSocket streaming for live transcription with SSE-based incremental results
- Qwen-Audio-3.0-ASR-Flash-Filetrans — asynchronous file transcription for longer recordings using a submit-then-poll workflow
The non-real-time Flash endpoint caps at 5-minute audio files, a real constraint compared to the older fun-asr model that handles up to 12 hours. For long-form transcription with hotwords and speaker diarization, the base fun-asr model remains the right choice.
How to call it
The API follows a chat-completion-style message format. Here is a minimal Python call using the non-streaming endpoint:
import os, requests
url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation"
headers = {
"Authorization": f"Bearer {os.environ['DASHSCOPE_API_KEY']}",
"Content-Type": "application/json",
"X-DashScope-SSE": "disable",
}
payload = {
"model": "fun-asr-flash-2026-06-15",
"input": {
"messages": [{
"role": "user",
"content": [{
"type": "input_audio",
"input_audio": {
"data": "https://example.com/your-audio.wav"
}
}]
}]
},
"parameters": {"format": "wav", "sample_rate": "16000"}
}
response = requests.post(url, headers=headers, json=payload)
print(response.json()["output"]["text"])To use the context feature, prepend prior conversation turns as input_text (user) and text (assistant) messages before the input_audio message. The model accepts up to 5 context turns with a 400-character combined limit per turn, and the input_audio message must always be last in the array.
Where it fits and where it falls short
Fun-ASR-Flash covers Chinese across eight dialect families (Mandarin, Cantonese, Wu, Hokkien, Hakka, Gan, Xiang, Jin) plus dozens of regional accents, alongside English, Japanese, Korean, Vietnamese, Thai, Indonesian, and over 20 European languages.
The practical sweet spot is anywhere domain jargon matters and audio is short:
- Medical dictation and clinical note-taking
- Industrial inspection reports and field notes
- Customer support call snippets with product-specific terminology
- Voice interfaces embedded in specialized enterprise software
Speaker diarization is not supported on the Flash model — for that you need fun-asr or fun-asr-mtl. The 5-minute audio cap rules it out for podcast transcription or long meeting recordings, and unlike the broader Qwen-ASR family, it does not do emotion detection.
Context injection over fine-tuning
Fun-ASR-Flash uses prompt context injection rather than hotwords as its primary accuracy mechanism, which puts it in a different category from the older Paraformer-based models. The approach mirrors what happened in NLP when retrieval-augmented generation replaced fine-tuning as the default for domain adaptation: instead of baking domain knowledge into model weights, you inject it at inference time.
For teams already building on the Qwen ecosystem, this matters most in pipelines where transcription accuracy on specialized vocabulary is the bottleneck. The context-aware API also opens tighter integration with downstream LLM steps — the same conversation history driving your language model can now drive your transcription layer too.