

Qwen Audio 3.1 ASR Stream y Qwen Audio 3.0 ASR Stream lado a lado: especificaciones, capacidades, parámetros y precios en vivo del catálogo de EmpirioLabs.
Qwen Audio 3.1 ASR Stream y Qwen Audio 3.0 ASR Stream son modelos de Alibaba Cloud en la categoría Transcripción, disponibles a través de la API de EmpirioLabs.
Los dos modelos indican las mismas especificaciones principales. Las tablas de tarifas y los parámetros de abajo muestran en qué se diferencian.
| Especificación | Qwen Audio 3.1 ASR Stream | Qwen Audio 3.0 ASR Stream |
|---|---|---|
| ID del modelo | qwen-audio-3-1-asr-stream | qwen-audio-3-0-asr-stream |
| Autor | Alibaba Cloud | Alibaba Cloud |
| Lanzado | - | 30 jul 2026 |
| Entrada | Audio | Audio |
| Salida | Texto | Texto |
| Región | Singapore | Singapore |
| Endpoints | WEBSOCKET /v1/realtime | WEBSOCKET /v1/realtime |
| Capacidades |
Tarifas en vivo del catálogo de EmpirioLabs para ambos modelos. Cada tabla de tarifas siempre coincide con lo que cobra la API.
Parámetros de solicitud que cada modelo indica en EmpirioLabs, con los valores permitidos o el rango cuando corresponde. Un guion marca un parámetro que el modelo no indica.
| Parámetro | Qwen Audio 3.1 ASR Stream | Qwen Audio 3.0 ASR Stream |
|---|---|---|
| input_audio_format | pcm16 Predeterminado: pcm16 | pcm16 Predeterminado: pcm16 |
| language | auto, zh, en, ja, ko, vi, th, id, ms, tl, hi, ar, fr, de, es,... Predeterminado: auto | auto, zh, en, ja, ko, vi, th, id, ms, tl, hi, ar, fr, de, es,... Predeterminado: auto |
| prompt | string | string |
| silence_duration_ms | 200 a 6000 Predeterminado: 800 | 200 a 6000 Predeterminado: 800 |
| threshold | 0 a 1 | 0 a 1 |
| noise_reduction | far_field, near_field Predeterminado: far_field | far_field, near_field Predeterminado: far_field |
| keep_dialect | boolean Predeterminado: false | boolean Predeterminado: false |
Transcripción en directo a través de un WebSocket en wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-stream, autenticada con la cabecera ordinaria de Portador de Autorización.
Transmite audio mono pcm16 a 16 kHz con input_audio_buffer.append. La detección de actividad de voz decide dónde termina cada frase, por lo que no hay compromiso para enviar.
Envía session.update justo después de session.created, antes del primer audio, con cualquiera de estos ajustes: input_audio_transcription.language (o el parámetro de consulta language de la URL de conexión; auto por defecto), input_audio_transcription.prompt con los nombres y términos que utiliza el hablante (hasta 400 caracteres), turn_detection.silence_duration_ms (200 a 6000, por defecto 800) y turn_detection.threshold (0.0 a 1.0), y input_audio_noise_reduction (near_field o far_field). keep_dialect mantiene las palabras del dialecto chino tal como se pronuncian. Un ajuste cambiado mientras el audio está en streaming termina la frase en curso y se aplica al audio enviado después.
conversation.item.input_audio_transcription.delta eventos llevan la frase tan lejos mientras el hablante sigue hablando, y conversation.item.input_audio_transcription.completed lleva la frase establecida en cada pausa.
Los tokens de entrada y salida se valoran por 1M, y cada oración completada se factura por sí sola a partir del uso que el modelo reporta.
Transcripción en directo a través de un WebSocket en wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-0-asr-stream, autenticada con la cabecera ordinaria de Portador de Autorización.
Transmite audio mono pcm16 a 16 kHz con input_audio_buffer.append. La detección de actividad de voz decide dónde termina cada frase, por lo que no hay compromiso para enviar.
Envía session.update justo después de session.created, antes del primer audio, con cualquiera de estos ajustes: input_audio_transcription.language (o el parámetro de consulta language de la URL de conexión; auto por defecto), input_audio_transcription.prompt con los nombres y términos que utiliza el hablante (hasta 400 caracteres), turn_detection.silence_duration_ms (200 a 6000, por defecto 800) y turn_detection.threshold (0.0 a 1.0), y input_audio_noise_reduction (near_field o far_field). keep_dialect mantiene las palabras del dialecto chino tal como se pronuncian. Un ajuste cambiado mientras el audio está en streaming termina la frase en curso y se aplica al audio enviado después.
conversation.item.input_audio_transcription.delta eventos llevan la frase tan lejos mientras el hablante sigue hablando, y conversation.item.input_audio_transcription.completed lleva la frase establecida en cada pausa.
Se factura por segundo del audio que retransmites, incluido el silencio, a la tarifa horaria mostrada. La sesión se factura cuando termina.
Qwen Audio 3.1 ASR Stream transcribe un flujo de audio en vivo a través de un WebSocket en wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-stream, no a través de los endpoints HTTP. Conéctate con el id de modelo qwen-audio-3-1-asr-stream y envía tu clave de API de EmpirioLabs como cabecera Authorization: Bearer en el handshake. Añade audio PCM de 16 bits en base64 y lee los eventos de transcripción mientras la persona sigue hablando. Un navegador no puede establecer cabeceras en un WebSocket, así que abre esta conexión desde tu servidor y retransmite el audio al navegador por tu propio socket. Ambos modelos se llaman a través del mismo endpoint. Establece model en qwen-audio-3-1-asr-stream o qwen-audio-3-0-asr-stream. Consigue una clave de API en el panel de EmpirioLabs.
import asyncio, json, os, websockets
async def main():
async with websockets.connect(
"wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-stream",
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())Los dos modelos indican las mismas especificaciones principales. Las tablas de tarifas y los parámetros de abajo muestran en qué se diferencian. Las especificaciones, las tablas de tarifas y los parámetros de esta página provienen del catálogo en vivo de EmpirioLabs.
Los dos modelos se tarifican con unidades o niveles distintos, así que compara las tablas de tarifas en vivo de esta página. Siempre coinciden con lo que cobra la API.
Sí. Ambos modelos usan WEBSOCKET /v1/realtime con la misma clave de API de EmpirioLabs, así que la mayoría de las integraciones cambian con solo modificar el valor model. Revisa antes la tabla de parámetros de esta página si dependes de un parámetro específico de un modelo.
Sí. Abre cada modelo en el playground de EmpirioLabs y pulsa Start session para probarlo en tu navegador.
Consulta nuestros precios o contacta con nosotros si quieres que tu propio modelo se implemente en nuestra pila.