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

Alibaba Cloud Model Studio:CosyVoice HTTP API

最終更新日:Oct 15, 2026

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

エンドポイント

YOUR_WORKSPACE_ID を対象リージョンのワークスペース IDに置き換え、同じリージョンの API キーを使用します。

中国(北京)

POST https://YOUR_WORKSPACE_ID.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer

リクエストヘッダー

パラメーター型必須説明

Authorization

string

必須

認証トークン。形式は Bearer <your_api_key> です。

Content-Type

string

必須

application/json に設定します。

X-DashScope-SSE

string

任意

ストリーミング出力では enable に設定します。省略すると完全な結果を返します。

呼び出し例

非ストリーミング

curl -X POST "https://YOUR_WORKSPACE_ID.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "cosyvoice-v3-flash",
  "input": {
    "text": "我家的后面有一个很大的花园。",
    "voice": "longanyang",
    "format": "wav",
    "sample_rate": 24000
  }
}'

ストリーミング

curl --no-buffer -X POST "https://YOUR_WORKSPACE_ID.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-DashScope-SSE: enable" \
  -d '{
  "model": "cosyvoice-v3-flash",
  "input": {
    "text": "我家的后面有一个很大的花园。",
    "voice": "longanyang",
    "format": "wav",
    "sample_rate": 24000
  }
}'

注記SSE イベントには複数の data: 行が含まれる場合があります。同じイベントのすべての data: 行を結合してから JSON を解析し、音声チャンクをイベント順に Base64 デコードして連結します。最終フレームは output.finish_reason=stop となり、完全な音声 URL を返します。

リクエスト本文

パラメーター型必須デフォルト説明

model

string

必須

—

音声合成モデルの ID。モデルとリージョンは非リアルタイム音声合成をご参照ください。

input

object

必須

—

入力パラメーターのオブジェクト。

input.text

string

必須

—

合成するテキスト。SSML 入力では enable_ssml=true を設定します。LaTeX 入力は追加設定が不要です。対応範囲、タグ、構文は SSML と LaTeXをご参照ください。

input.voice

string

必須

—

音声 ID。システム音声は音声一覧をご参照ください。音声クローニングまたは音声デザインでカスタム音声を作成し、関連付けたターゲットモデルで合成します。

input.format

string

任意

mp3

音声のエンコード形式。mp3、pcm、wav、opus を指定できます。

input.sample_rate

integer

任意

22050

音声のサンプルレート(Hz)。8000、12000、16000、22050、24000、44100、48000 を指定できます。format=opus では 8000、12000、16000、24000、48000 のみ対応します。

input.volume

integer

任意

50

音量。範囲:[0, 100]。

input.rate

float

任意

1.0

話す速さ。範囲:[0.5, 2.0]。

input.bit_rate

integer

任意

32

音声のビットレート(kbps)。範囲:[6, 510]。format=opus の場合のみ有効です。

input.pitch

float

任意

1.0

ピッチ。範囲:[0.5, 2.0]。

input.enable_ssml

boolean

任意

—

SSML を有効にするかどうか。モデル、音声、インターフェイスの制限は利用制限をご参照ください。

input.word_timestamp_enabled

boolean

任意

false

単語レベルのタイムスタンプを返すかどうか。ストリーミング出力のみ対応します。cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2 のクローン音声と、音声一覧で対応と記載されたシステム音声を利用できます。その他のモデルのクローン音声は非対応です。

input.seed

integer

任意

0

乱数シード。範囲:[0, 65535]。モデルのバージョン、テキスト、音声、その他のパラメーターが同じ場合、同じ seed で同じ合成結果を再現できます。

input.language_hints

array[string]

任意

—

合成先の言語。配列の最初の要素のみ処理します。クローン用サンプルの元言語とは独立しています。数字、略語、記号や比較的少数の言語の発音が適切でない場合に指定します。言語コードは下記を参照し、クローンの元言語は音声クローニング APIをご参照ください。

input.instruction

string

任意

—

方言、感情、役割などの合成表現を制御する指示。対象モデル、音声、使い方は指示による制御をご参照ください。

input.enable_aigc_tag

boolean

