All Products
Search
Document Center

Alibaba Cloud Model Studio:Qwen-Audio-3.0-ASR-Flash-Streaming/Fun-ASR-Realtime real-time speech recognition server-side events

Last Updated:Aug 26, 2026

The Qwen-Audio-3.0-ASR-Flash-Streaming/Fun-ASR-Realtime real-time speech recognition service pushes server-side events to the client over WebSocket. This topic describes the data structures and field descriptions of the four event types: task-started, result-generated, task-finished, and task-failed.

User guide: For model descriptions and selection guidance, see Speech-to-text.

Event interaction flow: To understand the event interaction sequence, see WebSocket API.

task-started

Description: The task has started successfully. The client can begin sending audio data.

headerobject

Properties

task_idstring

The task ID generated by the client (in UUID format).

eventstring

The event type. This value is always task-started.

attributesobject

Additional attributes. This value is usually empty.

payloadobject

This value is always {}.

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

result-generated

Description: The recognition result. It includes intermediate results (sentence_end=false) and final results (sentence_end=true). The first intermediate result for a new sentence includes sentence_begin=true.

headerobject

Properties

task_idstring

The task ID generated by the client (in UUID format).

eventstring

The event type. This value is always result-generated.

payloadobject

Properties

outputobject

Properties

usageobject

When payload.output.sentence.sentence_end is false (the current sentence has not ended), usage is null.

When payload.output.sentence.sentence_end is true (the current sentence has ended), usage.duration is the billed duration of the current task.

Properties

durationinteger

The billed task duration, in seconds.

Properties

sentenceobject

Properties

begin_timeinteger

The start time of the sentence, in milliseconds.

end_timeinteger

The end time of the sentence, in milliseconds.

textstring

The recognized text.

heartbeatboolean

If this value is true, the result is a heartbeat packet and can be ignored.

sentence_beginboolean

Indicates the start of a sentence.

sentence_endboolean

Whether the sentence has ended (true = final result, false = intermediate result).

sentence_idinteger

The sequence identifier of the sentence. In normal recognition results, sentence_id increments from 1. When heartbeat is true (that is, a heartbeat packet), sentence_id is always 0.

wordsarray[object]

Word-level timestamp information.

Properties

begin_timeinteger

The start time of the word, in milliseconds.

end_timeinteger

The end time of the word, in milliseconds.

textstring

The recognized text.

punctuationstring

The punctuation mark.

Sentence-start result:
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "begin_time": 0,
        "end_time": null,
        "text": "",
        "sentence_begin": true,
        "sentence_end": false,
        "sentence_id": 1,
        "words": []
      }
    },
    "usage": null
  }
}
Final result:
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "begin_time": 170,
        "end_time": 920,
        "text": "OK, got it.",
        "heartbeat": false,
        "sentence_end": true,
        "sentence_id": 1,
        "words": [
          {
            "begin_time": 170,
            "end_time": 295,
            "text": "OK",
            "punctuation": ","
          },
          {
            "begin_time": 295,
            "end_time": 503,
            "text": "got",
            "punctuation": ""
          },
          {
            "begin_time": 503,
            "end_time": 711,
            "text": "it",
            "punctuation": ""
          },
          {
            "begin_time": 711,
            "end_time": 920,
            "text": "",
            "punctuation": "."
          }
        ]
      }
    },
    "usage": {
      "duration": 3
    }
  }
}

task-finished

Description: The task has ended normally. You can close the connection or reuse it.

headerobject

Properties

task_idstring

The task ID generated by the client (in UUID format).

eventstring

The event type. This value is always task-finished.

attributesobject

Additional attributes. This value is usually empty.

payloadobject

You can ignore this field. This value is usually {}.

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

task-failed

Description: The task has failed. The connection is closed and cannot be reused.

headerobject

Properties

task_idstring

The task ID generated by the client (in UUID format).

eventstring

The event type. This value is always task-failed.

error_codestring

A description of the error type.

error_messagestring

The specific cause of the error.

attributesobject

Additional attributes. This value is usually empty.

payloadobject

This value is always {}.

{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-failed",
        "error_code": "CLIENT_ERROR",
        "error_message": "request timeout after 23 seconds.",
        "attributes": {}
    },
    "payload": {}
}