数字人
发布时间:2023-09-18 16:09
⼀、 前置条件
⼆、API公共请求参数
三、获取数字人形象列表接口
HTTP 协议
使用 HTTPS 进行调用。
请求地址
/api/aigc/job/element/getUserAvatarList
请求方法
HTTP POST
方法
请求参数
Headers 头
参数名称 | 参数值 | 是否必须 | 示例值 | 说明 |
---|---|---|---|---|
Content-Type |
application/x-www-form-urlencoded | 是 |
Body
参数名称 | 类型 | 是否必填 | 示例值 | 说明 |
---|---|---|---|---|
page |
int | 是 | 1 | 页码。 从1 开始 |
limit |
int | 是 | 10 | 返回个数。 最大取值为 20 |
返回参数
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
code |
int | 1 为成功,非 1 为失败,具体错误码见响应码 | |
msg |
string | ||
devMsg |
string | 开发调试使用 | |
data |
object | 数据对象,json 对象 | |
- avatarID |
string | 数字人id | |
- name |
string | 数字人姓名 | |
- person |
string | 数字人姿势 | |
- previewPic |
string | 数字人预览 | |
- previewVideo |
string | 请数字人预览视频 |
响应码
http 响应码 统一 为 200,具体 业务错误码 见 “六、错误码 章节
调用示例
请求示例
curl --location 'openapi.yizhentv.com/api/aigc/job/element/getUserAvatarList' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'appID={应用id}' \
--data-urlencode 'date=2023-7-5 18:22:50' \
--data-urlencode 'nonce=2cc80238-37e8-4a99-b803-eb0e2620eb2b' \
--data-urlencode 'signType=HMAC-SHA1' \
--data-urlencode 'signature={签名}' \
--data-urlencode 'page=1' \
--data-urlencode 'limit=20'
返回示例
{
"code": 1,
"msg": "SUCCESS",
"data": {
"page": 1,
"limit": 2,
"count": 2,
"cursor": 0,
"total": 39,
"hasMore": 1,
"list": [
{
"avatarID": "1",
"name": "丹",
"person": "丹坐姿",
"previewPic": "https://a.com/stream/image/IPWHcZMmeyFESsXDuTG4RdbFQcU0R0n7.jpg",
"previewVideo": "https://a.com/stream/5769ffc24d3511ee9e5af6521a823a44.mp4?ssig=f8a0a0fc68a4a42def34e56982653357&time_stamp=1695026633497"
},
{
"avatarID": "2",
"name": "欣",
"person": "欣",
"previewPic": "https://a.com/stream/image/xvO9XUXvGgPYpkhsAJxcxroCeIDHW2.jpg",
"previewVideo": "https://a.com/stream/8003d8ec3ffa11eea25088e9fe76804b.mp4?ssig=a9405ccac0431846efa6bc1b4e4b03d9&time_stamp=1695026633498"
}
]
},
"requestID": "34a4b2e4-55cd-11ee-9ff7-1ea180355006"
}
四、提交数字人合成作业接口
HTTP 协议
使用 HTTPS 进行调用。
请求地址
/api/aigc/v1/job/avatar/submitAvatarJob
请求方法
HTTP POST
方法
请求参数
Headers 头:
参数名称 | 参数值 | 是否必须 | 示例值 | 说明 |
---|---|---|---|---|
Content-Type |
application/x-www-form-urlencoded | 是 |
Body
参数名称 | 类型 | 是否必填 | 示例值 | 说明 |
---|---|---|---|---|
outJobID |
string | 否 | 803713748992 | 三方 job id ,使用方保持唯一,长度不要超过128 |
aiJobParams |
string | 是 | 作业参数,json 对象,包含作业相关参数,见作业参数 (表2) |
作业参数 (表2) :
参数名称 | 类型 | 是否必填 | 示例值 | 说明 |
---|---|---|---|---|
jobType |
string | 是 | 1 | 作业类型 1:数字人 |
avatarParams |
object | 是 | 数字人合成参数 | |
- avatarID |
string | 是 | 21 | 数字人形象id,见三、获取数字人形象列表接口 |
- title |
string | 是 | 视频标题 | |
- driveType |
int | 是 | 1 | 1: 文案驱动 2:音频驱动(目前不支持字幕) |
- resolution |
int | 否 | 1 | 分辨率: 1:480 2:720 3:1080 |
- input |
string | 否 | 输入文本。当 driveType 为 1 时必填 |
|
- audioUrl |
string | 否 | http://a.url | 音频驱动音频url,音频格式 mp3,当driveType 为 2 时必填 |
- ttsConfig |
object | 文案驱动语音合成配置。当 driveType 为 1 时必填 |
||
- narratorID |
string | 是 | 配音 id,详见获取配音列表 | |
- key |
string | 是 | 样音key,详见获取配音列表 | |
- background |
object | 否 | 背景 | |
- type |
int | 是 | 1 | 0:图⽚,1:视频, ⽀持mp4 格式,分辨率暂⽆要求,不同分辨率的视频按照短边撑满,视频居中形式处理 |
- url |
string | 否 | 背景 url 地址 | |
- cycle |
bool | 否 | 当 type=1 ,视频有效,false:单次播放,true:循环播放 |
|
- start |
int | 否 | 背景开始时间,以ms(毫秒)为单位 | |
- duration |
int | 否 | -1 | 背景持续时间,以ms(毫秒)为单位,-1为默认值,表⽰随视频⼀直存在 |
- foreground |
object | 否 | 前景 | |
- type |
int | 是 | 1 | 0:图⽚,1:视频, ⽀持mp4 格式,分辨率暂⽆要求,不同分辨率的视频按照短边撑满,视频居中形式处理 |
- url |
string | 否 | 背景 url 地址 | |
- cycle |
bool | 否 | 当 type=1 ,视频有效,false:单次播放,true:循环播放 |
|
- screenType |
int | 否 | 0 | 1:横屏, 2:竖屏。 默认为竖屏 |
- positionType |
int | 否 | 2 | 位置 1: 左上角 2:右上角 3:左下角 4:右下角 |
- Position |
object | 否 | 自定义位置 ,positionType 设置,此字段不生效 |
|
- x |
float | 否 | x轴位置 | |
- y |
float | 否 | y轴位置 | |
- w |
float | 否 | 宽 | |
- h |
float | 否 | 高 | |
- logo |
object | 否 | logo | |
- type |
int | 是 | 0:图⽚ 4: logo模版 | |
- url |
string | 否 | 前景url,⽀持png或jpg | |
- start |
int | 否 | 前景开始时间,以ms为单位 | |
- duration |
int | 否 | -1 | 前景持续时间,以ms为单 位,-1为默认值,表⽰随视频⼀直存在 |
- isHidden |
bool | 否 | 是否隐藏logo false: 不隐藏 true:隐藏 | |
- subtitle |
object | 否 | 前景 | |
- isShowSubtitle |
bool | 是 | 是否显示字幕 false: 不显示字幕 true:显示 | |
- subtitleID |
int | 否 | 预设字幕id,详见获取字幕风格列表 | |
- avatarLocation |
object | 否 | 数字人位置 | |
- positionType |
bool | 否 | 1 | 位置 1: 左上角 2:右上角 3:左下角 4:右下角 |
- scale |
float | 否 | 0.25 | 放大缩写比例,以 resolution 分辨率画布为参考 |
- Position |
object | 否 | 自定义位置 ,positionType 设置,此字段不生效 |
|
- x |
float | 否 | x轴位置 | |
- y |
float | 否 | y轴位置 | |
- w |
float | 否 | 宽 | |
- h |
float | 否 | 高 |
返回参数
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
code |
int | 1 | 1 为成功, 非 1 为失败,具体错误码见响应码 |
msg |
string | SUCCESS | |
devMsg |
string | 开发调试使用 | |
data |
object | 数据对象,json 对象。 | |
- jobID |
string | 作业id | |
requestID |
string | 请求id |
响应码
http 响应码 统一 为 200,具体 业务错误码 见 “六、错误码” 章节
调用示例
请求示例
curl --location 'openapi.yizhentv.com/api/aigc/v1/job/avatar/submitAvatarJob' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'appID={应用id}' \
--data-urlencode 'date=2023-7-5 18:22:50' \
--data-urlencode 'nonce=2cc80238-37e8-4a99-b803-eb0e2620eb2b' \
--data-urlencode 'signType=HMAC-SHA1' \
--data-urlencode 'signature={签名}' \
--data-urlencode 'outJobID=123' \
--data-urlencode 'aiJobParams={"jobType":1,"avatarParams":{"avatarID":1,"layoutType":2,"driveType":1,"title":"海底捞出外卖了","resolution":3,"ttsConfig":{"narratorID":"1","key":"DpE6fE~keDY7s1Gk~a~V3~KLR~We8zg__"},"input":"海底捞也出外卖了,七荤八素一共15道菜!","logo":{"type":4,"templateID":"807","isHidden":true},"subtitle":{"isShowSubtitle":true,"subtitleID":8},"background":{"type":1,"url":"https://a.xom"},"foreground":{"type":1,"url":"https://a.xom","positionType":2},"avatarLocation":{"position":{"x":400,"y":800,"w":400,"h":500},"positionType":3,"scale":0.25}}}'
返回示例
{
"code": 1,
"msg": "SUCCESS",
"data": {
"jobID": "91481171415099392"
},
"requestID": "539BA2BA-CF8C-4D8F-8AB0-1BD9FDCD0F2B"
}
五、查询数字人合成作业信息接口
HTTP 协议
使用 HTTPS 进行调用。
请求地址
/api/aigc/v1/job/avatar/getAvatarJob
请求方法
HTTP POST
方法
请求参数
Headers 头
参数名称 | 参数值 | 是否必须 | 示例值 | 说明 |
---|---|---|---|---|
Content-Type |
application/x-www-form-urlencoded | 是 |
Body
参数名称 | 类型 | 是否必填 | 示例值 | 说明 |
---|---|---|---|---|
jobID |
string | 是 | 91481171415099392 | 作业id,查询合成作业信息使用 |
返回参数
名称 | 类型 | 是否必须 | 默认值 | 说明 |
---|---|---|---|---|
code |
int | 是 | 1 为成功,非 1 为失败,具体错误码见响应码 | |
msg |
string | 是 | ||
devMsg |
string | 否 | 开发调试使用 | |
data |
object | 是 | 数据对象,json 对象 | |
- jobID |
string | 是 | 作业id | |
- video |
string | 是 | 视频 url 地址,有效期为 6 个小时,需要在及时同步走视频。 | |
- state |
int | 作业状态 1 : 作业待运行2: 作业运行中3: 作业运行成功4: 作业运行失败 | ||
requestID |
string | 是 | 请求id |
响应码
http 响应码 统一 为 200,具体 业务错误码 见 “六、错误码 章节
调用示例
请求示例
curl --location 'http://openapi.yizhentv.com/api/aigc/v1/job/avatar/getAvatarJob' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'appID={应用id}' \
--data-urlencode 'date=2023-7-5 18:22:50' \
--data-urlencode 'nonce=2cc80238-37e8-4a99-b803-eb0e2620eb2b' \
--data-urlencode 'signType=HMAC-SHA1' \
--data-urlencode 'signature={签名}' \
--data-urlencode 'jobID=91481171415099392'
返回示例
{
"code": 1,
"msg": "SUCCESS",
"data": {
"jobID": "909999",
"video": "https://test.com/v2.mp4?sign=8999",
"state": 3
},
"requestID": "2C1CBC94-9CB1-4EAF-8651-B44314EE9CFF"
}
六、错误码
详见 错误码