Skip to main content
Realtime

Qwen-TTS server events

WebSocket server reference

The server sends these events over the WebSocket connection.

error

Sent when a client-side or server-side error occurs.
Example
{
  "event_id": "event_QzAVZRVa9hKqM5VOaHunh",
  "type": "error",
  "error": {
    "code": "invalid_value",
    "message": "Session update error: session already started or finished or failed."
  }
}
string
body
Event ID.
string
body
Always error.
object
body
Error details.

session.created

Sent immediately after the client connects. Contains the default session configuration.
Example
{
  "event_id": "event_xxx",
  "type": "session.created",
  "session": {
    "object": "realtime.session",
    "mode": "server_commit",
    "model": "qwen-tts-realtime",
    "voice": "Cherry",
    "response_format": "pcm",
    "sample_rate": 24000,
    "id": "sess_xxx"
  }
}
string
body
Event ID.
string
body
Always session.created.
object
body
Session configuration.

session.updated

Sent after the server processes a session.update request. On error, the server sends an error event instead.
Example
{
  "event_id": "event_xxx",
  "type": "session.updated",
  "session": {
    "id": "sess_xxx",
    "object": "realtime.session",
    "model": "qwen-tts-realtime",
    "voice": "Cherry",
    "language_type": "Chinese",
    "mode": "commit",
    "response_format": "pcm",
    "sample_rate": 24000
  }
}
string
body
Event ID.
string
body
Always session.updated.
object
body
Session configuration.

input_text_buffer.committed

Sent after the server receives an input_text_buffer.commit event.
Example
{
  "event_id": "event_FC6MA88wS2oEeXkPvWsxX",
  "type": "input_text_buffer.committed",
  "item_id": ""
}
string
body
Event ID.
string
body
Always input_text_buffer.committed.
string
body
ID of the user message item to create.

input_text_buffer.cleared

Sent after the server receives an input_text_buffer.clear event.
Example
{
  "event_id": "event_1122",
  "type": "input_text_buffer.cleared"
}
string
body
Event ID.
string
body
Always input_text_buffer.cleared.

response.created

Sent after the server receives an input_text_buffer.commit event.
Example
{
  "event_id": "event_IMnLqDvG6Ahhk7sWV2uOs",
  "type": "response.created",
  "response": {
    "id": "resp_USvBwHktHcz76r6GaIJUV",
    "object": "realtime.response",
    "conversation_id": "",
    "status": "in_progress",
    "voice": "Cherry",
    "output": []
  }
}
string
body
Event ID.
string
body
Always response.created.
object
body
Response details.

response.output_item.added

Sent when a new output item is ready.
Example
{
  "event_id": "event_INDGnGNulaXCrStd9ZM5X",
  "type": "response.output_item.added",
  "response_id": "resp_USvBwHktHcz76r6GaIJUV",
  "output_index": 0,
  "item": {
    "id": "item_FIrYGaNVK3rbIZqeY4QjM",
    "object": "realtime.item",
    "type": "message",
    "status": "in_progress",
    "role": "assistant",
    "content": []
  }
}
string
body
Event ID.
string
body
Always response.output_item.added.
string
body
Response ID.
integer
body
Response output item index. Always 0.
object
body
Output item details.

response.content_part.added

Sent when a new content part is ready.
Example
{
  "event_id": "event_DigZ95MWN36YYyyjcENoq",
  "type": "response.content_part.added",
  "response_id": "resp_USvBwHktHcz76r6GaIJUV",
  "item_id": "item_FIrYGaNVK3rbIZqeY4QjM",
  "output_index": 0,
  "content_index": 0,
  "part": {
    "type": "audio",
    "text": ""
  }
}
string
body
Event ID.
string
body
Always response.content_part.added.
string
body
Response ID.
string
body
Message item ID.
integer
body
Response output item index. Always 0.
integer
body
Content part index. Always 0.
object
body
Completed content part.

