
Transcripción en directo por un socket, transmitiendo palabras parciales mientras el hablante habla y una frase establecida en cada pausa, a precio por hora de audio.
Transcripción en directo por un socket, transmitiendo palabras parciales mientras el hablante habla y una frase establecida en cada pausa, a precio por hora de audio.
Transmite audio pcm16 a 16 kHz por el socket. Llegan resultados parciales mientras el hablante está hablando. Establece el idioma, una indicación y la pausa que termina una frase en sesión.update.
También conocido como Qwen Audio ASR Stream, Alibaba Cloud Qwen Audio 3.0 ASR Stream
qwen-audio-3-0-asr-stream/v1/realtimeqwen-audio-3.0-asr-streamalibaba/qwen-audio-3-0-asr-streamTarifas de pago por uso en vivo del catálogo de EmpirioLabs. Solo pagas por lo que usas, sin mínimo mensual.
Qwen Audio 3.0 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-0-asr-stream, no a través de los endpoints HTTP. Conéctate con el id de modelo qwen-audio-3-0-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. 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-0-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())Parámetros de solicitud compatibles con la API de Qwen Audio 3.0 ASR Stream en EmpirioLabs. Los valores por defecto se aplican cuando se omite un campo.
| Parámetro | Tipo | Predeterminado | Rango / valores | Descripción |
|---|---|---|---|---|
| input_audio_format | enum | pcm16 | pcm16 | Codificación del audio que añades al búfer de entrada: PCM base64 de 16 bits, mono, a 16 kHz. |
| language | enum | auto | auto, zh, en, ja, ko, vi, th, id, ms, tl, hi, ar, fr, de, es,... | Lenguaje del habla, o auto para detectarlo en el audio. Configúralo con el parámetro de consulta de lenguaje de la URL de conexión, o como... |
| prompt | string | - | - | Texto que guía el reconocimiento, hasta 400 caracteres: los nombres y términos que utiliza el hablante, o el texto hablado justo antes de este audio. Escribe las... |
| silence_duration_ms | integer | 800 | 200 a 6000 | La pausa, en milisegundos, que termina una frase, de 200 a 6000. Una pausa más corta resuelve cada frase antes; una más larga mantiene una pausa dentro de una frase.... |
| threshold | number | - | 0 a 1 | Qué tan clara debe ser la voz antes de transcribirse, de 0,0 a 1,0. Un valor más alto ignora más ruido de fondo y puede perder el habla baja. Cuando se omite, se... |
| noise_reduction | enum | far_field | far_field, near_field | El micrófono para el que está ajustada la detección de voz: near_field para un auricular o un teléfono cerca, far_field para un portátil o micrófono de habitación.... |
| keep_dialect | boolean | false | - | Mantiene las palabras del dialecto chino tal como se hablan. Cuando está apagado, el habla dialectal se escribe en mandarín estándar. |
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.
En EmpirioLabs, Qwen Audio 3.0 ASR Stream se factura por uso: Transcripción $0.648 por hora de audio. La tabla de tarifas en vivo de esta página siempre coincide con lo que cobra la API.
Qwen Audio 3.0 ASR Stream se sirve a través de WEBSOCKET /v1/realtime en api.empiriolabs.ai con autenticación estándar de token Bearer.
Abre el playground de EmpirioLabs y pulsa Start session para probarlo en tu navegador. Qwen Audio 3.0 ASR Stream funciona sobre un WebSocket en lugar de una petición y una respuesta, así que para integrarlo empieza por la guía rápida de voz en tiempo real. Conéctate desde tu servidor con tu clave de API de EmpirioLabs y el id de modelo qwen-audio-3-0-asr-stream, y luego transmite audio en ambos sentidos.
Crea una cuenta de EmpirioLabs y genera una clave en API Keys en el panel. La facturación es con créditos de pago por uso, así que solo pagas por las solicitudes que haces.
Consulta nuestros precios o contacta con nosotros si quieres que tu propio modelo se implemente en nuestra pila.