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 に設定します。省略すると完全な結果を返します。 |
呼び出し例
- 非ストリーミング
- ストリーミング
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:アラビア語
レスポンス本文
| パラメーター | 型 | 説明 |
|---|---|---|
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 | 累計課金対象文字数。 |
- 非ストリーミング
- ストリーミング