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

Alibaba Cloud Model Studio:Qwen-TTS リアルタイム音声合成の WebSocket API

最終更新日:Jul 08, 2026

WebSocket を使用して Qwen-TTS リアルタイム音声合成サービスに接続します。本ドキュメントでは、サービスエンドポイント、リクエストヘッダー、インタラクションフローについて説明します。

モデルの概要と選択ガイドについては、「リアルタイム音声合成」をご参照ください。

Qwen-TTS Realtime API は WebSocket プロトコルを使用します。Java および Python アプリケーションは、DashScope SDK を使用することで WebSocket 処理をスキップできます。その他の言語では、WebSocket ライブラリを使用して直接接続できます。

サービスエンドポイント

以下の URL を使用します。model クエリパラメーターでモデルを指定します。

Singapore

WebSocket URL:wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime

China (Beijing)

WebSocket URL:wss://dashscope.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime

重要

URL は wss:// プロトコルを使用する必要があります。Authorization ヘッダーを設定し (「リクエストヘッダー」をご参照ください)、model クエリパラメーターを使用してモデルを指定します。

リクエストヘッダー

以下のリクエストヘッダーを設定します。

パラメーター

必須

説明

Authorization

string

はい

形式:Bearer <your_api_key><your_api_key> を API キーに置き換えます。

user-agent

string

いいえ

サーバー側のソース追跡用のクライアント識別子です。

X-DashScope-WorkSpace

string

いいえ

Alibaba Cloud Model Studio の ワークスペース ID です。

重要

Authorization は WebSocket ハンドシェイク時に検証されます。API キーが無効またはない場合、ハンドシェイクは HTTP 401/403 で失敗します。

インタラクションフロー

クライアントイベントとサーバーイベントの詳細については、「クライアントイベント」および「サーバーイベント」をご参照ください。

API は 2 つのモードをサポートします。

  • ServerCommit モード:サーバーがテキストセグメンテーションと合成タイミングを自動的に決定します。

  • Commit モード:クライアントが各テキストセグメントを送信するタイミングを制御します。合成をトリガーするには、input_text_buffer.commit を明示的に呼び出す必要があります。

モードの詳細

  • ServerCommit モードでは、input_text_buffer.append を呼び出してテキストをバッファリングします。システムは合成タイミングを自動的に決定します。

  • ServerCommit モードで input_text_buffer.commit を呼び出すと、現在のバッファが即座に合成されます。その後、セッションは ServerCommit モードに戻ります。

  • Commit モードでは、input_text_buffer.append のみでは合成はトリガーされません。合成を開始するには、input_text_buffer.commit を呼び出す必要があります。

qwen-tts

主な手順:

  1. 接続:クライアントが WebSocket 接続を開きます。サーバーは準備が完了すると session.created を返します。

  2. セッション設定:クライアントは session.update を送信して、音声、フォーマット、モードを設定します。

  3. テキスト入力:クライアントは input_text_buffer.append を送信して、テキストをバッファに追加します。

  4. 合成トリガー

    • ServerCommit モードでは、合成が自動的に開始されます。クライアントは input_text_buffer.commit を呼び出して、即座に合成を強制できます。

    • Commit モードでは、input_text_buffer.commit のみが合成をトリガーします。

  5. 音声生成:サーバーは response.created を送信し、response.audio.done が送信されるまで、response.audio.delta イベントとして base64 エンコードされた音声をストリーミングします。

  6. セッションの終了:クライアントは session.finish を送信してリソースを解放します。サーバーは session.finished を返し、接続を閉じます。

接続後、サーバーは以下の session.created イベントを返します。

{
    "event_id": "event_xxx",
    "type": "session.created",
    "session": {
        "object": "realtime.session",
        "mode": "server_commit",
        "model": "qwen3-tts-flash-realtime",
        "voice": "Cherry",
        "response_format": "pcm",
        "sample_rate": 24000,
        "id": "sess_xxx"
    }
}