CosyVoice语音合成 API参考

更新时间:
复制为 MD 格式

重要

该功能仅在中国内地部署范围(北京地域)下可用。

URL

POST https://dashscope.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer

Headers

参数

类型

是否必选

说明

Authorization

string

鉴权令牌,格式为Bearer <your_api_key>,使用时,将“<your_api_key>”替换为实际的API Key。

Content-Type

string

请求体的媒体类型,固定为application/json

X-DashScope-SSE

string

用于控制是否以流式方式返回输出结果。仅在流式合成时使用该参数,参数值固定为enable

请求体

非流式

curl -X POST https://dashscope.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 -X POST https://dashscope.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
    }
}'

model string (必选)

语音合成模型。

取值范围:

  • cosyvoice-v3.5-plus

  • cosyvoice-v3.5-flash

  • cosyvoice-v3-plus

  • cosyvoice-v3-flash

  • cosyvoice-v2

input object (必选)

输入参数对象

属性

text string (必选)

待合成文本。

支持 SSML 和 LaTeX 格式输入。将待合成文本替换为对应格式即可。

  • 使用 SSML 时,需同时将 enable_ssml 设置为 true。支持的 SSML 标签及用法,请参见SSML标记语言介绍

  • 使用 LaTeX 时,将待合成文本替换为 LaTeX 格式即可,无需额外配置。支持的 LaTeX 语法及用法,请参见LaTeX 公式转语音

voice string (必选)

音色。

取值范围:

format string (可选)

音频编码格式。

默认值:mp3。

取值范围:

  • mp3

  • pcm

  • wav

  • opus

sample_rate integer (可选)

音频采样率(单位:Hz)。

默认值:22050。

取值范围:8000, 16000, 22050, 24000, 44100, 48000。

说明

默认采样率代表当前音色的最佳采样率,缺省条件下默认按照该采样率输出,同时支持降采样或升采样。

volume integer (可选)

音量。

默认值:50。

取值范围:[0, 100]。50代表标准音量。音量大小与该值呈线性关系,0为静音,100为最大音量。

rate float (可选)

语速。

默认值:1.0。

取值范围:[0.5, 2.0]。1.0为标准语速,小于1.0则减慢,大于1.0则加快。

bit_rate integer (可选)

音频码率(单位kbps)。

默认值:32。

取值范围:[6, 510]。

重要

仅在formatopus时支持使用该参数。

pitch float (可选)

音高。该值作为音高调节的乘数,但其与听感上的音高变化并非严格的线性或对数关系,建议通过测试选择合适的值。

默认值:1.0。

取值范围:[0.5, 2.0]。1.0为音色自然音高。大于1.0则音高变高,小于1.0则音高变低。

enable_ssml boolean (可选)

是否开启SSML功能。

word_timestamp_enabled boolean (可选)

是否开启字级别时间戳。

默认值:false。

  • true:开启。

  • false:关闭。

该功能仅适用于cosyvoice-v3-flash、cosyvoice-v3-pluscosyvoice-v2模型的复刻音色,以及音色列表中标记为支持的系统音色。

seed integer (可选)

生成时使用的随机数种子,使合成的效果产生变化。在模型版本、文本、音色及其他参数均相同的前提下,使用相同的seed可复现相同的合成结果。

默认值0。

取值范围:[0, 65535]。

cosyvoice-v1不支持该功能。

language_hints array[String] (可选)

指定语音合成的目标语言,提升合成效果。cosyvoice-v1不支持该功能。

当数字、缩写、符号等朗读方式或者小语种合成效果不符合预期时使用,例如:

  • 数字朗读方式不符合预期,“hello, this is 110”读成“hello, this is one one zero”而非“hello, this is 幺幺零”

  • 符号朗读不准确,“@”读成“艾特”而非“at”

  • 小语种合成效果差,合成不自然

取值范围:

  • zh:中文

  • en:英文

  • fr:法语

  • de:德语

  • ja:日语

  • ko:韩语

  • ru:俄语

  • pt:葡萄牙语

  • th:泰语

  • id:印尼语

  • vi:越南语

注意:此参数为数组,但当前版本仅处理第一个元素,因此建议只传入一个值。

重要

此参数用于指定语音合成的目标语言,该设置与声音复刻时的样本音频的语种无关。如果您需要设置复刻任务的源语言,请参见CosyVoice声音复刻/设计API

instruction String (可选)

