API文档
产品定价
Hi,您好,欢迎使用有道智云个性化大模型语音定制接口服务。
本文档主要针对需要集成HTTP API的技术开发工程师,详细描述个性化语音定制相关的技术内容。
如果您有与我们商务合作的需求,可以通过以下方式联系我们:
商务邮箱: AIcloud_Business@corp.youdao.com
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
客服QQ:1906538062
智云翻译技术交流QQ 1群: 652880659
智云翻译技术交流QQ 2群: 669384425
智云翻译技术交流QQ 3群: 807539209
智云翻译技术交流QQ 4群: 936752411
联系邮箱: zhiyun@corp.youdao.com
温馨提示:
个性化大模型语音定制服务,基于网易有道的大模型语音识别技术,通过上传少量录音,训练语音引擎定制自己声音模型,赋予产品声音形象,可在读小说、播音主持、讲故事、客服服务等场景应用。 服务主要分模型定制和模型调用两部分。
调用方在集成个性化语音定制服务API时,请遵循以下规则。
| 规则 | 描述 |
|---|---|
| 传输方式 | HTTPS |
| 请求方式 | GET或POST |
| 字符编码 | 统一使用UTF-8 编码 |
| 请求格式 | 表单 |
| 响应格式 | JSON |
个性化大模型语音定制调用地址:
https://openapi.youdao.com
格式支持:wav, mp3等格式
接口uri:/ttsLlm/packet/create
请求方式:POST
接口说明:
创建语音包接口,通过语音包收集录音,定制个性化音色模型
接口参数:
| 参数名称 | 类型 | 含义 | 是否必填 | 示例 |
|---|---|---|---|---|
| appKey | String | 应用ID | True | 可在 应用管理 查看 |
| curtime | String | 时间戳(秒) | True | 1666600000 |
| salt | String | 随机字符串 | True | |
| sign | String | 签名信息:sha256(appKey + salt + curtime +密钥) | True | |
| signType | String | 签名类型 | True | v4 |
| name | String | 语音包名称 (不超过50字符) | True | 语音包 |
| gender | String | 性别 | True | male或female |
| description | String | 语音包描述 (不超过250字符) | False | 这是语音包描述 |
响应结果
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
"result":{
"packetId":"P_24A59791123C49A9B498DCD1972803B3"//返回的语音包ID
}
}
接口uri:/ttsLlm/packet/upload
请求方式:POST
接口说明:
上传语音,指定语种,把语音上传到语音包,为训练作准备 注:上传音频文件需要有扩展名,例如xxx.mp3, xxx.wav等, 且录音中必须只有一种音色,30s~5min
接口参数:
| 参数名称 | 类型 | 含义 | 是否必填 | 示例 |
|---|---|---|---|---|
| appKey | String | 应用ID | True | 可在 应用管理 查看 |
| curtime | String | 时间戳(秒) | True | 1666600000 |
| salt | String | 随机字符串 | True | |
| sign | String | 签名信息:sha256(appKey + salt + curtime +密钥) | True | |
| signType | String | 签名类型 | True | v4 |
| file | MultipartFile | 录制评测音频 | True | MultipartFile,音频格式:wav, mp3等格式,30s ~ 5min |
| packetId | String | 语音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
| lan | String | 语言类型 | True | en |
| 英文名 | 中文名 | 代码 |
|---|---|---|
| English (US) | 英语 | en |
| Mandarin (China) | 普通话(中国) | zh-CHS |
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
}
接口uri:/customVoice/packet/deleteVoice
请求方式:POST
接口说明:
清空语音包内的语音,重新上传语音 注:不要直接覆盖原音频
接口参数:
| 参数名称 | 类型 | 含义 | 是否必填 | 示例 |
|---|---|---|---|---|
| appKey | String | 应用ID | True | 可在 应用管理 查看 |
| curtime | String | 时间戳(秒) | True | 1666600000 |
| salt | String | 随机字符串 | True | |
| sign | String | 签名信息:sha256(appKey + salt + curtime +密钥) | True | |
| signType | String | 签名类型 | True | v4 |
| packetId | String | 语音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
}
接口uri:/ttsLlm/model/launch
请求方式:POST
接口说明:
启动训练, 前置条件是必须上传了音频,待模型训练完成后可以调用合成接口
接口参数:
| 参数名称 | 类型 | 含义 | 是否必填 | 示例 |
|---|---|---|---|---|
| appKey | String | 应用ID | True | 可在 应用管理 查看 |
| curtime | String | 时间戳(秒) | True | 1666600000 |
| salt | String | 随机字符串 | True | UUID(唯一识别通用码) |
| sign | String | 签名信息:sha256(appKey + salt + curtime +密钥) | True | sha256(appKey + salt + curtime +密钥) |
| signType | String | 签名类型 | True | v4 |
| packetId | String | 语音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
| gender | String | 性别 | False | 非必填,若填必需和创建语音包一致 |
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
"result": {
"estimateSeconds":10 //剩余时间 秒
"modelList":[
{
"modelId":"M_A0852354A2ED4BB19DE759F1B80C6E37", //模型id 启动成功返回
"createTime":"2023-04-23 13:59:43", // 创建时间 启动成功返回
"taskId":"T_6381E68890C843488FD9569217EFA36A", // 训练任务id 启动成功返回
"modelType":"vc", //模型类型
"modelStatus":"started", //模型状态("started":训练启动,"failed":启动失败)
"failedReason":"" // 失败原因 启动失败返回
}
]
}
}
接口uri:/ttsLlm/model/checkStatus
请求方式:GET
接口说明: 查询当前训练任务状态
接口参数:
| 参数名称 | 类型 | 含义 | 是否必填 | 示例 |
|---|---|---|---|---|
| appKey | String | 应用ID | True | 可在 应用管理 查看 |
| curtime | String | 时间戳(秒) | True | 1666600000 |
| salt | String | 随机字符串 | True | |
| sign | String | 签名信息:sha256(appKey + salt + curtime +密钥) | True | |
| signType | String | 签名类型 | True | v4 |
| packetId | String | 语音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
| taskId | String | 训练任务id | True | T_D2560E2DCF6E435EA7BEDD88AC88B9CC |
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
"result": {
"taskId":"T_D2560E2DCF6E435EA7BEDD88AC88B9CC", // 训练任务id
"estimateSeconds":"10", //剩余时间 秒
"packetId":"P_24A59791123C49A9B498DCD1972803B3",//语音包id
"modelId":"M_A0852354A2ED4BB19DE759F1B80C6E37",//模型id
"status":"1" //训练状态 0:开始,1:完成,2:终止,3:失败,4:语音包创建
}
}
接口uri:/ttsLlm/packet/delete
请求方式:POST
接口说明: 删除指定语音包,同时会删除包含录音及训练模型
接口参数:
| 参数名称 | 类型 | 含义 | 是否必填 | 示例 |
|---|---|---|---|---|
| appKey | String | 应用ID | True | 可在 应用管理 查看 |
| curtime | String | 时间戳(秒) | True | 1666600000 |
| salt | String | 随机字符串 | True | |
| sign | String | 签名信息:sha256(appKey + salt + curtime +密钥) | True | |
| signType | String | 签名类型 | True | v4 |
| packetId | String | 语音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
}
| 状态ID | 状态描述 |
|---|---|
| 0 | 训练任务启动 |
| 1 | 训练任务结束 |
| 2 | 训练任务已终止 |
| 3 | 训练任务失败 |
| 4 | 语音包创建阶段,训练任务未启动 |
| 错误码 | 含义 |
|---|---|
| 101 | 缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。 |
| 102 | 不支持的语言类型 |
| 103 | 翻译文本过长 |
| 104 | 不支持的API类型 |
| 105 | 不支持的签名类型 |
| 106 | 不支持的响应类型 |
| 107 | 不支持的传输加密类型 |
| 108 | 应用ID无效,注册账号,登录后台创建应用和实例并完成绑定,可获得应用ID和应用密钥等信息 |
| 109 | batchLog格式不正确 |
| 110 | 无相关服务的有效实例,应用没有绑定服务。注:某些服务的结果发音需要tts,需要在控制台创建语音合成绑定应用后方能使用。 |
| 111 | 开发者账号无效 |
| 112 | 请求服务无效 |
| 113 | q不能为空 |
| 114 | 不支持的图片传输方式 |
| 115 | 语音包异常:不存在或者已删除或者不属于当前devId |
| 116 | referenceSynthesisId已存在 |
| 201 | 解密失败,可能为DES,BASE64,URLDecode的错误 |
| 202 | 签名检验失败 |
| 203 | 访问IP地址不在可访问IP列表 |
| 205 | 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。 |
| 206 | 因为时间戳无效导致签名校验失败 |
| 207 | 重放请求 |
| 303 | 服务端的其它异常 |
| 401 | 账户已经欠费停 |
| 402 | offlinesdk不可用 |
| 403 | 无权限 |
| 404 | 资源不存在 |
| 405 | auth服务不可用 |
| 411 | 访问频率受限,请稍后访问 |
| 412 | 超过最大翻译字符数 |
| VC001 | 不支持训练类型 |
| VC002 | 不支持性别类型 |
| VC003 | 无有效ticket |
| VC004 | 语音包创建失败 |
| VC005 | 语音包id不存在 |
| VC006 | 环境音检测失败 |
| VC007 | 语音包重训练次数耗尽 |
| VC008 | 当前存在训练中的任务 |
| VC009 | 启动训练失败 |
| VC010 | 训练任务id不存在 |
| VC011 | 删除语音包失败 |
| VC012 | 获取语音包列表失败 |
| VC013 | 获取训练状态失败 |
| VC014 | 语音评测失败 |
| VC015 | 开发者id为空 |
| VC016 | userId命名空间为空 |
| VC022 | 回调地址错误 |
| VC023 | 未知合成任务 |
| VC024 | 合成URL错误 |
| VC025 | 获取合成结果失败 |
| VC026 | 文件大小超限 |
| VC027 | description超出限制 |
| VC028 | name字段超出限制 |
| VC029 | order字段取值错误 |
| VC030 | text字段超限 |
| VC031 | 当日创建语音包到达上限 |
| VC032 | 音频时长错误 |
| VC033 | userId和packetId不匹配 |
| VC034 | 语音包录制文本重复 |
| VC036 | 获取语音包详情失败 |
| VC041 | 音量过高 |
| VC042 | 音频格式错误 |
| VC043 | 音频次序错误 |
| VC044 | 音频质量过低 |
| VC045 | 创建任务数超出限制(每天最多创建1000个训练任务) |
| VC046 | 音频数量错误 |
| VC047 | 不支持的启动类型 |
| VC048 | 处理音频错误 |
| VC049 | 调用Asr服务错误 |
| VC049 | 上传音频错误 |
| VC051 | 文件大小超限 |
| VC052 | 文件时长不合法 |