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
リクエストヘッダー
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
|
| 必須 | 認証トークン。形式は |
|
| 必須 |
|
|
| 任意 | ストリーミング出力では |
呼び出し例
非ストリーミング
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 を返します。
リクエスト本文
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
|
| 必須 | — | 音声合成モデルの ID。モデルとリージョンは非リアルタイム音声合成をご参照ください。 |
|
| 必須 | — | 入力パラメーターのオブジェクト。 |
|
| 必須 | — | 合成するテキスト。SSML 入力では |
|
| 必須 | — | 音声 ID。システム音声は音声一覧をご参照ください。音声クローニングまたは音声デザインでカスタム音声を作成し、関連付けたターゲットモデルで合成します。 |
|
| 任意 |
| 音声のエンコード形式。 |
|
| 任意 | 22050 | 音声のサンプルレート(Hz)。8000、12000、16000、22050、24000、44100、48000 を指定できます。 |
|
| 任意 | 50 | 音量。範囲:[0, 100]。 |
|
| 任意 | 1.0 | 話す速さ。範囲:[0.5, 2.0]。 |
|
| 任意 | 32 | 音声のビットレート(kbps)。範囲:[6, 510]。 |
|
| 任意 | 1.0 | ピッチ。範囲:[0.5, 2.0]。 |
|
| 任意 | — | SSML を有効にするかどうか。モデル、音声、インターフェイスの制限は利用制限をご参照ください。 |
|
| 任意 |
| 単語レベルのタイムスタンプを返すかどうか。ストリーミング出力のみ対応します。cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2 のクローン音声と、音声一覧で対応と記載されたシステム音声を利用できます。その他のモデルのクローン音声は非対応です。 |
|
| 任意 | 0 | 乱数シード。範囲:[0, 65535]。モデルのバージョン、テキスト、音声、その他のパラメーターが同じ場合、同じ seed で同じ合成結果を再現できます。 |
|
| 任意 | — | 合成先の言語。配列の最初の要素のみ処理します。クローン用サンプルの元言語とは独立しています。数字、略語、記号や比較的少数の言語の発音が適切でない場合に指定します。言語コードは下記を参照し、クローンの元言語は音声クローニング APIをご参照ください。 |
|
| 任意 | — | 方言、感情、役割などの合成表現を制御する指示。対象モデル、音声、使い方は指示による制御をご参照ください。 |
|
| 任意 |
| WAV、MP3、Opus 音声に不可視の AIGC 識別情報を埋め込むかどうか。 cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2 のみ対応します。 |
|
| 任意 | Alibaba Cloud UID | 配布者を識別する cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2 のみ対応します。 |
|
| 任意 | このリクエストの Request ID | 配布操作を識別する cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2 のみ対応します。 |
|
| 任意 | — | テキストの修正設定。 cosyvoice-v2 は非対応です。 |
|
| 任意 |
| 合成前に 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": [
{
"今天": "金天"
}
]
}
}
レスポンス本文
| パラメーター | 型 | 説明 |
|---|---|---|
|
| リクエストの一意の識別子。 |
|
| モデルの出力。 |
|
| 停止理由。 |
|
| ストリーミング出力のみ返します。 |
|
| 入力テキストを分割した文の内容。最後の文では省略される場合があります。 |
|
| 文の情報。 |
|
| 文のインデックス。0 から始まります。 |
|
| 文中の単語とタイムスタンプ情報。 |
|
| 単語または文字。 |
|
| 文中の開始位置。0 から始まります。 |
|
| 文中の終了位置。1 から始まります。 |
|
| 単語に対応する音声の開始タイムスタンプ(ミリ秒)。 |
|
| 単語に対応する音声の終了タイムスタンプ(ミリ秒)。 |
|
| 合成された音声。 |
|
| ストリーミング出力の Base64 音声チャンク。非ストリーミングでは空です。 |
|
| 完全な音声ファイルの URL。24 時間有効です。 |
|
| 合成音声の識別子。 |
|
|
|
|
| 使用量情報。 |
|
| 累計課金対象文字数。 |
非ストリーミング
{
"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"
}