设置指令,用于控制方言、情感或角色等合成效果。该功能仅适用于cosyvoice-v3.5-flash、cosyvoice-v3.5-pluscosyvoice-v3-flash模型的复刻音色,以及音色列表中标记为支持Instruct的系统音色。

长度限制:100字符。

汉字(包括简/繁体汉字、日文汉字和韩文汉字)按2个字符计算,其他所有字符(如标点符号、字母、数字、日韩文假名/谚文等)均按 1个字符计算

使用要求(因模型而异):

  • cosyvoice-v3.5-flashcosyvoice-v3.5-plus:可以输入任意指令控制合成效果(如情感、语速等)

    重要

    cosyvoice-v3.5-flashcosyvoice-v3.5-plus无系统音色,仅支持使用声音设计/复刻音色。

    指令示例:

    请用非常激昂且高亢的语气说话,表现出获得重大成功后的狂喜与激动。
    语速请保持中等偏慢,语气要显得优雅、知性,给人以从容不迫的安心感。
    语气要充满哀伤与怀念,带有轻微的鼻音,仿佛正在诉说一段令人心碎的往事。
    请尝试用气声说话,音量极轻,营造出一种在耳边亲密低语的神秘感。
    语气要显得非常急躁且不耐烦,语速加快,句子之间的停顿要尽量缩短。
    请模拟一位慈祥、温和的长辈,语速平稳,声音中要透出满满的关怀与爱意。
    语气要充满讽刺和不屑,在关键词上加重读音,句尾语调略微上扬。
    请用一种极度恐惧且颤抖的声音说话。
    语气要像专业的新闻播音员一样,冷静、客观且字正腔圆,情绪保持中立。
    语气要显得活泼俏皮,带着明显的笑意,让声音听起来充满朝气与阳光。
  • cosyvoice-v3-flash:需遵照如下要求

    • 复刻音色:可使用任意自然语言控制语音合成效果。

      指令示例:

      请用广东话表达。(支持的方言:广东话、东北话、甘肃话、贵州话、河南话、湖北话、江西话、闽南话、宁夏话、山西话、陕西话、山东话、上海话、四川话、天津话、云南话。)
      请尽可能非常大声地说一句话。
      请用尽可能慢地语速说一句话。
      请用尽可能快地语速说一句话。
      请非常轻声地说一句话。
      你可以慢一点说吗
      你可以非常快一点说吗
      你可以非常慢一点说吗
      你可以快一点说吗
      请非常生气地说一句话。
      请非常开心地说一句话。
      请非常恐惧地说一句话。
      请非常伤心地说一句话。
      请非常惊讶地说一句话。
      请尽可能表现出坚定的感觉。
      请尽可能表现出愤怒的感觉。
      请尝试一下亲和的语调。
      请用冷酷的语调讲话。
      请用威严的语调讲话。
      我想体验一下自然的语气。
      我想看看你如何表达威胁。
      我想看看你怎么表现智慧。
      我想看看你怎么表现诱惑。
      我想听听用活泼的方式说话。
      我想听听你用激昂的感觉说话。
      我想听听用沉稳的方式说话的样子。
      我想听听你用自信的感觉说话。
      你能用兴奋的感觉和我交流吗?
      你能否展示狂傲的情绪表达?
      你能展现一下优雅的情绪吗?
      你可以用幸福的方式回答问题吗?
      你可以做一个温柔的情感演示吗?
      能用冷静的语调和我谈谈吗?
      能用深沉的方法回答我吗?
      能用粗犷的情绪态度和我对话吗?
      用阴森的声音告诉我这个答案。
      用坚韧的声音告诉我这个答案。
      用自然亲切的闲聊风格叙述。
      用广播剧博客主的语气讲话。
    • 系统音色:指令必须使用固定格式和内容,详情请参见音色列表

enable_aigc_tag boolean (可选)

是否在生成的音频中添加AIGC隐性标识。设置为true时,会将隐性标识嵌入到支持格式(wav/mp3/opus)的音频中。

默认值:false。

cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2支持该功能。

aigc_propagator String (可选)

设置AIGC隐性标识中的 ContentPropagator 字段,用于标识内容的传播者。仅在 enable_aigc_tag 为 true 时生效。

默认值:阿里云UID。

cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2支持该功能。

aigc_propagate_id String (可选)

设置AIGC隐性标识中的 PropagateID 字段,用于唯一标识一次具体的传播行为。仅在 enable_aigc_tag 为 true 时生效。

