Este tema describe los eventos del cliente para la API de traducción de voz y audiovisual en tiempo real de Qwen, incluidos tipos de eventos, parámetros y ejemplos.
Referencia: Traducción de audio y video en tiempo real - Qwen .
Esta página es la referencia de eventos de Qwen-LiveTranslate-Realtime. Las definiciones de eventos se basan en la conexión mediante WebSocket. AOQ y WebRTC usan sus respectivos canales de datos para enviar y recibir eventos del modelo, y pistas de medios para transmitir medios. Primero consulte Conexión mediante WebSocket, Conexión mediante WebRTC o Conexión mediante AOQ.
session.update
Envíe este evento después de establecer una conexión WebSocket para actualizar la configuración predeterminada de la sesión. El servidor valida los parámetros y devuelve un error (si no son válidos) o la configuración actualizada (si son válidos).
typestring(Obligatorio)Tipo de evento. Debe establecerse en session.update.sessionobject(Opcional)La configuración de la sesión.
Propiedades output_modalities array (Opcional)Aplica a qwen3.8-livetranslate-flash-realtime. Modalidades de salida: ["text"] para solo texto o ["text", "audio"] para texto y audio (predeterminado).audioobject (Opcional)Aplica a qwen3.8-livetranslate-flash-realtime. Configuración de audio.
Propiedades input objectConfiguración de audio de entrada.
Propiedades format object (Opcional)Formato del audio de entrada.
Propiedades type string (Opcional)Formato de audio. Valores válidos: pcm (predeterminado) y opus.sample_rateinteger (Opcional)Frecuencia de muestreo del audio de entrada, en Hz. El valor predeterminado es 16000.object (Opcional)Configuración de detección de voz.
Propiedades type string (Opcional)Valores válidos: speaker_detection (predeterminado, habilita la diarización de hablantes en tiempo real) y server_vad (detección de actividad de voz).thresholdnumber (Opcional)El umbral de detección. En el modo speaker_detection, distingue el silencio del habla válida. Los sonidos por debajo del umbral se filtran y no se pasan al modelo. El valor está fijado en 0.5.array(Opcional)Aplica a qwen3.5-livetranslate-flash-realtime.Modalidades de salida. Valores válidos:
string(Opcional)Voz para el audio generado. Cuando la clonación de voz está deshabilitada, establézcala en una voz preestablecida del sistema. Valores válidos: Voces admitidas. La voz predeterminada es Tina para qwen3.8-livetranslate-flash-realtime y qwen3.5-livetranslate-flash-realtime.Cuandoenable_voice_clone boolean(Opcional)Indica si se debe activar la clonación de voz. El valor predeterminado es false. Cuando está activada, puede clonar la voz de entrada en tiempo real durante la traducción o usar una voz clonada previamente. En ese caso, voice ya no usa una voz predefinida del sistema. Establézcalo en default o en el ID de una voz que haya clonado previamente mediante la API de clonación de voz.voice_clone_optionsobject(Opcional)Opciones de control de clonación de voz. Surten efecto únicamente cuando enable_voice_clone es true.
Propiedades frequency string(Opcional)Frecuencia de clonación de voz. Valores válidos:
integer(Opcional)Aplica a qwen3.5-livetranslate-flash-realtime.Tasa de muestreo del audio de entrada, en Hz. Valores válidos:
object(Opcional)Aplica a qwen3.5-livetranslate-flash-realtime.Para qwen3.8-livetranslate-flash-realtime, ASR siempre está habilitado y no se puede deshabilitar. Las transcripciones son gratuitas.Configuración para el audio de entrada.
Propiedades model string|null(Opcional)Modelo de reconocimiento de voz. El valor predeterminado es qwen3-asr-flash-realtime; ASR está habilitado de forma predeterminada. El servidor devuelve el resultado del reconocimiento del audio de entrada (texto original en el idioma de origen) a través de los eventos conversation.item.input_audio_transcription.text y conversation.item.input_audio_transcription.completed. Para deshabilitar ASR, establezca explícitamente este parámetro en null.Valores válidos: qwen3-asr-flash-realtime (predeterminado, habilita ASR) y null (deshabilita ASR).languagestring(Opcional)Idioma de origen para la traducción. Valores válidos: Idiomas admitidos. Si no se especifica, el modelo detecta automáticamente el idioma de origen.string(Opcional)Aplica a qwen3.5-livetranslate-flash-realtime.Formato de audio de entrada. Valores válidos:
string(Opcional)Aplica a qwen3.5-livetranslate-flash-realtime.Formato de audio de salida. Actualmente, este parámetro solo puede establecerse en pcm.turn_detectionobject|null(Opcional)Aplica a qwen3.5-livetranslate-flash-realtime.Configuración de Detección de Actividad de Voz (VAD), utilizada para controlar cómo se detectan el inicio y el final del habla:
Propiedades type string(Opcional)Tipo de VAD. Debe establecerse en server_vad.thresholdfloat(Opcional)Sensibilidad de detección VAD. Un valor más bajo facilita el reconocimiento de sonidos débiles (incluido el ruido de fondo) como habla; un valor más alto requiere un habla más clara y fuerte para activar la detección.Rango de valores: [-1.0, 1.0]. Valor predeterminado: 0.2.silence_duration_msinteger(Opcional)Duración mínima de silencio (en milisegundos) requerida después de que finaliza el habla. Una vez superada esta duración, el servidor determina que el habla ha terminado, confirma automáticamente el búfer de audio y activa una respuesta de traducción.Rango de valores: [200, 6000]. Valor predeterminado: 1000.object(Opcional)Configuración de traducción.
Propiedades language string(Opcional)Idioma de destino para la traducción. Valores válidos: Idiomas admitidos. Valor predeterminado: en.same_language_skip_optionsobject(Opcional)qwen3.8-livetranslate-flash-realtime no admite este parámetro.Configuración de salida para el mismo idioma. Cuando los idiomas de origen y destino son iguales, el servicio puede omitir la salida de texto, la salida de audio o ambas. Este parámetro surte efecto únicamente cuando el idioma de destino se establece en zh o en.
Propiedades skip_text boolean(Opcional)Especifica si se debe omitir la salida de texto cuando los idiomas de origen y destino son iguales.skip_audioboolean(Opcional)Especifica si se debe omitir la salida de audio cuando los idiomas de origen y destino son iguales.object(Opcional)Configuración de palabras clave para mejorar la precisión de la traducción de términos específicos.
Propiedades phrases object(Opcional)Mapeo de palabras clave. La clave es el término en el idioma de origen y el valor es su traducción al idioma de destino.Ejemplo: {"AI": "Artificial Intelligence"} |
|
input_audio_buffer.append
Para la conexión mediante WebSocket, agrega bytes de audio al búfer de audio de entrada. El servidor usa este búfer para detectar el habla y determinar cuándo enviarlo.
typestring(Obligatorio)Tipo de evento. Debe establecerse en input_audio_buffer.append.audiostring(Obligatorio)Datos de audio codificados en Base64. |
input_audio_buffer.commit
Confirma el búfer de audio de entrada. Este evento solo necesita enviarse en modo Manual (turn_detection establecido en null). En el modo VAD, el servidor confirma automáticamente y el cliente no necesita enviar este evento.
Al recibir este evento, el servidor devuelve un evento input_audio_buffer.committed como confirmación y comienza automáticamente a generar una respuesta de traducción (no se necesita ningún evento adicional para activar la respuesta). Si el búfer de audio está vacío, el servidor devuelve un evento de error.
typestring(Obligatorio)Tipo de evento. Debe establecerse en input_audio_buffer.commit. |
input_audio_buffer.clear
Borra los datos de audio no confirmados del búfer de audio de entrada.
typestring(Obligatorio)Tipo de evento. Debe establecerse en input_audio_buffer.clear. |
input_image_buffer.append
Para la conexión mediante WebSocket, agrega datos de imagen al búfer de imágenes. Las imágenes pueden provenir de un archivo local o capturarse en tiempo real desde un flujo de video.
Límites de entrada de imagen:
- Formato de imagen: JPG o JPEG. Resolución recomendada para un rendimiento óptimo: 480p o 720p (máximo: 1080p).
- Tamaño máximo de imagen: 500 KB (antes de la codificación Base64).
- Los datos de imagen deben estar codificados en Base64.
- Frecuencia máxima: 2 imágenes por segundo.
- Envíe al menos un evento input_audio_buffer.append antes de enviar input_image_buffer.append.
typestring(Obligatorio)Tipo de evento. Debe establecerse en input_image_buffer.append.imagestring(Obligatorio)Datos de imagen codificados en Base64. |
session.finish
Envíe este evento para finalizar la sesión actual. Respuestas del servidor:
- Si se detecta habla: El servidor completa la traducción restante. Si la transcripción de audio de entrada está habilitada, devuelve la transcripción completa en el idioma de origen a través de conversation.item.input_audio_transcription.completed. Después de completar toda la traducción de audio, envía session.finished para indicar el final de la sesión.
- Si no se detecta habla: El servidor envía session.finished directamente.
session.finished, si se requiere reproducción, el cliente debe terminar la reproducción local del audio traducido restante antes de desconectarse de forma activa.
typestring(Obligatorio)Tipo de evento. Debe establecerse en session.finish. |