前言说明

CosyVoice 声音复刻服务依托生成式语音大模型,仅需 10–20 秒音频样本,即可生成高度相似、自然流畅的定制音色,无需传统训练流程。声音设计支持通过文本描述生成专属音色,可自定义多语言及多维度音色特征,适用于广告配音、角色塑造、有声内容创作等场景。声音复刻 / 设计与语音合成为前后衔接的两个环节,本文档重点说明声音复刻 / 设计相关参数及语音合成接口详情。

CosyVoice 开发者API对接文档

接口概览

接口 路由 说明
声音克隆/设计 POST https://www.yuntts.com/api/v1/cosyvoice-create-voice 创建自定义音色(支持声音克隆和声音设计两种模式)
更新音色 POST https://www.yuntts.com/api/v1//cosyvoice-update-voice 更新声音复刻音色(仅限复刻)
语音合成 POST https://www.yuntts.com/api/v1/cosyvoice-synthesize 使用指定模型和音色进行语音合成
删除音色 POST https://www.yuntts.com/api/v1/cosyvoice-delete-voice 删除已创建的自定义音色

模型说明

支持的模型列表

模型名称 说明 支持声音克隆 支持声音设计 语音合成
cosyvoice-v3.5-plus v3.5 增强版(推荐)
cosyvoice-v3.5-flash v3.5 极速版
cosyvoice-v3-plus v3 增强版
cosyvoice-v3-flash v3 极速版
cosyvoice-v2 v2 经典版
cosyvoice-v1 v1 基础版

注意事项

  • 创建的音色只能在指定的目标模型中使用

接口认证

所有接口都需要在请求头中携带 API Key:

Authorization: Bearer YOUR_API_KEY

API Key 可在:个人中心→我的密钥获取


声音克隆接口

通过上传音频文件或提供音频 URL 来创建自定义音色。

接口地址

POST https://www.yuntts.com/api/v1/cosyvoice-create-voice

请求头

字段名 类型 必填 描述 说明
Authorization string Bearer Token Token为密钥
Content-Type string application/json 传递url使用
Content-Type string multipart/form-data 传递file使用

请求参数