默认值:本次语音合成请求Request ID。

cosyvoice-v3-flash、cosyvoice-v3-plus、cosyvoice-v2支持该功能。

hot_fix object (可选)

文本热修复配置,用于自定义指定词语的发音或对待合成文本进行替换。仅cosyvoice-v3-flash复刻音色支持该功能。

参数介绍:

  • pronunciation:自定义发音。指定词语的拼音标注,用于纠正默认发音不准确的情况。

  • replace:文本替换。在语音合成前将指定词语替换为目标文本,替换后的文本将作为实际合成内容。

示例:

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

enable_markdown_filter boolean (可选)

是否启用 Markdown 过滤。启用该功能后,系统在合成语音前自动过滤输入文本中的 Markdown 标记符号,避免将其朗读为文字内容。仅cosyvoice-v3-flash复刻音色支持该功能。

默认值:false。

取值范围:

  • true:启用Markdown过滤

  • false:禁用Markdown过滤

返回体

非流式

{
    "request_id": "ee88b03d-0457-9286-8c67-xxxxxxxxxxxx",
    "output": {
        "finish_reason": "stop",
        "audio": {
            "data": "",
            "url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/pre/cosyvoice-v3-flash/20260304/xxxxxxxx/ee88b03d-0457-9286-8c67-xxxxxxxxxxxx.wav?xxxxxxx",
            "id": "audio_ee88b03d-0457-9286-8c67-xxxxxxxxxxxx",
            "expires_at": 1772697707
        }
    },
    "usage": {
        "characters": 15
    }
}

流式

中间结果:

{
    "request_id": "8ac1cd04-06af-9a63-b031-xxxxxxxxxxxx",
    "output": {
        "finish_reason": "null",
        "type": "sentence-begin",
        "original_text": "我家的后面有一个很大的园。",
        "sentence": {
            "index": 0,
            "words": []
        },
        "audio": {
            "data": "",
            "id": "audio_ee88b03d-0457-9286-8c67-xxxxxxxxxxxx",
            "expires_at": 1772697707
        }
    },
    "usage": {
        "characters": 15
    }
}

最终结果:

{
    "request_id": "8ac1cd04-06af-9a63-b031-xxxxxxxxxxxx",
    "output": {
        "finish_reason": "stop",
        "audio": {
            "data": "",
            "url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/pre/cosyvoice-v3-flash/20260304/xxxxxxxx/8ac1cd04-06af-9a63-b031-xxxxxxxxxxxx.wav?xxxxxxx",
            "id": "audio_8ac1cd04-06af-9a63-b031-xxxxxxxxxxxx",
            "expires_at": 1772698611,
        }
    },
    "usage": {
        "characters": 15
    }
}

request_id string

本次调用的唯一标识符。

output object

模型返回的数据。

属性

finish_reason string

任务停止原因,自然停止时为stop

取值范围:

  • null:语音合成中

  • stop:语音合成结束

type string

子事件类型。仅流式合成时返回该值。

取值范围:

  • sentence-begin:标识句子开始,返回待合成的句子文本内容

  • sentence-synthesis:标识音频数据块

    • 一个句子的合成过程中会产生多个sentence-synthesis事件,每个对应一个音频数据块

    • 客户端需要按顺序接收这些音频数据块并以追加模式写入同一文件

    • sentence-synthesis事件与其后的音频数据帧是一一对应的关系,不会出现错位

  • sentence-end:标识句子结束,返回句子文本内容和累计的计费字符数

original_text string

对用户输入文本进行分句后的句内容。最后一个句子可能没有此字段。

sentence object

句子信息。

属性

index integer

句子的编号,从0开始。

words array

每句话对应的字的信息。

属性

text string

字。

begin_index integer

字在句子中的开始位置索引,从 0 开始。

end_index integer

字在句子中的结束位置索引,从 1 开始。

begin_time integer

字对应音频的开始时间戳,单位为毫秒。

end_time integer

字对应音频的结束时间戳,单位为毫秒。

audio object

合成的音频数据。

属性

data string

流式合成时输出Base64格式音频数据。非流式合成时为空。

url string

模型输出的完整音频文件的URL,有效期24小时。

id string

模型输出的音频信息对应的ID。

expires_at integer

url 过期时间戳。

usage object

本次请求的字符用量。

属性

characters integer

本次请求中计费的有效字符数。