response.audio.delta

Sent when the model generates an audio chunk.
Example
{
  "event_id": "event_B1osWMZBtrEQbiIwW0qHQ",
  "type": "response.audio.delta",
  "response_id": "resp_B1osWTzBb8hO0WsELHgVP",
  "item_id": "item_B1osWH81fXDoyim1T5fsF",
  "output_index": 0,
  "content_index": 0,
  "delta": "base64 audio"
}
string
body
Event ID.
string
body
Always response.audio.delta.
string
body
Response ID.
string
body
Message item ID.
integer
body
Response output item index. Always 0.
integer
body
Content part index. Always 0.
string
body
Base64-encoded audio data chunk.

response.content_part.done

Sent when a content part is complete.
Example
{
  "event_id": "event_Vo2YUjlYQJ4colH8nVzkU",
  "type": "response.content_part.done",
  "response_id": "resp_USvBwHktHcz76r6GaIJUV",
  "item_id": "item_FIrYGaNVK3rbIZqeY4QjM",
  "output_index": 0,
  "content_index": 0,
  "part": {
    "type": "audio",
    "text": ""
  }
}
string
body
Event ID.
string
body
Always response.content_part.done.
string
body
Response ID.
string
body
Message item ID.
integer
body
Response output item index. Always 0.
integer
body
Content part index. Always 0.
object
body
Completed content part.

response.output_item.done

Sent when an output item is complete.
Example
{
  "event_id": "event_LO6SJRKIQ9NBayyYB8a1A",
  "type": "response.output_item.done",
  "response_id": "resp_USvBwHktHcz76r6GaIJUV",
  "output_index": 0,
  "item": {
    "id": "item_FIrYGaNVK3rbIZqeY4QjM",
    "object": "realtime.item",
    "type": "message",
    "status": "completed",
    "role": "assistant",
    "content": [
      {
        "type": "audio",
        "text": ""
      }
    ]
  }
}
string
body
Event ID.
string
body
Always response.output_item.done.
string
body
Response ID.
integer
body
Response output item index. Always 0.
object
body
Output item details.

response.audio.done

Sent when audio generation is complete.
Example
{
  "event_id": "event_LZaOHPzXYMUXGBcVkBmKX",
  "type": "response.audio.done",
  "response_id": "resp_USvBwHktHcz76r6GaIJUV",
  "item_id": "item_FIrYGaNVK3rbIZqeY4QjM",
  "output_index": 0,
  "content_index": 0
}
string
body
Event ID.
string
body
Always response.audio.done.
string
body
Response ID.
string
body
Message item ID.
integer
body
Response output item index. Always 0.
integer
body
Content part index. Always 0.

response.done

Sent when response generation is complete. The response object includes all output items but excludes raw audio data already sent.
  • Qwen3-TTS Realtime
  • Qwen-TTS Realtime
Example
{
  "event_id": "event_Aemy83XqHFFDDSeJIDn6N",
  "type": "response.done",
  "response": {
    "id": "resp_LFeR42yXZ9SxUAeXjmyTz",
    "object": "realtime.response",
    "conversation_id": "",
    "status": "completed",
    "modalities": [
      "text",
      "audio"
    ],
    "voice": "Cherry",
    "output": [
      {
        "id": "item_Ae1lv2XmRljRSG96L8Zm1",
        "object": "realtime.item",
        "type": "message",
        "status": "completed",
        "role": "assistant",
        "content": [
          {
            "type": "audio",
            "transcript": ""
          }
        ]
      }
    ],
    "usage": {
      "characters": 25
    }
  }
}
string
body
Event ID.
string
body
Always response.done.
string
body
Response ID.
object
body
Response details.

session.finished

Sent when all responses have been generated.
Example
{
  "event_id": "event_2239",
  "type": "session.finished"
}
string
body
Event ID.
string
body
Always session.finished.
Qwen-TTS server events | Qwen Cloud