参数名 类型 必填 说明
name string 音色名称(最多20字符)
target_model string 目标模型,如:cosyvoice-v3-flash
url string 音频URL(与file二选一)
file file 音频文件(与url二选一)
prefix string 音色ID前缀,默认:yuntts
language_hints string 语言提示(告诉模型你上传的音色是什么语音
enable_preprocess boolean 是否启用预处理
max_prompt_audio_length float 最大音频长度(秒)

language_hints 参数说明

该参数用于辅助模型识别样本音频(原始参考音频)的语种,从而更准确地提取音色特征,提升复刻效果。若设置的语言提示与实际音频语言不符(例如为中文音频设置 en),系统将忽略此提示,并依据音频内容自动检测语言。

取值范围(因模型而异):

模型 取值 说明
cosyvoice-v3-plus zh 中文(默认值)
en 英文
fr 法语
de 德语
ja 日语
ko 韩语
ru 俄语
cosyvoice-v3.5-plus
cosyvoice-v3.5-flash
cosyvoice-v3-flash
zh 中文(默认值)
en 英文
fr 法语
de 德语
ja 日语
ko 韩语
ru 俄语
pt 葡萄牙语
th 泰语
id 印尼语
vi 越南语
对于中文方言(例如东北话、粤语等),建议仍将 language_hints 设置为 zh,方言风格应在后续语音合成调用中通过文本内容或 instruct 等参数进行控制,可查看《CosyVoice语音合成指令控制教程说明》。

音频文件要求

  • 支持格式:MP3、WAV、M4A
  • 文件大小:最大 10MB
  • 音频时长:建议 10-30 秒
  • 音频质量:建议 16kHz 以上采样率

响应示例

{
  "code": 200,
  "message": "创建成功",
  "data": {
    "voice_id": "yuntts_xxxxxx",
    "model": "cosyvoice-v3.5-plus",
    "name": "我的音色",
    "created_at": "2024-01-01 12:00:00"
  }
}

错误响应

{
  "code": 400,
  "message": "错误信息"
}

声音设计接口

通过文字描述来设计自定义音色。

接口地址

POST https://www.yuntts.com/api/v1/cosyvoice-create-voice

请求头

字段名 类型 必填 描述
Authorization string Bearer Token
Content-Type string application/json

请求参数

克隆和设计是用一个接口,当提供 voice_promptpreview_text 时,自动切换为声音设计模式。

参数名 类型 必填 说明
name string 音色名称,最多 20 字符
target_model string 目标模型,支持 v3 和 v3.5 系列,具体见模型说明
voice_prompt string 声音描述,如:温柔的女声、专业的主持人
preview_text string 预览文本,至少 15 个字符
description string 音色描述
language_hints string 语言提示(告诉模型你上传的音色是什么语音)
prefix string 音色前缀,默认 yuntts
sample_rate int 采样率:16000/22050/24000/44100

声音描述示例

  • "温柔的女声,像主持人一样专业"
  • "低沉有磁性的男声,适合讲故事"
  • "活泼开朗的童声"
  • "成熟稳重的中年男声"

响应示例

{
  "code": 200,
  "message": "创建成功",
  "data": {
    "voice_id": "yuntts_xxxxxx",
    "model": "cosyvoice-v3.5-plus",
    "name": "我的音色",
    "created_at": "2024-01-01 12:00:00"
  }
}

语音合成接口

使用指定的模型和音色进行语音合成。

接口地址

POST https://www.yuntts.com/api/v1/cosyvoice-synthesize

请求头

字段名 类型 必填 描述
Authorization string Bearer Token
Content-Type string application/json

请求参数

参数名 类型 必填 默认值 说明
model string - 模型名称,如:cosyvoice-v3-flash
voice string - 音色ID,系统音色或自定义音色
text string - 待合成文本(支持SSML)
format string mp3 音频格式:mp3/wav/pcm/ogg
sample_rate int 22050 采样率:8000/16000/22050/24000/44100/48000
volume int 50 音量:0-100
rate float 1.0 语速:0.5-2.0
pitch float 1.0 音调:0.5-2.0
seed int 0 随机种子:0-65535,0表示随机
instruction string - 指令控制(最多100字符),查看[指令控制教程]
enable_ssml boolean false 是否启用SSML
stream boolean false 是否启用流式输出

响应示例(非流式)

{
  "code": 200,
  "message": "语音合成成功",
  "data": {
    "audio": {
      "url": "https://example.com/audio.mp3",
      "sample_rate": 22050,
      "format": "mp3"
    }
  },
  "char_count": 100,
  "cost": 0.01
}

响应字段说明

字段 类型 说明
data.audio.url string 音频文件 URL
char_count int 实际消耗的字符数
cost float 实际扣费金额(元)

删除音色接口

删除已创建的自定义音色。

接口地址

POST https://www.yuntts.com/api/v1/cosyvoice-delete-voice

请求头

字段名 类型 必填 描述
Authorization string Bearer Token
Content-Type string application/json

请求参数

参数名 类型 必填 说明
voice_id string 要删除的音色ID

权限说明

  • 只有音色创建者和管理员可以删除
  • 删除前会验证权限

请求示例

POST https://www.yuntts.com/api/v1/cosyvoice-delete-voice
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

{
    "voice_id": "yuntts-xxx"
}

响应示例

{
  "code": 200,
  "message": "删除成功"
}

更新音色

⚠️ 注意: 仅限声音复刻音色,声音设计音色不支持更新。

接口信息

POST https://www.yuntts.com/api/v1/cosyvoice-delete-voice

请求头

字段名 类型 必填 描述
Authorization string Bearer Token
Content-Type string application/json

 请求参数

参数名 类型 必填 说明
voice_id string 要更新的音色ID
url string 新音频URL(与file二选一)
file file 新音频文件(与url二选一)

请求示例

POST https://www.yuntts.com/api/v1/cosyvoice-update-voice
Content-Type: multipart/form-data
Authorization: Bearer YOUR_API_KEY

{
    "voice_id": "yuntts-xxx",
    "file": [二进制音频文件]
}

系统音色

系统音色请查看《CosyVoice 系统音色列表

计费说明

字符计费规则

  • 汉字按 2 个字符计算
  • 其他字符(英文、数字、符号等)按 1 个字符计算

模型价格(元/万字符)

模型 价格
cosyvoice-v3.5-plus 2.5
cosyvoice-v3.5-flash 1.8
cosyvoice-v3-plus 2
cosyvoice-v3-flash 3
cosyvoice-v2 3
cosyvoice-v1 2

错误码说明

HTTP 状态码 错误码 说明
400 model_required 模型参数不能为空
400 voice_required 音色参数不能为空
400 text_required 文本参数不能为空
400 insufficient_balance 余额不足
400 instruction_too_long 指令长度超过限制
401 - 未授权或 API Key 无效
403 permission_denied 没有权限删除该音色
404 voice_not_found 音色不存在
500 api_request_failed API 请求失败
500 balance_deduction_failed 余额扣除失败
500 order_creation_failed 订单创建失败
500 synthesis_failed 语音合成失败

常见问题

Q: 声音克隆和声音设计有什么区别?

A: 声音克隆需要上传音频文件,声音设计只需要文字描述。声音设计仅支持 v3.5 系列模型。

Q: 创建的音色可以在其他模型中使用吗?

A: 不可以,创建音色时指定的目标模型决定了该音色只能在哪个模型中使用。

Q: 合成失败会扣费吗?

A: 不会,合成失败会自动退款。

Q: 免费额度是每月重置吗?

A: 是的,免费额度每月初自动重置。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。