虚拟形象生成
一、接口描述
1. 功能描述
数字虚拟人,作为多模态交互的可视化产品形态,可应用在多种业务场景。本AI的主要功能为:对用户给定的文字内容,输出虚拟人朗读此段文字的视频文件。
2. 能力说明:
支持文本输入,进行文本转语音,通过音频驱动虚拟形象,输出音视频同步,且表情自然、动作协调的合成视频,视频文件存储在指定路径,支持用户下载。
- 预置虚拟形象及声音,为用户提供形象租用服务
- 支持形象定制和扩展
- 预设2个形象,预设2个音色,预设1个科技风格背景
- 输出的视频格式为h.264编码的MP4文件,视频分辨率为1920*1080,视频帧率为25fps,码率为4mbps
- 虚拟形象为真人风格,头肩形象,内容播报时面部中性表情及微笑表情的自然切换,可形成小幅度头肩动作。
3. 接口数据要求:
- 输入文本为中文文本,文本仅支持UTF-8格式
4. 接口使用:
平台为每个API提供试用体验服务,您在AI市场选择“免费试用”规格下单后,即可开始体验业内领先的人工智能API服务。 免费试用服务具有调用量、QPS限制,如需更高性能的API服务,可以提交咨询工单,联系京东AI扩容购买。
在获得使用权限后,您可使用已经封装好的SDK/参照接口鉴权规则进行相应开发,整体流程详见 接入流程
二、请求说明
虚拟人形象生成服务共包括两个API:
- 任务创建API:创建一个虚拟形象生成任务
- 结果查询API:获取虚拟形象生成任务进度及结果
用户需要先调用创建任务API,任务成功创建后,会返回给用户对应的任务ID;然后,用户可以通过任务ID来查询该任务的进度和结果,若虚拟形象视频生成完毕,则会返回相应的视频链接供用户下载。
任务创建API和结果查询API的说明如下:
(一)任务创建API
1. 接口地址 :
https://aiapi.jd.com/jdai/virtual_human_create_task
2. 请求方式:
post
3. 请求参数
(1)query请求参数
公共请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
appkey | string | 是 | 80d2b762ecb86593f9668526920f46c | 您的appkey,可在买家中心控制台中获取 |
timestamp | long | 是 | 1541491668060 | 请求的时间戳,精确到毫秒,timestamp有效期5分钟 |
sign | string | 是 | 2e148773a0337a8f2200ba90d445f083 | 签名,根据规则MD5(sectetkey+timestamp), |
(2)header请求参数
业务请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
Content-Type | string | 是 | application/json | 请求内容类型 |
(3)body请求参数
业务请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
text | string | 是 | "你好,京东" | 待合成的文本,UTF-8编码,长度不超过1000个字符 |
character_id | string | 是 | "0" | 虚拟人形象ID:虚拟人形象ID编号,各个虚拟人形象及对应的ID如下表所示 |
虚拟人形象及ID对应关系如下表所示:
虚拟人形象ID | 虚拟人形象说明 |
---|---|
0 | 女士、全身、绿色背景 |
4、请求代码示例
建议您使用我们提供的SDK进行调用,SDK获取及调用方式详见本页一接口描述中的4接口使用
(二)结果查询API
1. 接口地址 :
https://aiapi.jd.com/jdai/virtual_human_get_task_status
2. 请求方式:
post
3. 请求参数
(1)query请求参数
公共请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
appkey | string | 是 | 80d2b762ecb86593f9668526920f46c | 您的appkey,可在买家中心控制台中获取 |
timestamp | long | 是 | 1541491668060 | 请求的时间戳,精确到毫秒,timestamp有效期5分钟 |
sign | string | 是 | 2e148773a0337a8f2200ba90d445f083 | 签名,根据规则MD5(sectetkey+timestamp), |
(2)header请求参数
业务请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
Content-Type | string | 是 | application/json | 请求内容类型 |
(3)body请求参数
业务请求参数
名称 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|
task_id | string | 是 | abc87hdsvb32nb9u | 任务ID,由创建任务API返回 |
4、请求代码示例
建议您使用我们提供的SDK进行调用,SDK获取及调用方式详见本页一接口描述中的4接口使用
三、返回说明
(一)任务创建API
1、返回参数
(1)公共返回参数
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
code | string | 1000 | 参见下方错误码-系统级错误码 |
charge | boolean | false 或 true | false:不扣费, true:扣费 |
remainTimes | long | 1305 | 剩余调用次数;免费api:每天剩余调用次数;收费api:剩余次数;无限制时为-1 |
remainSeconds | long | 1223456 | 剩余调用时间(s);免费api:-1;收费api:剩余调用时间;无限制时为-1 |
msg | string | 查询成功 | 参见下方错误码-系统级错误码 |
result | object | {...} | 接口返回结果 |
(2)业务返回参数
result参数信息
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
status_code | string | 0 | 参照四、错误码-业务错误码 |
status_message | string | "SUCCESS!" | 参照四、错误码-业务错误信息 |
task_id | string | abc87hdsvb32nb9u | 任务ID |
2、返回示例
Status Code: 200
Time:550ms
Date:Thu 8 Nov 2018 03:08:40 GMT
Body:
{
"code": "0",
"charge": false,
"remain": 0,
"msg": "查询成功",
"result": {
"status_code": "0",
"status_message": "success",
"task_id": "abc87hdsvb32nb9u"
}
}
(二)结果查询API
1、返回参数
(1)公共返回参数
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
code | string | 1000 | 参见下方错误码-系统级错误码 |
charge | boolean | false 或 true | false:不扣费, true:扣费 |
remainTimes | long | 1305 | 剩余调用次数;免费api:每天剩余调用次数;收费api:剩余次数;无限制时为-1 |
remainSeconds | long | 1223456 | 剩余调用时间(s);免费api:-1;收费api:剩余调用时间;无限制时为-1 |
msg | string | 查询成功 | 参见下方错误码-系统级错误码 |
result | object | {...} | 接口返回结果 |
(2)业务返回参数
result参数信息
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
status_code | string | 0 | 参照四、错误码-业务错误码 |
status_message | string | "success" | 参照四、错误码-业务错误信息 |
task_id | string | "abc87hdsvb32nb9u" | 任务ID |
progress | float | 0.95 | 任务进度,取值范围为:[0, 1], 例如0.95代表当前任务完成了95% |
video_url | string | http://example_video_url...... | 视频下载链接地址,当进度不为1时,该字段为空字符串 |
2、返回示例
Status Code: 200
Time:550ms
Date:Thu 8 Nov 2018 03:08:40 GMT
Body:
{
"code": "0",
"charge": false,
"remain": 0,
"msg": "查询成功",
"result": {
"status_code": "0",
"status_message": "success",
"task_id": "abc87hdsvb32nb9u",
"progress": 0.95,
"video_url": "http://example_video_url......"
}
}
四、错误码
1.系统级错误码
2.业务错误码
业务错误码(status) | 对应message | 说明 |
---|---|---|
0 | "success" | 成功 |
40000 | "lack parameters, please check input parameters" | 缺少必须的参数 |
40001 | "wrong parameters type, please check type of the parameters" | 错误的参数数据类型 |
40002 | "text is empty" | 文本内容为空 |
40003 | "unknown character_id" | 未知的character_id值 |
40004 | "unknown task_id" | 未知的任务ID |
40005 | "fail to create task" | 任务创建失败 |
40006 | "task failed" | 任务执行失败 |
50000 | "internal error" | 系统内部错误 |