Skip to main content

Qwen-Audio-TTS HTTP API

Qwen-Audio-TTS の HTTP 非リアルタイム音声合成 API。非ストリーミングと SSE の呼び出し、リクエストパラメーター、レスポンスフィールドを説明します。

エンドポイント

YOUR_WORKSPACE_ID を対象リージョンのワークスペース IDに置き換え、同じリージョンの API キーを使用します。
  • シンガポール
  • 中国(北京)
POST https://YOUR_WORKSPACE_ID.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer

リクエストヘッダー

パラメーター型必須説明
Authorizationstring必須認証トークン。形式は Bearer <your_api_key> です。
Content-Typestring必須application/json に設定します。
X-DashScope-SSEstring任意ストリーミング出力では enable に設定します。省略すると完全な結果を返します。

呼び出し例

  • 非ストリーミング
  • ストリーミング
curl -X POST "https://YOUR_WORKSPACE_ID.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "qwen-audio-3.1-tts-flash",
  "input": {
    "text": "你好,今天的天气真不错。",
    "voice": "longanhuan_v3.1",
    "format": "wav",
    "sample_rate": 24000
  }
}'
SSE イベントには複数の data: 行が含まれる場合があります。同じイベントのすべての data: 行を結合してから JSON を解析し、音声チャンクをイベント順に Base64 デコードして連結します。最終フレームは output.finish_reason=stop となり、完全な音声 URL を返します。

リクエスト本文

パラメーター型必須デフォルト説明
modelstring必須—音声合成モデルの ID。モデルとリージョンは非リアルタイム音声合成をご参照ください。
inputobject必須—入力パラメーターのオブジェクト。
input.textstring必須—合成するテキスト。SSML 入力では enable_ssml=true を設定します。LaTeX 入力は追加設定が不要です。対応範囲、タグ、構文は SSML と LaTeXをご参照ください。
input.voicestring必須—音声 ID。システム音声は音声一覧をご参照ください。音声クローニングまたは音声デザインでカスタム音声を作成し、関連付けたターゲットモデルで合成します。
input.formatstring任意mp3音声のエンコード形式。mp3、pcm、wav、opus を指定できます。
input.sample_rateinteger任意22050音声のサンプルレート(Hz)。8000、12000、16000、22050、24000、44100、48000 を指定できます。format=opus では 8000、12000、16000、24000、48000 のみ対応します。
input.volumeinteger任意50音量。範囲:[0, 100]。
input.ratefloat任意1.0話す速さ。範囲:[0.5, 2.0]。
input.bit_rateinteger任意32音声のビットレート(kbps)。範囲:[6, 510]。format=opus の場合のみ有効です。
input.pitchfloat任意1.0ピッチ。範囲:[0.5, 2.0]。
input.enable_ssmlboolean任意—SSML を有効にするかどうか。モデル、音声、インターフェイスの制限は利用制限をご参照ください。
input.word_timestamp_enabledboolean任意false単語レベルのタイムスタンプを返すかどうか。ストリーミング出力のみ対応し、クローン音声を利用できます。対応するシステム音声は音声一覧をご参照ください。
input.seedinteger任意0乱数シード。範囲:[0, 65535]。モデルのバージョン、テキスト、音声、その他のパラメーターが同じ場合、同じ seed で同じ合成結果を再現できます。
input.language_hintsarray[string]任意—合成先の言語。配列の最初の要素のみ処理します。クローン用サンプルの元言語とは独立しています。数字、略語、記号や比較的少数の言語の発音が適切でない場合に指定します。言語コードは下記を参照し、クローンの元言語は音声クローニング APIをご参照ください。
input.instructionstring任意—方言、感情、役割などの合成表現を制御する指示。対象モデル、音声、使い方は指示による制御をご参照ください。
input.enable_aigc_tagboolean任意falseWAV、MP3、Opus 音声に不可視の AIGC 識別情報を埋め込むかどうか。
input.aigc_propagatorstring任意Alibaba Cloud UID配布者を識別する ContentPropagator フィールド。enable_aigc_tag=true の場合のみ有効です。
input.aigc_propagate_idstring任意このリクエストの Request ID配布操作を識別する PropagateID フィールド。enable_aigc_tag=true の場合のみ有効です。
input.hot_fixobject任意—テキストの修正設定。pronunciation は指定語句の発音をカスタマイズし、replace は合成前に指定テキストを置き換えます。

