すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:クライアントイベント

最終更新日:Sep 02, 2026

このトピックでは、qwen3.5-livetranslate-flash-realtime API のクライアントイベントについて説明します。

リファレンス:リアルタイム音声・映像翻訳 - Qwen

session.update

WebSocket 接続を確立した後、デフォルトのセッション構成を更新するには、このイベントを送信します。サーバーはパラメーターを検証し、無効な場合はエラーを返し、有効な場合は更新後の構成を返します。

typestring(必須)

イベントタイプ。必ず session.update に設定してください。

sessionobject(任意)

セッション構成。

プロパティ

modalitiesarray(任意)

出力モダリティ。有効値:

  • ["text"]

    テキストのみを出力します。

  • ["text","audio"] (デフォルト)

    テキストとオーディオを出力します。

voicestring(任意)

生成されるオーディオの音声。音声クローニングが無効の場合、システムプリセット音声のいずれかを指定します。有効値:サポートされている音声。デフォルト値:Qwen3.5-LiveTranslate-Flash-Realtime の場合は Tina、Qwen3-LiveTranslate-Flash-Realtime の場合は Cherry です。

enable_voice_clonetrue の場合、voice の値は frequency 設定に依存します。frequencyonce または always の場合、default に設定してください。frequencynever の場合、以前にクローニングした音声 ID を設定してください。この場合にシステムプリセット音声を使用すると、サーバーエラーが発生します。

enable_voice_cloneboolean(任意)

音声クローニングを有効にするかどうかを指定します。デフォルト値:false。有効にすると、モデルは入力音声から話者の音声をクローニングして翻訳出力に使用します。この場合、voice にはシステムプリセット音声を指定できず、default またはVoice Clone API で以前に作成した音声 ID を指定する必要があります。

voice_clone_optionsobject(任意)

音声クローニングの制御オプション。enable_voice_clonetrue の場合にのみ有効になります。

プロパティ

voice_clone_options.frequencystring(任意)

音声クローニングの頻度。有効値:

  • never

    サーバー側での音声クローニングを無効にし、以前にクローニングした音声を使用します。voice にクローニング済みの音声 ID を設定してください。

  • once

    セッション開始時に一度だけ音声をクローニングし、以降のすべての出力で再利用します。単一話者シナリオに適しています。voicedefault に設定してください。

  • always

    各出力の直前にリアルタイムで音声を再クローニングし、入力音声に動的に適応します。複数話者シナリオに適しています。voicedefault に設定してください。

sample_rateinteger(任意)

入力音声のサンプルレート(Hz 単位)。有効値:

  • 8000
  • 16000 (デフォルト)

input_audio_transcriptionobject(任意)

入力音声の構成。

プロパティ

modelstring(任意)

音声認識モデル。設定すると、サーバーは認識結果(元のソース言語テキスト)と翻訳の両方を conversation.item.input_audio_transcription.text イベントおよび conversation.item.input_audio_transcription.completed イベントで返します。

有効値:qwen3-asr-flash-realtime

languagestring(任意)

翻訳のソース言語。有効値:サポートされている言語。指定しない場合、モデルが自動的にソース言語を検出します。

input_audio_formatstring(任意)

入力音声フォーマット。有効値:

  • pcm (デフォルト)

    非圧縮の生音声データ。

  • opus

    低遅延をサポートする可変長圧縮音声コーデック。VoIP シナリオに適しています。

output_audio_formatstring(任意)

出力音声フォーマット。現在、このパラメーターは pcm のみに設定できます。

turn_detectionobject(任意)

音声アクティビティ検出(VAD)の構成。音声の開始および終了の検出方法を制御するために使用されます。

  • 構成オブジェクトに設定(デフォルト):VAD モードを有効にします。サーバーが自動的に音声の開始および終了を検出し、オーディオバッファーをコミットして翻訳応答をトリガーします。クライアントは input_audio_buffer.commit イベントを送信する必要はありません。
  • null に設定:マニュアルモードを有効にします。クライアントが input_audio_buffer.commit イベントを送信してオーディオバッファーを手動でコミットします。サーバーはコミットを受信すると自動的に翻訳応答の生成を開始します。

プロパティ

typestring(任意)

VAD タイプ。必ず server_vad に設定してください。

thresholdfloat(任意)

VAD 検出の感度。値が低いほど、微弱な音(バックグラウンドノイズを含む)も音声として認識されやすくなります。値が高いほど、より明瞭で大きな音声が必要になります。

値の範囲:[-1.0, 1.0]。デフォルト値:0.2。

silence_duration_msinteger(任意)

音声終了後に必要な最小サイレンス持続時間(ミリ秒単位)。この持続時間が超過すると、サーバーは音声が終了したと判断し、自動的にオーディオバッファーをコミットして翻訳応答をトリガーします。

値の範囲:[200, 6000]。デフォルト値:1000。

translationobject(任意)

翻訳構成。

プロパティ

languagestring(任意)

翻訳のターゲット言語。有効値:サポートされている言語。デフォルト値:en

