

Qwen Audio 3.1 ASR Message and Qwen Audio 3.0 ASR Stream side by side: specs, capabilities, parameters, and live pricing from the EmpirioLabs catalog.
Qwen Audio 3.1 ASR Message and Qwen Audio 3.0 ASR Stream are both Alibaba Cloud models in the Transcription category, available through the EmpirioLabs API.
| Spec | Qwen Audio 3.1 ASR Message | Qwen Audio 3.0 ASR Stream |
|---|---|---|
| Model ID | qwen-audio-3-1-asr-message | qwen-audio-3-0-asr-stream |
| Author | Alibaba Cloud | Alibaba Cloud |
| Released | Sep 21, 2026 | Jul 30, 2026 |
| Input | Audio | Audio |
| Output | Text | Text |
| Region | Singapore | Singapore |
| Endpoints | WEBSOCKET /v1/realtime | WEBSOCKET /v1/realtime |
| Capabilities |
Live rates from the EmpirioLabs catalog for both models. Each rate card always matches what the API charges.
Request parameters each model lists on EmpirioLabs, with the allowed values or range where one applies. A dash marks a parameter the model does not list.
| Parameter | Qwen Audio 3.1 ASR Message | Qwen Audio 3.0 ASR Stream |
|---|---|---|
| input_audio_format | pcm16 Default: pcm16 | pcm16 Default: pcm16 |
| language | auto, zh, en, ja, ko, vi, th, id, ms, tl, hi, ar, fr, de, es,... Default: auto | auto, zh, en, ja, ko, vi, th, id, ms, tl, hi, ar, fr, de, es,... Default: auto |
| silence_duration_ms | 200 to 6000 Default: 800 | 200 to 6000 Default: 800 |
| threshold | 0 to 1 | 0 to 1 |
| noise_reduction | far_field, near_field Default: far_field | far_field, near_field Default: far_field |
| keep_dialect | boolean Default: false | boolean Default: false |
| partial_results | boolean Default: false | - |
| prompt | - | string |
Voice message transcription over a WebSocket at wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-message, authenticated with the ordinary Authorization Bearer header.
Stream 16 kHz mono pcm16 audio with input_audio_buffer.append. Voice activity detection decides where each utterance ends, so there is no commit to send.
Send session.update right after session.created, before the first audio, with any of these settings: input_audio_transcription.language (or the language query parameter of the connection URL; auto by default), turn_detection.silence_duration_ms (200 to 6000, default 800) and turn_detection.threshold (0.0 to 1.0), and input_audio_noise_reduction (near_field or far_field). keep_dialect keeps Chinese dialect words as spoken. A setting changed while audio is streaming ends the utterance in progress and applies to the audio sent after it.
Each utterance arrives whole, as one conversation.item.input_audio_transcription.completed event once the speaker pauses. Set partial_results to also receive it while it is spoken, as conversation.item.input_audio_transcription.delta events that can still change before it settles. For live captions, qwen-audio-3-1-asr-stream always sends them.
Input and output tokens are priced per 1M, and each completed utterance is billed on its own from the usage the model reports.
Live transcription over a WebSocket at wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-0-asr-stream, authenticated with the ordinary Authorization Bearer header.
Stream 16 kHz mono pcm16 audio with input_audio_buffer.append. Voice activity detection decides where each sentence ends, so there is no commit to send.
Send session.update right after session.created, before the first audio, with any of these settings: input_audio_transcription.language (or the language query parameter of the connection URL; auto by default), input_audio_transcription.prompt with the names and terms the speaker uses (up to 400 characters), turn_detection.silence_duration_ms (200 to 6000, default 800) and turn_detection.threshold (0.0 to 1.0), and input_audio_noise_reduction (near_field or far_field). keep_dialect keeps Chinese dialect words as spoken. A setting changed while audio is streaming ends the sentence in progress and applies to the audio sent after it.
conversation.item.input_audio_transcription.delta events carry the sentence so far while the speaker is still talking, and conversation.item.input_audio_transcription.completed carries the settled sentence at each pause.
Billed per second of the audio you stream, silence included, at the hourly rate shown. The session is billed when it ends.
Qwen Audio 3.1 ASR Message transcribes a live audio stream over a WebSocket at wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-message, not over the HTTP endpoints. Connect with the model id qwen-audio-3-1-asr-message and send your EmpirioLabs API key as an Authorization: Bearer header on the handshake. Append base64 16-bit PCM audio and read transcript events back while the speaker is still talking. A browser cannot set headers on a WebSocket, so open this connection from your server and relay audio to the browser over your own socket. Both models are called through the same endpoint. Set model to qwen-audio-3-1-asr-message or qwen-audio-3-0-asr-stream. Get an API key from the EmpirioLabs dashboard.
import asyncio, json, os, websockets
async def main():
async with websockets.connect(
"wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-message",
additional_headers=[
("Authorization", f"Bearer {os.environ['EMPIRIOLABS_API_KEY']}"),
],
max_size=None,
) as ws:
print(json.loads(await ws.recv())["type"]) # session.created
import base64
# 16-bit PCM microphone audio, base64 encoded, in small chunks.
for chunk in read_microphone_chunks():
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(chunk).decode(),
}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
async for raw in ws:
event = json.loads(raw)
if event["type"].endswith("input_audio_transcription.delta"):
# "text" is settled transcript; "stash" is still in progress.
if event.get("text"):
print(event["text"], end="", flush=True)
asyncio.run(main())Qwen Audio 3.1 ASR Message is the newer release (Sep 21, 2026); Qwen Audio 3.0 ASR Stream was released on Jul 30, 2026. Capabilities listed only for Qwen Audio 3.0 ASR Stream: streaming asr. The specs, rate cards, and parameters on this page come from the live EmpirioLabs catalog.
Qwen Audio 3.1 ASR Message is the newer release (Sep 21, 2026); Qwen Audio 3.0 ASR Stream was released on Jul 30, 2026.
The two models are priced on different units or tiers, so compare the live rate cards on this page. They always match what the API charges.
Yes. Both models use WEBSOCKET /v1/realtime with the same EmpirioLabs API key, so most integrations switch by changing the model value. Check the parameters table on this page first if you rely on a model-specific parameter.
Yes. Open each model in the EmpirioLabs playground and press Start session to try it in your browser.
Check out our pricing or reach out if you want your own model deployed on our stack.