Los eventos del cliente son mensajes JSON enviados a través de una conexión WebSocket para controlar la sesión de la API en tiempo real de Qwen-TTS: configurar ajustes de voz, transmitir texto para su síntesis y señalar la finalización.
Para obtener una descripción general completa de la API, consulte Síntesis de voz en tiempo real - Qwen.
Resumen de eventos
| Evento del cliente | Respuesta del servidor | Descripción |
|---|---|---|
session.update | session.updated | Establecer la voz, el formato de audio, el modo de interacción y otros parámetros de la sesión |
input_text_buffer.append | -- | Agregar texto al búfer de síntesis |
input_text_buffer.commit | input_text_buffer.committed | Confirmar el texto en búfer para activar la síntesis |
input_text_buffer.clear | input_text_buffer.cleared | Descartar todo el texto almacenado en búfer |
session.finish | -- | Finaliza la sesión; el servidor vacía el audio restante y cierra la conexión |
session.update
Configura la sesión. Envíelo como primer mensaje después de establecer la conexión WebSocket. Si se omite, todos los parámetros utilizan los valores predeterminados. El servidor confirma con un evento session.updated.
Cuerpo de la solicitud
{
"event_id": "event_123",
"type": "session.update",
"session": {
"voice": "Cherry",
"mode": "server_commit",
"language_type": "Chinese",
"response_format": "pcm",
"sample_rate": 24000
}
}
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
event_id | string | Sí | Identificador de evento único generado por el cliente (se recomienda UUID). Debe ser único dentro de la sesión de WebSocket. |
type | string | Sí | Establecido en session.update. |
session | object | No | Configuración de la sesión. Consulte las siguientes subsecciones. |
input_text_buffer.append
Agrega texto al búfer de síntesis.
- En el modo
server_commit, el texto se agrega al búfer del lado del servidor. - En el modo
commit, el texto se agrega al búfer del lado del cliente.
Cuerpo de la solicitud
{
"event_id": "event_B4o9RHSTWobB5OQdEHLTo",
"type": "input_text_buffer.append",
"text": "Hello, I am Qwen."
}
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
event_id | string | Sí | Identificador de evento único generado por el cliente (se recomienda UUID). Debe ser único dentro de la sesión de WebSocket. |
type | string | Sí | Establecido en input_text_buffer.append. |
text | string | Sí | El texto que se va a sintetizar. |
input_text_buffer.commit
Confirma el texto almacenado en búfer y crea un elemento de mensaje de usuario. El servidor responde con un evento input_text_buffer.committed.
Devuelve un error si el búfer está vacío.
El comportamiento varía según el modo:
- Modo
server_commit: Todo el texto almacenado en búfer se sintetiza inmediatamente. El servidor deja de almacenar en caché y procesa todo a la vez. - Modo
commit: Crea un elemento de mensaje de usuario a partir del texto almacenado en búfer.
Nota: Confirmar el búfer solo activa la síntesis; no genera una respuesta del modelo.
Cuerpo de la solicitud
{
"event_id": "event_B4o9RHSTWobB5OQdEHLTo",
"type": "input_text_buffer.commit"
}
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
event_id | string | Sí | Identificador de evento único generado por el cliente (se recomienda UUID). Debe ser único dentro de la sesión de WebSocket. |
type | string | Sí | Establecido en input_text_buffer.commit. |
input_text_buffer.clear
Borra el texto del búfer. El servidor responde con un evento input_text_buffer.cleared.
Cuerpo de la solicitud
{
"event_id": "event_2728",
"type": "input_text_buffer.clear"
}
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
event_id | string | Sí | Identificador de evento único generado por el cliente (se recomienda UUID). Debe ser único dentro de la sesión de WebSocket. |
type | string | Sí | Establecido en input_text_buffer.clear. |
session.finish
Indica que no se enviará más texto. El servidor devuelve el audio restante y cierra la conexión.
Cuerpo de la solicitud
{
"event_id": "event_2239",
"type": "session.finish"
}
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
event_id | string | Sí | Identificador de evento único generado por el cliente (se recomienda UUID). Debe ser único dentro de la sesión de WebSocket. |
type | string | Sí | Establecido en session.finish. |