same_language_skip_optionsobject(任意)

同一言語出力構成。ソース言語とターゲット言語が同じ場合、サービスはテキスト出力、オーディオ出力、またはその両方をスキップできます。このパラメーターは、translation.languagezh または en に設定されている場合にのみ有効になります。

プロパティ

skip_textboolean(任意)

ソース言語とターゲット言語が同じ場合にテキスト出力をスキップするかどうかを指定します。

skip_audioboolean(任意)

ソース言語とターゲット言語が同じ場合にオーディオ出力をスキップするかどうかを指定します。

corpusobject(任意)

特定の用語の翻訳精度を向上させるためのホットワード構成。

プロパティ

phrasesobject(任意)

ホットワードマッピング。キーはソース言語の用語、値はそのターゲット言語への翻訳です。

例:{"AI": "Artificial Intelligence"}

{
  "event_id": "event_ToPZqeobitzUJnt3QqtWg",
  "type": "session.update",
  "session": {
    "modalities": [
      "text",
      "audio"
    ],
    "voice": "Cherry",
    "sample_rate": 16000,
    "input_audio_format": "pcm",
    "output_audio_format": "pcm",
    "input_audio_transcription": {
      "model": "qwen3-asr-flash-realtime",
      "language": "zh"
    },
    "translation": {
      "language": "en",
      "corpus": {
        "phrases": {
          "人工智能": "Artificial Intelligence",
          "机器学习": "Machine Learning"
        }
      }
    }
  }
}

音声クローニングを有効にした例(frequency=once):

{
  "event_id": "event_ToPZqeobitzUJnt3QqtWg",
  "type": "session.update",
  "session": {
    "modalities": [
      "text",
      "audio"
    ],
    "voice": "default",
    "enable_voice_clone": true,
    "voice_clone_options": {
      "frequency": "once"
    },
    "sample_rate": 16000,
    "input_audio_format": "pcm",
    "output_audio_format": "pcm",
    "translation": {
      "language": "en"
    }
  }
}

ソース言語とターゲット言語の両方を英語に設定し、テキストおよびオーディオ出力をスキップする例:

{
  "event_id": "event_xxx",
  "type": "session.update",
  "session": {
    "input_audio_transcription": {
      "language": "en"
    },
    "translation": {
      "language": "en",
      "same_language_skip_options": {
        "skip_text": true,
        "skip_audio": true
      }
    }
  }
}

input_audio_buffer.append

オーディオバイトを入力オーディオバッファーに追加します。サービスはこのバッファーを使用して音声を検出し、送信タイミングを決定します。

typestring(必須)

イベントタイプ。必ず input_audio_buffer.append に設定してください。

audiostring(必須)

Base64 エンコードされたオーディオデータ。

{
    "event_id": "event_xxx",
    "type": "input_audio_buffer.append",
    "audio": "xxx"
}

input_audio_buffer.commit

入力オーディオバッファーをコミットします。このイベントはマニュアルモード(turn_detectionnull に設定されている場合)でのみ送信する必要があります。VAD モードではサーバーが自動的にコミットするため、クライアントはこのイベントを送信しません。

このイベントを受信すると、サーバーは確認として input_audio_buffer.committed イベントを返し、自動的に翻訳応答の生成を開始します(応答をトリガーするために追加のイベントは不要です)。オーディオバッファーが空の場合、サーバーはエラーイベントを返します。

typestring(必須)

イベントタイプ。必ず input_audio_buffer.commit に設定してください。

{
    "event_id": "event_xxx",
    "type": "input_audio_buffer.commit"
}

input_audio_buffer.clear

コミットされていないオーディオデータを入力オーディオバッファーからクリアします。

typestring(必須)

イベントタイプ。必ず input_audio_buffer.clear に設定してください。

{
    "event_id": "event_xxx",
    "type": "input_audio_buffer.clear"
}

input_image_buffer.append

ローカルファイルまたはリアルタイムビデオストリームから画像データを画像バッファーに追加します。

画像入力の制限事項:

  • 画像フォーマット:JPG または JPEG。最適なパフォーマンスを得るための推奨解像度:480p または 720p(最大:1080p)。
  • 最大画像サイズ:Base64 エンコーディング前の 500 KB。
  • 画像データは Base64 エンコードされている必要があります。
  • 最大送信頻度:1 秒あたり 2 枚。
  • input_image_buffer.append を送信する前に、少なくとも 1 回は input_audio_buffer.append イベントを送信する必要があります。

typestring(必須)

イベントタイプ。必ず input_image_buffer.append に設定してください。

imagestring(必須)

Base64 エンコードされた画像データ。

{
    "event_id": "event_xxx",
    "type": "input_image_buffer.append",
    "image": "xxx"
}

session.finish

現在のセッションを終了するには、このイベントを送信します。サーバーの応答:

クライアントは session.finished を受信した後、切断する必要があります。

typestring(必須)

イベントタイプ。必ず session.finish に設定してください。

{
    "event_id": "event_xxx",
    "type": "session.finish"
}