Dos nuevos modelos de voz de Alibaba están en directo en EmpirioLabs, y ambos son conversaciones más que solicitudes. Abres un WebSocket, subes el audio del micrófono en streaming y el audio vuelve mientras el altavoz sigue hablando.
Qwen3.8 Omni Flash en Tiempo Real es el que también puede ver. Junto con el audio que ya envías, puedes empujar fotogramas de vídeo en directo, y responderá preguntas sobre lo que aparece en pantalla en el mismo turno. Transmite 56 voces y llama a tus funciones en medio de una conversación.
Qwen Audio 3.1 Realtime Plus es el que puede buscar cosas. Tiene búsqueda web nativa que puedes activar por sesión, 27 voces propias y un contexto de 256K.
Prueba cualquiera de las dos en el playground: Omni Flash Tiempo Real o Audio 3.1 Realtime Plus. Haz clic en Iniciar sesión y habla.
Conexión
Hay un punto final en tiempo real para cada modelo en la plataforma, y eliges el modelo con un parámetro de consulta. Autentica el handshake con la misma clave API que usas en cualquier otro sitio:
wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-omni-flash-realtime Autorización: Portador YOUR_EMPIRIOLABS_API_KEY
El protocolo sigue la forma de evento en tiempo real ampliamente utilizada, por lo que un cliente escrito según esa convención funciona sin cambios. Configura la sesión sobre el socket con session.update, añadir audio de micrófono como input_audio_buffer.append, y leer el audio de vuelta desde response.audio.delta con la transcripción correspondiente en response.audio_transcript.delta.
{"type": "session.update", "session": { "voice": "Tina", "modalities": ["text", "audio"] }}
El audio viaja en ambos sentidos como PCM de 16 bits. Estos dos modelos toman 16 kHz al subir y devuelven 24 kHz al volver. El sesión.created Si recibes en Connect los informes de los formatos de esa sesión, así que léelos allí en lugar de asumir.
Fotogramas de vídeo en Omni Flash Realtime
Los fotogramas van en su propio búfer, junto al búfer de audio:
{"tipo": "input_image_buffer.append", "imagen": "<base64 JPEG o PNG>"}
Envíalos como si fueran fotogramas de una cámara, luego pregunta qué le estás mostrando en el mismo turno hablado. Mantiene hasta 50 turnos y 240 segundos de historial de vídeo, y hasta 100 giros y 600 segundos de audio. La historia antigua se descontextualiza a medida que se superan esos límites.
Búsqueda web en Audio 3.1
La búsqueda está desactivada a menos que la pidas, y la pidas en la sesión:
{"type": "session.update", "session": {"enable_search": true}}
Con él activado, el modelo puede responder preguntas sobre cosas que ocurrieron después de entrenarlo. Se añaden resultados a la conversación, así que un turno que busca reporta un número de tokens de entrada notablemente mayor que uno que no lo hace.
Precios
Ambos modelos facturan cada uno turno completo según el uso que el modelo reporta, con tarifas separadas para tokens de audio y tokens de texto en ambas direcciones. Esa división importa: una respuesta hablada es mayormente tokens de audio, y pedir una respuesta solo de texto dejando caer audio de Modalidades Realmente cuesta menos. Las tarifas actuales viven en el Omni Flash Tiempo Real y Audio 3.1 Realtime Plus Páginas de modelos y en el página de precios, que se mantienen sincronizados con lo que se te cobra. Ninguno de los dos modelos tiene un nivel de entrada en caché, por lo que cada token de entrada factura a la tasa ordinaria.
Cosas que merece la pena saber antes de la primera sesión
- No envíes la voz que informa la sesión. Ambos modelos anuncian una voz en connect que su propio generador rechaza, lo que mata el primer turno. Si dejas la voz sin activar, la plataforma establece un valor predeterminado funcional para ese modelo, o elige uno tú mismo de la lista de voz. Las dos listas no comparten nombres, así que una voz que funciona en una no funcionará en la otra.
- La detección de actividad de voz necesita un momento de silencio para activarse. Estos modelos deciden que has dejado de hablar al oírte parar. Si tu cliente corta la transmisión de audio en el instante en que el hablante termina la última palabra, no se compromete nada y no llega ninguna respuesta, lo que parece exactamente una sesión rota. Sigue transmitiendo durante aproximadamente un segundo después de que termine el discurso.
- Los fotogramas de vídeo no son contenido de mensaje. Pasan por
input_image_buffer.append. Poner una imagen dentro de unconversación.objeto.crearContent Array es rechazado y, en algunos modelos, sale del turno sin ningún mensaje de usuario. - En Audio 3.1, la búsqueda web y la llamada de funciones son mutuamente excluyentes. Activa uno por sesión, no ambos.
- Un nuevo socket es una conversación nueva. No hay memoria del lado del servidor entre conexiones, así que un cliente que se reconecte debería reproducir el contexto que quiera que el modelo siga teniendo.
Las tablas completas de eventos, listas de voz y formatos de audio están en el API de voz en tiempo real Documentos. Ambos modelos ya están disponibles.