任意

false

WAV、MP3、Opus 音声に不可視の AIGC 識別情報を埋め込むかどうか。

cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2 のみ対応します。

input.aigc_propagator

string

任意

Alibaba Cloud UID

配布者を識別する ContentPropagator フィールド。enable_aigc_tag=true の場合のみ有効です。

cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2 のみ対応します。

input.aigc_propagate_id

string

任意

このリクエストの Request ID

配布操作を識別する PropagateID フィールド。enable_aigc_tag=true の場合のみ有効です。

cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2 のみ対応します。

input.hot_fix

object

任意

—

テキストの修正設定。pronunciation は指定語句の発音をカスタマイズし、replace は合成前に指定テキストを置き換えます。

cosyvoice-v2 は非対応です。

input.enable_markdown_filter

boolean

任意

false

合成前に Markdown 記号を除去するかどうか。cosyvoice-v3-flash のクローン音声のみ対応します。

言語コード

  • zh:中国語
  • en:英語
  • fr:フランス語
  • de:ドイツ語
  • ja:日本語
  • ko:韓国語
  • ru:ロシア語
  • pt:ポルトガル語
  • th:タイ語
  • id:インドネシア語
  • vi:ベトナム語
  • es:スペイン語
  • it:イタリア語
  • ms:マレー語
  • fil:フィリピン語
  • ar:アラビア語

テキスト修正の設定例:

{
  "hot_fix": {
    "pronunciation": [
      {
        "天气": "tian1 qi4"
      }
    ],
    "replace": [
      {
        "今天": "金天"
      }
    ]
  }
}

レスポンス本文

パラメーター型説明

request_id

string

リクエストの一意の識別子。

output

object

モデルの出力。

output.finish_reason

string

停止理由。null は合成中、stop は合成完了を示します。

output.type

string

ストリーミング出力のみ返します。sentence-begin は文の開始、sentence-synthesis は音声チャンクを示し、1 文に複数含まれる場合があります。sentence-end は文の終了と使用量を示します。音声チャンクとデータフレームは 1 対 1 で対応し、同じファイルに順番に追加します。

output.original_text

string

入力テキストを分割した文の内容。最後の文では省略される場合があります。

output.sentence

object

文の情報。

output.sentence.index

integer

文のインデックス。0 から始まります。

output.sentence.words

array

文中の単語とタイムスタンプ情報。

output.sentence.words[].text

string

単語または文字。

output.sentence.words[].begin_index

integer

文中の開始位置。0 から始まります。

output.sentence.words[].end_index

integer

文中の終了位置。1 から始まります。

output.sentence.words[].begin_time

integer

単語に対応する音声の開始タイムスタンプ(ミリ秒)。

output.sentence.words[].end_time

integer

単語に対応する音声の終了タイムスタンプ(ミリ秒)。

output.audio

object

合成された音声。

output.audio.data

string

ストリーミング出力の Base64 音声チャンク。非ストリーミングでは空です。

output.audio.url

string

完全な音声ファイルの URL。24 時間有効です。

output.audio.id

string

合成音声の識別子。

output.audio.expires_at

integer

url の有効期限のタイムスタンプ。

usage

object

使用量情報。

usage.characters

integer

累計課金対象文字数。

非ストリーミング

{
  "output": {
    "audio": {
      "data": "",
      "id": "audio_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "expires_at": 1792079570,
      "url": "https://example.com/output.wav"
    },
    "finish_reason": "stop"
  },
  "usage": {
    "characters": 27
  },
  "request_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

ストリーミング

中間結果:

{
  "request_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "output": {
    "finish_reason": null,
    "type": "sentence-begin",
    "original_text": "我家的后面有一个很大的花园。",
    "sentence": {
      "index": 0,
      "words": []
    },
    "audio": {
      "data": "",
      "id": "audio_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "expires_at": 1792079570
    }
  }
}

最終結果:

{
  "output": {
    "audio": {
      "data": "",
      "id": "audio_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "expires_at": 1792079570,
      "url": "https://example.com/output.wav"
    },
    "finish_reason": "stop"
  },
  "usage": {
    "characters": 27
  },
  "request_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}