数字人
发布时间: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 |
int | 否 | 输入文本。当 driveType 为 1 时必填 |
|
- audioUrl |
string | 否 | http://a.url | 音频驱动音频url,音频格式 mp3,当driveType 为 2 时必填 |
- ttsConfig |
object | 文案驱动语音合成配置。当 driveType 为 1 时必填 |
||
- narratorID |
string | 是 | 配音 id,详见获取配音列表 | |
- key |
string | 是 | 样音key,详见获取配音列表 | |
- subtitleID |
int | 否 | 预设字幕id,详见获取字幕风格列表 此字段不为 0 时, subtitleConfig 对象不用设值 |
|
- isShowSubtitle |
bool | 否 | true | 是否显示字幕: false: 不显示字幕 true:显示 |
- subtitleConfig |
object | 否 | 字幕配置 | |
- fontFamily |
string | 否 | Noto Sans S Chinese Black | 字体名称,默认为 Noto Sans S Chinese Black,字体如下: Noto Sans S Chinese Black Noto Sans S Chinese Bold Noto Sans S Chinese DemiLight Noto Sans S Chinese Light Noto Sans S Chinese Medium Noto Sans S Chinese Regular Noto Sans S Chinese Thin |
- rgba |
array[int] | 否 | [255, 255, 0, 1] | Rgba 字幕颜色,按照 RGBA 形式传入,默认为 [255, 255, 255, 1] |
- fontSize |
int | 否 | 12 | 字体大小设置,默认为12 |
background |
object | 否 | 背景 | |
- type |
int | 是 | 1 | 0:图⽚,1:视频, ⽀持mp4 格式,分辨率暂⽆要求,不同分辨率的视频按照短边撑满,视频居中形式处理 |
- url |
string | 否 | 背景 url 地址 | |
- rect |
array[int] | 否 | 背景起始位置和⼤⼩,以 resolution 分辨率画布为参考 |
|
- cycle |
bool | 否 | 当 type=1 ,视频有效,false:单次播放,true:循环播放 |
|
- start |
bool | 否 | 背景开始时间,以ms(毫秒)为单位 | |
- duration |
bool | 否 | -1 | 背景持续时间,以ms(毫秒)为单位,-1为默认值,表⽰随视频⼀直存在 |
foreground |
object | 否 | 前景 | |
- type |
int | 是 | 0:图⽚ | |
- url |
string | 否 | 前景url,⽀持png或jpg | |
- rect |
array[int] | 否 | [0, 0, 240, 80] | 背景起始位置和⼤⼩,以 resolution 分辨率画布为参 考 |
- start |
bool | 否 | 背景开始时间,以ms为单位 | |
- duration |
bool | 否 | -1 | 背景持续时间,以ms为单 位,-1为默认值,表⽰随视频⼀直存在 |
返回参数
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
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":668,"title":"老师,你好","driveType":1,"resolution":1,"ttsConfig":{"narratorID":"380","key":"WsvzA8lcLm16XXHTIGWm15iSxCjV0l3","isShowSubtitle":true,"subtitleConfig":{"rgba":[255,255,0,1],"fontSize":12}},"input":"老师,您好,祝你生日快乐,身体健康,万事如意!","audioUrl":"https://a.com/audio/vKabI4HjKKq9bGfZnFQGHvpQjiLNc4k2Ssunlg___1694757089.mp3?ssig=afa64cca01c2d85fbf8210f250548c80\u0026time_stamp=1694778816526","background":{"type":1,"url":"https://a.com/audio/qHx7NhswaR~ps4PFiSikvDvi8~CF0fTeGYaL1g___1683369913.mp4?ssig=4da3e215eba6b8a5f4f2cf01bc8047c2\u0026time_stamp=1683373514244"},"foreground":{"url":"https://stc.miaopai.com/aigc/images/logo-pc.png","rect":[0,0,240,80]}}}'
返回示例
{
"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"
}
六、错误码
详见 错误码