Skip to content

time speech synthesis API reference-CosyVoice server-side events

User guide: For model introduction and selection recommendations, see Speech synthesis.

task-started

After the client sends the run-task command, the server returns a task-started event to signal that the task has started. The client can send subsequent commands only after receiving this event. **header.task_id ***string*The task ID generated by the client.

json
{
 "header": {
 "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
 "event": "task-started",
 "attributes": {}
 },
 "payload": {}
}
   **header.event **`*string*`Event type. Fixed value: `task-started`.   **payload **`*object*`Empty object.

result-generated

After the client sends text, the server continuously returns result-generated events. Each event carries sentence-level metadata. **header.task_id ***string*The task ID generated by the client.

## sentence-begin

json
{
 "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,"
 }
 }
}

## sentence-synthesis

json
{
 "header": {
 "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
 "event": "result-generated",
 "attributes": {}
 },
 "payload": {
 "output": {
 "sentence": {
 "index": 0,
 "words": \[\]
 },
 "type": "sentence-synthesis"
 }
 }
}

## sentence-end

json
{
 "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
 }
 }
}
   **header.event **`*string*`Event type. Fixed value: `result-generated`.   **payload.output **`*object*`Output information.

Properties

**type ***string* Sub-event type. Valid values:

  • sentence-begin: Sentence start. Returns the text to be synthesized.
  • sentence-synthesis: Marks an audio frame. One audio frame is transmitted over the WebSocket binary channel immediately after each event.
  • sentence-end: Sentence end. Returns the text content and cumulative character count.

**sentence.index ***integer* Sentence index, starting from 0.

**sentence.words ***array* Word-level timestamp array. words element properties

**text ***string* Text content of the word.

**begin_index ***integer* Start character index of the word within the sentence. Starts at 0.

**end_index ***integer* End character index of the word within the sentence. Starts at 1.

**begin_time ***integer* Start time of the word's corresponding audio, in milliseconds.

**end_time ***integer* End time of the word's corresponding audio, in milliseconds.

**original_text ***string* Text of the sentence as segmented for synthesis.

**payload.usage ***object*Billing information, returned in the sentence-end event. Properties

**characters **integer Cumulative number of billed characters.

task-finished

The server returns a task-finished event when the task completes. The client can then close the WebSocket connection or reuse it to start a new task. **header.task_id ***string*The task ID generated by the client.

json
{
 "header": {
 "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
 "event": "task-finished",
 "attributes": {
 "request_uuid": "0a9dba9e-d3a6-45a4-be6d-xxxxxxxxxxxx"
 }
 },
 "payload": {
 "usage": {
 "characters": 13
 }
 }
}
   **header.event **`*string*`Event type. Fixed value: `task-finished`.   **payload.usage.characters **`*integer*`Cumulative number of billed characters.

task-failed

The server returns a task-failed event when the task fails. On receiving this event, the client must close the WebSocket connection and handle the error. **header.task_id ***string*The task ID generated by the client.

json
{
 "header": {
 "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
 "event": "task-failed",
 "error_code": "InvalidParameter",
 "error_message": "\[tts:\]Engine return error code: 418",
 "attributes": {}
 },
 "payload": {}
}
   **header.event **`*string*`Event type. Fixed value: `task-failed`.   **header.error_code **`*string*`Error code.   **header.error_message **`*string*`Detailed error message.

Mirror of Alibaba Cloud Model Studio docs for reference and RAG. Not affiliated with Alibaba Cloud.