Files
sionrui/docs/cosyvoice-copy.md
2025-11-19 21:57:16 +08:00

8.2 KiB
Raw Blame History

阿里云CosyVoice声音复刻API说明文档

一、接口概述

CosyVoice声音复刻API依托大模型技术仅需10~20秒清晰音频即可快速生成高度拟真的定制音色voice_id),支持cosyvoice-v1cosyvoice-v2模型v2效果更优。复刻服务免费使用复刻音色进行语音合成时按字符计费。

核心功能:音色的创建、查询、更新、删除,生成的voice_id可直接用于CosyVoice语音合成接口。

二、前提条件

  1. 开通CosyVoice服务获取API Key推荐配置到环境变量避免硬编码
  2. 安装最新版DashScope SDKJava/Python其他语言需调用RESTful API。
  3. 准备公网可访问的音频URL推荐上传至阿里云OSS支持WAV/MP3/M4A格式

三、核心接口详情支持Java/Python SDK + RESTful API

1. 创建音色生成voice_id

功能描述

上传10~20秒音频生成专属voice_id,用于后续语音合成。

请求参数

参数名 类型 是否必填 说明
target_model string 复刻模型,支持cosyvoice-v1/cosyvoice-v2
prefix string 音色自定义前缀,仅允许数字和小写字母,长度<10字符
url string 音频文件公网URL需满足格式要求采样率≥16kHz、文件≤10MB、含≥5秒连续语音

响应参数

参数名 类型 说明
voice_id string 定制音色ID用于语音合成
request_id string 任务唯一标识,用于排查问题

示例代码Python SDK

import os
import dashscope
from dashscope.audio.tts_v2 import VoiceEnrollmentService

dashscope.api_key = os.getenv('DASHSCOPE_API_KEY')
service = VoiceEnrollmentService()
# 调用创建接口
voice_id = service.create_voice(target_model="cosyvoice-v2", prefix="test", url="音频公网URL")
print(f"生成的voice_id: {voice_id}")

2. 查询所有音色

功能描述

查询账号下已创建的所有音色,支持按前缀筛选和分页。

请求参数

参数名 类型 是否必填 说明
prefix string 音色前缀,为空则返回所有音色
page_index int 页码索引默认0
page_size int 每页条数默认10

响应参数

参数名 类型 说明
voice_list array 音色列表,含每个音色的voice_id、创建时间gmt_create、状态status
status string 音色状态DEPLOYING审核中/OK可用/UNDEPLOYED审核失败
request_id string 任务唯一标识

3. 查询指定音色

功能描述

查询单个voice_id的详细信息状态、原始音频URL等

请求参数

参数名 类型 是否必填 说明
voice_id string 需查询的音色ID

响应参数

参数名 类型 说明
voice_id string 音色ID
resource_link string 复刻所用音频的公网URL
target_model string 复刻时使用的模型
status string 音色状态DEPLOYING/OK/UNDEPLOYED
gmt_create string 音色创建时间

4. 更新音色

功能描述

使用新的音频URL更新已有voice_id的音色。

请求参数

参数名 类型 是否必填 说明
voice_id string 需更新的音色ID
url string 新的音频公网URL需满足格式要求

响应参数

参数名 类型 说明
request_id string 任务唯一标识

5. 删除音色

功能描述

删除无需使用的voice_id释放配额账号最多保留1000个音色

请求参数

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

响应参数

参数名 类型 说明
request_id string 任务唯一标识

四、音频文件要求

  1. 格式支持WAV16bit、MP3、M4A。
  2. 采样率≥16000Hz。
  3. 时长10~20秒建议不超过60秒含至少一段≥5秒的连续语音。
  4. 大小≤10MB。
  5. 质量:语音清晰、无杂音,朗读连贯。

五、使用流程(复刻→合成)

  1. 调用「创建音色」接口传入音频URL获取voice_id
  2. 调用CosyVoice语音合成接口voice_id作为voice参数传入,即可使用定制音色合成语音。
  3. (可选)通过「查询指定音色」接口确认statusOK后再使用。

六、关键限制

  1. 配额限制每个主账号最多保留1000个复刻音色删除后释放配额。
  2. 并发限制复刻接口总并发≤10 RPSv1+v2合计语音合成接口并发≤3 RPS。
  3. 模型匹配v1版本voice_id仅用于v1合成v2版本voice_id仅用于v2合成不可混用。
  4. 有效期超过1年未使用的音色将自动下线。

七、常见错误码及解决方案

错误码 说明 解决方案
Throttling.AllocationQuota 音色数量达限额 删除无用音色或提交工单申请扩容
Audio.AudioShortError 音频有效时长过短 重新录制10~20秒连续语音
InvalidApiKey API Key无效 检查API Key是否正确无多余空格或缺失字符
Model.AccessDenied 模型访问权限不足 使用“默认业务空间”下的API Key调用
BadRequest.UnsupportedFileFormat 音频格式不支持 转换为WAV/MP3/M4A格式确认文件实际编码与后缀一致
Audio.FileSizeExceed 音频文件超过10MB 压缩文件大小或截取有效片段

八、注意事项

  1. 版权要求:需对复刻音频的所有权及合法使用权负责,遵守服务协议。
  2. 音频URL确保公网可访问推荐使用阿里云OSS生成临时访问链接避免长期公开泄露
  3. 升级建议v1音色可使用原始音频重新复刻为v2版本获得更优效果。
  4. 合成调节:使用voice_id合成语音时,可通过volume(音量)、speechRate(语速)等参数调节输出效果。