Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Eventos del lado del servidor de Qwen-Audio-TTS

Última actualización: Oct 21, 2026

task-started

Después de que el cliente envía el comando run-task, el servidor devuelve un evento task-started para indicar que la tarea ha comenzado. El cliente solo puede enviar comandos subsiguientes después de recibir este evento.

header.task_id string

El ID de tarea generado por el cliente.

header.event string

Tipo de evento. Valor fijo: task-started.

payload object

Objeto vacío.

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-started",
    "attributes": {}
  },
  "payload": {}
}

result-generated

Después de que el cliente envía texto, el servidor devuelve continuamente eventos result-generated. Cada evento lleva metadatos a nivel de oración.

header.task_id string

El ID de tarea generado por el cliente.

header.event string

Tipo de evento. Valor fijo: result-generated.

payload.output object

Información de salida.

Propiedades

type string

Tipo de subevento. Valores válidos:

  • sentence-begin: Inicio de oración. Devuelve el texto que se va a sintetizar.
  • sentence-synthesis: Marca un cuadro de audio. Se transmite un cuadro de audio a través del canal binario de WebSocket inmediatamente después de cada evento.
  • sentence-end: Fin de oración. Devuelve el contenido de texto y la información de uso (usage).

sentence.index integer

Índice de la oración, comenzando desde 0.

sentence.words array

Matriz de marcas de tiempo a nivel de palabra.

Propiedades del elemento words

text string

Contenido de texto de la palabra.

begin_index integer

Índice de carácter inicial de la palabra dentro de la oración. Comienza en 0.

end_index integer

Índice de carácter final de la palabra dentro de la oración. Comienza en 1.

begin_time integer

Tiempo inicial del audio correspondiente a la palabra, en milisegundos.

end_time integer

Tiempo final del audio correspondiente a la palabra, en milisegundos.

original_text string

Texto de la oración tal como se segmentó para la síntesis.

payload.usage object

Uso de facturación, devuelto en el evento sentence-end.

Notaqwen-audio-3.1-tts-flash se factura por los Tokens de entrada y salida. qwen-audio-3.1-tts-plus, qwen-audio-3.0-tts-plus y qwen-audio-3.0-tts-flash se facturan por carácter.

Propiedades

input_tokens integer

Recuento de tokens de entrada para esta solicitud.

NotaAplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash.

output_tokens integer

Recuento de tokens de salida para esta solicitud.

NotaAplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash.

total_tokens integer

Suma de tokens de entrada y salida.

NotaAplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash.

characters integer

Número acumulativo de caracteres facturados.

{
  "header": {
    "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "index": 0,
        "words": []
      },
      "type": "sentence-begin",
      "original_text": "Before my bed, moonlight shines bright,"
    }
  }
}
{
    "header": {
        "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
        "event": "result-generated",
        "attributes": {}
    },
    "payload": {
        "output": {
            "sentence": {
                "index": 0,
                "words": []
            },
            "type": "sentence-synthesis"
        }
    }
}
{
  "header": {
    "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "index": 0,
        "words": [
          {
            "text": "Before",
            "begin_index": 0,
            "end_index": 1,
            "begin_time": 0,
            "end_time": 263
          }
        ]
      },
      "type": "sentence-end",
      "original_text": "Before my bed, moonlight shines bright,"
    },
    "usage": {
      "characters": 6
    }
  }
}

task-finished

El servidor devuelve un evento task-finished cuando la tarea finaliza. El cliente puede entonces cerrar la conexión WebSocket o reutilizarla para iniciar una nueva tarea.

header.task_id string

El ID de tarea generado por el cliente.

header.event string

Tipo de evento. Valor fijo: task-finished.

payload.usage object

Los campos son los mismos que en uso en result-generated.

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-finished",
    "attributes": {
      "request_uuid": "0a9dba9e-d3a6-45a4-be6d-xxxxxxxxxxxx"
    }
  },
  "payload": {
    "usage": {
      "characters": 13
    }
  }
}

task-failed

El servidor devuelve un evento task-failed cuando la tarea falla. Al recibir este evento, el cliente debe cerrar la conexión WebSocket y gestionar el error.

header.task_id string

El ID de tarea generado por el cliente.

header.event string

Tipo de evento. Valor fijo: task-failed.

header.error_code string

Código de error.

header.error_message string

Mensaje de error detallado.

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-failed",
    "error_code": "InvalidParameter",
    "error_message": "[tts:]Engine return error code: 418",
    "attributes": {}
  },
  "payload": {}
}