Skip to main content

Qwen-Audio-ASR-Streaming サーバーイベント

Qwen-Audio-ASR-Streaming リアルタイム音声認識サービスは、WebSocket を介してサーバー側イベントをクライアントにプッシュします。このトピックでは、task-started、result-generated、task-finished、task-failed の 4 種類のイベントのデータ構造とフィールドについて説明します。

task-started

タスクが正常に開始されました。クライアントは音声データの送信を開始できます。
headerobject

プロパティ

task_idstringクライアントによって生成されたタスク ID (UUID フォーマット)。eventstringイベントタイプ。この値は常に task-started です。attributesobject追加の属性。この値は通常、空です。
payloadobjectこの値は常に {} です。
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-started",
        "attributes": {}
    },
    "payload": {}
}

result-generated

認識結果。中間結果 (sentence_end=false) と最終結果 (sentence_end=true) が含まれます。
headerobject

プロパティ

task_idstringクライアントによって生成されたタスク ID (UUID フォーマット)。eventstringイベントタイプ。この値は常に result-generated です。
payloadobject

プロパティ

outputobject

プロパティ

sentenceobject

プロパティ

begin_timeinteger文の開始時刻 (ミリ秒単位)。end_timeinteger文の終了時刻 (ミリ秒単位)。textstring認識されたテキスト。heartbeatbooleanこの値が true の場合、結果はハートビートパケットであり、無視できます。sentence_endboolean文が終了したかどうか (true = 最終結果、false = 中間結果)。sentence_idinteger文のシーケンス識別子。通常の認識結果では、sentence_id は 1 から増分します。heartbeat が true (つまり、ハートビートパケット) の場合、sentence_id は常に 0 です。wordsarray[object]単語レベルのタイムスタンプ情報。

プロパティ

begin_timeinteger単語の開始時刻 (ミリ秒単位)。end_timeinteger単語の終了時刻 (ミリ秒単位)。textstring認識されたテキスト。punctuationstring句読点。
usageobject現在のタスクの累積使用量。

プロパティ

input_tokensinteger累積入力トークン数。
適用モデル: qwen-audio-3.1-asr-flash-streaming。
output_tokensinteger累積出力トークン数。
適用モデル: qwen-audio-3.1-asr-flash-streaming。
total_tokensinteger入力と出力のトークン数を合計した累積トークン数。
適用モデル: qwen-audio-3.1-asr-flash-streaming。
durationinteger累積音声時間(秒)。
qwen-audio-3.0-asr-flash-streaming の課金に使用します。
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "sentence_id": 1,
        "begin_time": 160,
        "end_time": 1640,
        "text": "欢迎使用阿里云。",
        "channel_id": 0,
        "speaker_id": null,
        "sentence_end": true,
        "words": [
          {
            "begin_time": 160,
            "end_time": 520,
            "text": "欢迎",
            "punctuation": "",
            "fixed": true,
            "speaker_id": null
          },
          {
            "begin_time": 520,
            "end_time": 880,
            "text": "使用",
            "punctuation": "",
            "fixed": true,
            "speaker_id": null
          },
          {
            "begin_time": 880,
            "end_time": 1640,
            "text": "阿里云",
            "punctuation": "。",
            "fixed": true,
            "speaker_id": null
          }
        ],
        "stash": {
          "sentence_id": 2,
          "text": "",
          "begin_time": 1640,
          "current_time": 1640,
          "words": []
        }
      },
      "text": "欢迎使用阿里云。",
      "request_id": "95372ce8e6704bcc8747da94789c15ca",
      "output": {
        "sentence": {
          "sentence_id": 1,
          "begin_time": 160,
          "end_time": 1640,
          "text": "欢迎使用阿里云。",
          "channel_id": 0,
          "speaker_id": null,
          "sentence_end": true,
          "words": [
            {
              "begin_time": 160,
              "end_time": 520,
              "text": "欢迎",
              "punctuation": "",
              "fixed": true,
              "speaker_id": null
            },
            {
              "begin_time": 520,
              "end_time": 880,
              "text": "使用",
              "punctuation": "",
              "fixed": true,
              "speaker_id": null
            },
            {
              "begin_time": 880,
              "end_time": 1640,
              "text": "阿里云",
              "punctuation": "。",
              "fixed": true,
              "speaker_id": null
            }
          ],
          "stash": {
            "sentence_id": 2,
            "text": "",
            "begin_time": 1640,
            "current_time": 1640,
            "words": []
          }
        },
        "text": "欢迎使用阿里云。",
        "request_id": "95372ce8e6704bcc8747da94789c15ca"
      },
      "usage": {
        "duration": 2,
        "input_tokens": 85,
        "output_tokens": 4,
        "total_tokens": 89
      }
    },
    "usage": {
      "duration": 2,
      "input_tokens": 85,
      "output_tokens": 4,
      "total_tokens": 89
    }
  }
}

task-finished

タスクは正常に終了しました。接続を閉じるか、再利用できます。
headerobject

プロパティ

task_idstringクライアントによって生成されたタスク ID (UUID フォーマット)。eventstringイベントタイプ。この値は常に task-finished です。attributesobject追加の属性。この値は通常、空です。
payload.usageobjectタスク終了時の累積使用量。各フィールドの意味は result-generated.usageと同じです。
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-finished",
    "attributes": {}
  },
  "payload": {
    "output": {},
    "usage": {
      "duration": 9,
      "input_tokens": 365,
      "output_tokens": 12,
      "total_tokens": 377
    }
  }
}

task-failed

タスクは失敗しました。接続は閉じられ、再利用できません。
headerobject

プロパティ

task_idstringクライアントによって生成されたタスク ID (UUID フォーマット)。eventstringイベントタイプ。この値は常に task-failed です。error_codestringエラータイプの詳細。error_messagestringエラーの具体的な原因。attributesobject追加の属性。この値は通常、空です。
payloadobjectこの値は常に {} です。
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-failed",
        "error_code": "CLIENT_ERROR",
        "error_message": "request timeout after 23 seconds.",
        "attributes": {}
    },
    "payload": {}
}