本文介绍非实时语音合成CosyVoice的HTTP调用方法,支持非流式和流式两种调用模式。
接口地址
POST https://maas.qianwenaiapi.com/api/v1/services/audio/tts/SpeechSynthesizer
请求头
| 参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | 鉴权令牌,格式为Bearer $DASHSCOPE_API_KEY,使用时,将“$DASHSCOPE_API_KEY”替换为实际的API Key。 |
| Content-Type | string | 是 | 请求体的媒体类型,固定为application/json。 |
| X-DashScope-SSE | string | 否 | 用于控制是否以流式方式返回输出结果。仅在流式合成时使用该参数,参数值固定为enable。 |
请求体
| 参数 | 类型 | 说明 |
|---|---|---|
| model | string | (必选) 语音合成模型。 取值范围:
|
| input | object | (必选) 输入参数对象**。** |
| input.text | string | (必选) 待合成文本。 支持 SSML 和 LaTeX 格式输入。将待合成文本替换为对应格式即可。
|
| input.voice | string | (必选) 音色。 取值范围:
|
| input.format | string | (可选) 音频编码格式。 默认值:mp3。 取值范围:
|
| input.sample_rate | integer | (可选) 音频采样率(Hz)。 取值范围:8000、12000、16000、22050(默认)、24000、44100、48000。 说明: 当 format 为 opus 时,sample_rate 仅支持 8000、12000、16000、24000、48000。 |
| input.volume | integer | (可选) 音量。 默认值:50。 取值范围:[0, 100]。 |
| input.rate | float | (可选) 语速。 默认值:1.0。 取值范围:[0.5, 2.0]。 |
| input.bit_rate | integer | (可选) 音频码率(单位:kbps)。 默认值:32。 取值范围:[6, 510]。 提示: 仅在format为opus时支持使用该参数。 |
| input.pitch | float | (可选) 音调。 默认值:1.0。 取值范围:[0.5, 2.0]。 |
| input.enable_ssml | boolean | (可选) 是否开启SSML功能。SSML 的使用限制(支持的模型、音色和接口),请参见使用限制。 |
| input.word_timestamp_enabled | boolean | (可选) 是否开启字级别时间戳。 默认值:false。 仅在流式输出模式下可用。支持的音色范围:cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2模型的复刻音色,以及CosyVoice音色列表中标记为支持的系统音色。其他模型的复刻音色不支持此功能。 |
| input.seed | integer | (可选) 生成时使用的随机数种子,使合成的效果产生变化。在模型版本、文本、音色及其他参数均相同的前提下,使用相同的seed可复现相同的合成结果。 默认值0。 取值范围:[0, 65535]。 |
| input.language_hints | array[string] | (可选) 提示: - 此参数为数组,但当前版本仅处理第一个元素,因此建议只传入一个值。
|
| input.instruction | string | (可选) 设置指令,用于控制方言、情感或角色等合成效果。 具体用法请参见非实时语音合成。 |
| input.enable_aigc_tag | boolean | (可选) 是否在生成的音频中添加AIGC隐性标识。设置为true时,会将隐性标识嵌入到支持格式(wav/mp3/opus)的音频中。 默认值:false。 说明: 仅cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2支持该功能。 |
| input.aigc_propagator | string | (可选) 设置AIGC隐性标识中的 ContentPropagator 字段,用于标识内容的传播者。仅在 enable_aigc_tag 为 true 时生效。 默认值:千问AI平台账号。 说明: 仅cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2支持该功能。 |
| input.aigc_propagate_id | string | (可选) 设置AIGC隐性标识中的 PropagateID 字段,用于唯一标识一次具体的传播行为。仅在 enable_aigc_tag 为 true 时生效。 默认值:本次语音合成请求Request ID。 说明: 仅cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2支持该功能。 |
| input.hot_fix | object | (可选) 文本热修复配置,用于自定义指定词语的发音或对待合成文本进行替换。 说明: cosyvoice-v2不支持该功能。 参数介绍:
|
| input.enable_markdown_filter | boolean | (可选) 说明: 仅cosyvoice-v3-flash复刻音色支持该功能。 是否启用 Markdown 过滤。启用该功能后,系统在合成语音前自动过滤输入文本中的 Markdown 标记符号,避免将其朗读为文字内容。 默认值:false。 取值范围:
|
返回体
- 非流式
- 流式
| 参数 | 类型 | 说明 |
|---|---|---|
| request_id | string | 本次调用的唯一标识符。 |
| output | object | 模型返回的数据。 |
| output.finish_reason | string | 任务停止原因,自然停止时为stop。 取值范围:
|
| output.type | string | 子事件类型。仅流式合成时返回该值。 取值范围:
|
| 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 | 模型输出的音频信息对应的ID。 |
| output.audio.expires_at | integer | url 过期时间戳。 |
| usage | object | 本次请求的字符用量。 |
| usage.characters | integer | 本次请求中计费的有效字符数。 |