言語コード

  • zh:中国語
  • en:英語
  • fr:フランス語
  • de:ドイツ語
  • ja:日本語
  • ko:韓国語
  • ru:ロシア語
  • pt:ポルトガル語
  • th:タイ語
  • id:インドネシア語
  • vi:ベトナム語
  • es:スペイン語
  • it:イタリア語
  • ms:マレー語
  • fil:フィリピン語
  • ar:アラビア語
  • other:その他の言語(qwen-audio-3.1-tts-flash でサポート) ブルガリア語、オランダ語、ハンガリー語、ルーマニア語、デンマーク語、クロアチア語、ギリシャ語、チェコ語、ノルウェー語、スウェーデン語、ヒンディー語、スロバキア語、フィンランド語、ウルドゥー語、セルビア語、スペイン語 (メキシコ)、リトアニア語、ラトビア語、トルコ語、ペルシア語、ヘブライ語、モンゴル語、スロベニア語、アゼルバイジャン語、ポーランド語、カタロニア語、クメール語、ポルトガル語 (ブラジル)、ラオ語、ジョージア語、アフリカーンス語、ネパール語、ベラルーシ語、マラヤーラム語、ルクセンブルク語、アルバニア語、タミル語、シンハラ語、テルグ語、エストニア語、セブアノ語、ボスニア語、ミャンマー語、アルメニア語、ラテン語、アイスランド語、マルタ語、スワヒリ語、カザフ語、セーシェル・クレオール語、ウクライナ語。
テキスト修正の設定例:
{
  "hot_fix": {
    "pronunciation": [
      {
        "天气": "tian1 qi4"
      }
    ],
    "replace": [
      {
        "今天": "金天"
      }
    ]
  }
}

レスポンス本文

パラメーター型説明
request_idstringリクエストの一意の識別子。
outputobjectモデルの出力。
output.finish_reasonstring停止理由。null は合成中、stop は合成完了を示します。
output.typestringストリーミング出力のみ返します。sentence-begin は文の開始、sentence-synthesis は音声チャンクを示し、1 文に複数含まれる場合があります。sentence-end は文の終了と使用量を示します。音声チャンクとデータフレームは 1 対 1 で対応し、同じファイルに順番に追加します。
output.original_textstring入力テキストを分割した文の内容。最後の文では省略される場合があります。
output.sentenceobject文の情報。
output.sentence.indexinteger文のインデックス。0 から始まります。
output.sentence.wordsarray文中の単語とタイムスタンプ情報。
output.sentence.words[].textstring単語または文字。
output.sentence.words[].begin_indexinteger文中の開始位置。0 から始まります。
output.sentence.words[].end_indexinteger文中の終了位置。1 から始まります。
output.sentence.words[].begin_timeinteger単語に対応する音声の開始タイムスタンプ(ミリ秒)。
output.sentence.words[].end_timeinteger単語に対応する音声の終了タイムスタンプ(ミリ秒)。
output.audioobject合成された音声。
output.audio.datastringストリーミング出力の Base64 音声チャンク。非ストリーミングでは空です。
output.audio.urlstring完全な音声ファイルの URL。24 時間有効です。
output.audio.idstring合成音声の識別子。
output.audio.expires_atintegerurl の有効期限のタイムスタンプ。
usageobject使用量情報。
qwen-audio-3.1-tts-flash は入力および出力の Token 数に基づいて課金されます。qwen-audio-3.1-tts-plus、qwen-audio-3.0-tts-plus、qwen-audio-3.0-tts-flash は文字数に基づいて課金されます。
usage.input_tokensinteger入力トークン数。qwen-audio-3.1-tts-plus、qwen-audio-3.1-tts-flash のみ対象です。
usage.output_tokensinteger出力トークン数。qwen-audio-3.1-tts-plus、qwen-audio-3.1-tts-flash のみ対象です。
usage.total_tokensinteger入力と出力のトークン数の合計。qwen-audio-3.1-tts-plus、qwen-audio-3.1-tts-flash のみ対象です。
usage.charactersinteger累計課金対象文字数。
  • 非ストリーミング
  • ストリーミング
{
  "output": {
    "audio": {
      "data": "",
      "id": "audio_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "expires_at": 1792079569,
      "url": "https://example.com/output.wav"
    },
    "finish_reason": "stop"
  },
  "usage": {
    "input_tokens": 12,
    "output_tokens": 30,
    "total_tokens": 42,
    "characters": 22
  },
  "request_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}