与我司商务合作后,我司会给客户进行开户,用户使用我司提供的账号密码登录我司平台后获取AccessKey, Secretkey进行接入对接,请妥善保存SecretKey。
调用流程如下图
硅语平台生产地址:https://meta.guiji.ai (opens new window)
在配置回调地址之后,开放平台会将任务过程事件信息推送至该回调接口。
在创建视频合成任务后,硅语开发平台会调用用户在平台配置的回调接口,进行合成结果的通知,详见3.7
硅语平台获取签名的规则为:通过AccessKey、时间戳、加密生成得到的签名【MD5(AccessKey+时间戳+SecretKey)】,MD5结果取32位小写值,然后通过该签名请求硅语平台获取token,后续接口都需要加上该token进行请求,具体接口信息见第三部分API详细信息。
硅语平台得到token和其他请求数据集合后,会先进行安全校验等验证,一系列验证通过后便会处理完成这次发送过来的数据请求,平台返回的参数格式如下:
字段 | 类型 | 是否必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | N | 成功/错误的描述信息 |
data | object | N | 返回的具体内容 |
错误码 | 描述 |
---|---|
0 | 正常 |
40001 | 内部异常 |
40002 | token无效 |
40003 | token超时 |
40010 | 余额不足 |
40011 | 不合法的音频地址 |
40012 | 不合法的音频时长 |
40013 | 不合法的文件大小 |
40014 | 缺少必要文件 |
40015 | 缺少必要参数 |
40016 | 文件上传失败 |
40017 | 文件下载失败 |
40018 | 文件不存在 |
40019 | 超出并发 |
40020 | 不支持的背景图片格式 |
40021 | 提交训练视频失败 |
40022 | 不合法的码率值 |
40023 | 不合法的分辨率值 |
40024 | 不合法的fps值 |
40025 | 模特不存在 |
40026 | 模特已过期 |
40027 | 不合法的视频格式 |
/openapi/oauth/token
GET
字段 | 类型 | 是否必须 | 备注 |
---|---|---|---|
appId | string | Y | Access key |
timestamp | string | Y | 当前时间戳,精确到毫秒 |
sign | string | Y | 生成的签名 |
grant_type | string | Y | 认证类型(固定值‘sign’) |
示例:
https://meta.guiji.ai/openapi/oauth/token?grant_type=sign×tamp=1648429269823&sign=3fe58596ec5edc297876e00f4e4b1a49&appId=TPbMPQeD4U2dJgRY62PCRnSz
字段 | 类型 | 是否必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
success | boolean | Y | 成功/错误 |
data | json | N | 返回的JSONObject |
access_token | string | N | 返回的token值 |
expires_in | integer | N | Token过期时间,单位“秒” |
示例:
{
"code": "0",
"success": true,
"data": {
"access_token": "99568c59-eb7e-4feb-b546-078f2fe9d5c6",
"expires_in": 7199
}
}
/openapi/robot/v2/pageList?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
page | integer | Y | 请求页数 |
size | integer | Y | 每页 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
pageSize | integer | N | 页尺寸 |
pageNo | integer | N | 页号 |
totalRecord | integer | N | 总记录数 |
records | list | N | 模特列表 |
id | integer | N | 模特ID |
robotName | string | N | 模特名称 |
robotDesc | string | N | 模特描述 |
coverUrl | string | N | 模特封面地址 |
gender | integer | N | 性别1男 2女 |
version | integer | N | 类型0:2D 1:3D |
age | integer | N | 年龄 |
type | integer | N | 模特类型 1-私人定制 2-会员订阅 3或空-其他 |
expireTime | string | N | 模特过期时间 |
starSigns | integer | N | 星座 1:'白羊座', 2:'金牛座', 3:'双子座', 4:'巨蟹座', 5:'狮子座', 6:'处女座', 7:'天秤座', 8:'天蝎座', 9:'射手座', 10:'摩羯座', 11:'水瓶座', 12:'双鱼座' |
popularity | integer | N | 人气 |
speakerId | string | N | 默认适配的tts发言人 |
labelBaseDTOList | list | N | 标签列表 |
labelName | string | N | 标签名称 |
sceneList | list | N | 数字人场景列表 |
id | integer | N | 场景id(重要,视频合成必填ID) |
sceneName | string | N | 场景名称 |
exampleUrl | string | N | 示例视频 |
coverUrl | string | N | 封面地址 |
samplePictureUrl | string | N | 示例图片 |
sceneType | integer | N | 场景类型,0-绿幕,1-其他 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"pageSize": 10,
"pageNo": 1,
"totalRecord": 8,
"records": [{
"id": 458,
"robotName": "测试—明",
"robotDesc": "123",
"coverUrl": "http://172.16.17.21:8000/nfs/model/png/d748497cb56bcc9f6d37e7091451d75f.png",
"gender": 2,
"age": 22,
"starSigns": 1,
"face": null,
"expireTime": "2024-03-15 18:19:03",
"popularity": 1000,
"speakerId": "120",
"sceneList": [{
"id": 666,
"sceneName": "硅语",
"exampleUrl": "http://172.16.17.21:8000/nfs/model/mp4/d46e1d0f71ff78054268106f0ac0ff28.mp4",
"coverUrl": "http://172.16.17.21:8000/nfs/model/png/9cbbc8834a84c3a57a63d8f92d083ad2.png",
"sceneType": 0
}
],
"labelBaseDTOList": [{
"labelName": "温婉贤淑"
}
]
}
]
}
}
/openapi/robot/v2/freeListPage?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
page | integer | Y | 请求页数 |
size | integer | Y | 每页 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
pageSize | integer | N | 页尺寸 |
pageNo | integer | N | 页号 |
totalRecord | integer | N | 总记录数 |
records | list | N | 模特列表 |
id | integer | N | 模特ID |
robotName | string | N | 模特名称 |
robotDesc | string | N | 模特描述 |
coverUrl | string | N | 模特封面地址 |
gender | integer | N | 性别1男 2女 |
version | integer | N | 类型0:2D 1:3D |
age | integer | N | 年龄 |
starSigns | integer | N | 星座 1:'白羊座', 2:'金牛座', 3:'双子座', 4:'巨蟹座', 5:'狮子座', 6:'处女座', 7:'天秤座', 8:'天蝎座', 9:'射手座', 10:'摩羯座', 11:'水瓶座', 12:'双鱼座' |
popularity | integer | N | 人气 |
speakerId | string | N | 默认适配的tts发言人 |
labelBaseDTOList | list | N | 标签列表 |
labelName | string | N | 标签名称 |
sceneList | list | N | 数字人场景列表 |
id | integer | N | 场景id(重要,视频合成必填ID) |
sceneName | string | N | 场景名称 |
exampleUrl | string | N | 示例视频 |
coverUrl | string | N | 封面地址 |
samplePictureUrl | string | N | 示例图片 |
sceneType | integer | N | 场景类型,0-绿幕,1-其他 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"pageSize": 10,
"pageNo": 1,
"totalRecord": 8,
"records": [{
"id": 458,
"robotName": "测试—明",
"robotDesc": "123",
"coverUrl": "http://172.16.17.21:8000/nfs/model/png/d748497cb56bcc9f6d37e7091451d75f.png",
"gender": 2,
"age": 22,
"starSigns": 1,
"face": null,
"popularity": 1000,
"speakerId": "120",
"sceneList": [{
"id": 666,
"sceneName": "硅语",
"exampleUrl": "http://172.16.17.21:8000/nfs/model/mp4/d46e1d0f71ff78054268106f0ac0ff28.mp4",
"coverUrl": "http://172.16.17.21:8000/nfs/model/png/9cbbc8834a84c3a57a63d8f92d083ad2.png",
"sceneType": 0
}
],
"labelBaseDTOList": [{
"labelName": "温婉贤淑"
}
]
}
]
}
}
/openapi/robot/v2/freeList?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
GET
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
无 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | list | N | 模特列表 |
id | integer | N | 模特ID |
robotName | string | N | 模特名称 |
robotDesc | string | N | 模特描述 |
coverUrl | string | N | 模特封面地址 |
gender | integer | N | 性别1男 2女 |
version | integer | N | 类型0:2D 1:3D |
age | integer | N | 年龄 |
starSigns | integer | N | 星座 1:'白羊座', 2:'金牛座', 3:'双子座', 4:'巨蟹座', 5:'狮子座', 6:'处女座', 7:'天秤座', 8:'天蝎座', 9:'射手座', 10:'摩羯座', 11:'水瓶座', 12:'双鱼座' |
popularity | integer | N | 人气 |
speakerId | string | N | 默认适配的tts发言人 |
labelBaseDTOList | list | N | 标签列表 |
labelName | string | N | 标签名称 |
sceneList | list | N | 数字人场景列表 |
id | integer | N | 场景id(重要,视频合成必填ID) |
sceneName | string | N | 场景名称 |
exampleUrl | string | N | 示例视频 |
coverUrl | string | N | 封面地址 |
samplePictureUrl | string | N | 示例图片 |
sceneType | integer | N | 场景类型,0-绿幕,1-其他 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": [
{
"id": 5706,
"robotName": "TEST MODEL",
"robotDesc": null,
"coverUrl": "http://127.0.0.1/4bff7706a6a1b1819857860186a5661c.png",
"gender": 2,
"age": null,
"starSigns": null,
"sceneList": [
{
"id": 6159,
"sceneName": "TEST MODEL",
"sceneCode": "457718949994565",
"baseCode": null,
"exampleUrl": "http://127.0.0.1/805b59e86812e9a5172847cd32c24d38.mp4",
"coverUrl": "http://127.0.0.1/4fa3096f0bbac88033540c24f851586c.png",
"samplePictureUrl": "http://127.0.0.1/191cb285bea3b3f147fe9d96fa1cb151.png",
"proportion": "9:16",
"resolution": "1080x1920",
"robotId": 5706,
"sceneType": 0,
"posture": "1",
"applicationType": "1",
"noTrainFlag": 1
}
],
"version": 0,
"labelBaseDTOList": []
}
]
}
/openapi/speaker/v2/list?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
GET
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
无 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | jsonArray | Y | 返回的jsonArray |
id | string | Y | 发言人ID |
ttsName | string | Y | 发言人名 |
ttsIntroduction | string | Y | 介绍 |
ttsScenes | string | Y | 使用场景 |
ttsSpeaker | string | Y | 发言人标识 |
ttsFeatures | string | Y | 特色 |
ttsAudition | string | Y | 示例音频地址 |
ttsCover | string | Y | 封面地址 |
languages | jsonArray | Y | 支持的语言类型列表 cn-中文 en-英文 |
sex | integer | Y | 性别 1: 男,2:女 |
示例:
{
"code": "0",
"message": "请求成功",
"success": true,
"data": [{
"id": 158,
"ttsName": "梦田甜",
"ttsIntroduction": "梦田甜",
"ttsScenes": "新闻播报|专题宣传",
"ttsSpeaker": "yujie_meet",
"ttsFeatures": "自然流畅、成熟知性",
"ttsAudition": "http://172.16.17.21:8000/nfs/tts-market/cmww/tts_case/yujie_meet_0.wav",
"ttsCover": "http://172.16.17.21:8000/nfs/tts-market/cmww/moqiusha_mengtiantian.png",
"languages": [
"cn",
"en"
],
"sex": 2
}
]
}
/openapi/video/v2/create?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
audioUrl | string | Y | 音频地址,需公网可访问 |
sceneId | string | Y | 场景ID,从模特列表接口获取 |
backgroundUrl | string | N | 自定义背景,需公网可访问 |
videoName | string | N | 合成作品名称 |
bitRate | string | 视频码率 可选值:1M、1.5M、3M、3.5M、5M、7M、8M、10M、12M、16M | |
width | string | 横向分辨率(默认’1080’) | |
height | string | 纵向分辨率(默认’1920’) | |
mask | string | 是否启用mask ‘0’不起用 ’1’: 启用 | |
fps | string | fps 可选值:"15"、 "20"、 "25"、 "30" | |
callbackUrl | string | 合成结果回调地址 | |
matting | string | 是否抠图,0-不抠图 1-抠图;如果选择抠图,请同时设置‘backgroundUrl’值 | |
pixFmt | string | 色彩度, 如‘yuv444p’ | |
videoFormat | string | 合成结果视频格式 可选值:mp4、webm,默认为mp4 | |
style | object | N | 控制模特大小及位置(具体位置说明参考第四章位置说明, 注意:目前该功能只支持输出mp4格式视频) |
x | string | N | 控制模特水平方向位置(整数值) |
y | string | N | 控制模特垂直方向位置(整数值) |
width | string | N | 控制模特宽度(整数值) |
height | string | N | 控制模特高度(整数值) |
indexLayer | Number | N | 控制模特图层层级 |
nodes | array | N | 在画面中添加素材(注意:目前该功能只支持输出mp4格式视频) |
type | string | N | 素材类型,'1'-视频素材 '2'-图片素材 |
url | string | N | 素材地址 |
indexLayer | Number | N | 控制素材图层层级 |
style | string | N | 控制素材位置 |
x | string | N | 控制素材水平方向位置(整数值) |
y | string | N | 控制素材垂直方向位置(整数值) |
width | string | N | 控制素材宽度(整数值) |
height | string | N | 控制素材高度(整数值) |
rotation | string | N | 旋转角度(整数值,顺时针计算) |
示例
{
"audioUrl": "http://127.0.0.1/video-server/test/test_001.wav",
"sceneId": "1921",
"backgroundUrl": null,
"bitRate": "3.5M",
"width": "720",
"height": "1280",
"fps": "30",
"mask": "1",
"callbackUrl": "http://127.0.0.1/openapi/callback",
"pixFmt": "yuv444p",
"style": {
"x": "637",
"y": "327",
"width": "364",
"height": "647"
}
}
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
videoId | string | N | 视频作品ID |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"videoId": 2598397
}
}
/openapi/video/v2/create/tss?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
Application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
text | string | Y | 合成的文本,文本支持以下标签: 插入停顿(单位:秒):<delay value="0.5"/> 自定义读音:<grammar type="custom" value="十万">100000</grammar> 多音字标注:<grammar type="pinyin" value="hang2">行</grammar> |
sceneId | string | Y | 场景ID,从模特列表接口获取 |
speakerId | string | Y | 发音人id |
backgroundUrl | string | N | 自定义背景,需公网可访问 |
videoName | string | N | 合成作品名 |
bitRate | string | 视频码率 可选值:1M、1.5M、3M、3.5M、5M、7M、8M、10M、12M、16M | |
width | string | 横向分辨率(默认’1080’) | |
height | string | 纵向分辨率(默认’1920’) | |
mask | string | 是否启用mask ‘0’不起用 ’1’: 启用 | |
fps | string | fps 可选值:"15"、 "20"、 "25"、 "30" | |
callbackUrl | string | 合成结果回调地址 | |
speechRate | string | 语速,取值区间:[0-1.0] | |
volume | string | 音量,取值区间:[0-1.0] | |
srtFlag | string | 是否生成字幕文件,0-不生成 1-生成 | |
matting | string | 是否抠图,0-不抠图 1-抠图;如果选择抠图,请同时设置‘backgroundUrl’值 | |
pixFmt | string | 色彩度, 如‘yuv444p’ | |
videoFormat | string | 合成结果视频格式 可选值:mp4、webm,默认为mp4 | |
style | object | N | 控制模特大小及位置(具体位置说明参考第四章位置说明, 注意:目前该功能只支持输出mp4格式视频) |
x | string | N | 控制模特水平方向位置(整数值) |
y | string | N | 控制模特垂直方向位置(整数值) |
width | string | N | 控制模特宽度(整数值) |
height | string | N | 控制模特高度(整数值) |
indexLayer | Number | N | 控制模特图层层级 |
nodes | array | N | 在画面中添加素材(注意:目前该功能只支持输出mp4格式视频) |
type | string | N | 素材类型,'1'-视频素材 '2'-图片素材 |
url | string | N | 素材地址 |
indexLayer | Number | N | 控制素材图层层级 |
style | string | N | 控制素材位置 |
x | string | N | 控制素材水平方向位置(整数值) |
y | string | N | 控制素材垂直方向位置(整数值) |
width | string | N | 控制素材宽度(整数值) |
height | string | N | 控制素材高度(整数值) |
rotation | string | N | 旋转角度(整数值,顺时针计算) |
srtStyle | object | N | 字幕样式(srtFlag=1生效) |
x | string | N | 字幕水平方向位置默认值480 |
y | string | N | 字幕垂直方向位置默认值888 |
fontSize | string | N | 字幕字体大小默认值60 |
color | string | N | 字幕字体颜色默认值:#000000 |
width | string | N | 宽度 |
height | string | N | 高度 |
示例
{
"text": "你好,我是数字人",
"speakerId": "1922",
"sceneId": "1921",
"backgroundUrl": null,
"bitRate": "3.5M",
"width": "720",
"height": "1280",
"fps": "30",
"mask": "1",
"callbackUrl": "http://127.0.0.1/openapi/callback",
"srtFlag": "1",
"matting": "0",
"speechRate": "0.5",
"pixFmt": "yuv444p",
"style": {
"x": "637",
"y": "327",
"width": "364",
"height": "647"
},
"srtStyle": {
"x": 480,
"y": 888,
"fontSize": 60,
"color": "#000000"
}
}
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
videoId | string | N | 视频作品ID |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"videoId": 2598398
}
}
用户在平台配置的回调接口地址
POST
Application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
taskType | string | Y | 值为video-synthesis表示视频合成任务回调 |
data | json | N | jsonobject |
id | integer | N | 提交的任务ID |
videoName | string | N | 视频名称 |
result | string | Y | success, fail |
failReason | string | N | 失败原因 |
videoFormat | string | N | 视频格式 |
videoUrl | string | N | 合成视频的URL |
horizontal | integer | N | 水平分辨率 |
vertical | integer | N | 垂直分辨率 |
duration | string | N | 时长(单位:秒,如11.32) |
videoSize | integer | N | 文件尺寸(单位MB,只精确到MB) |
coverUrl | string | N | 封面图地址 |
userId | integer | N | 用户ID |
createTime | long | N | 创建时间 |
updateTime | long | N | 更新时间 |
maskUrl | string | N | mask压缩文件地址, (仅当启用mask时有值) |
示例
{
"taskType": "video-synthesis",
"data": {
"id": 2598332,
"videoName": null,
"videoFormat": "mp4",
"horizontal": 1080,
"vertical": 1920,
"proportion": "9:16",
"duration": null,
"videoSize": null,
"coverUrl": null,
"videoUrl": "http://127.0.0.1/nfs/vpp/vpp/824536484852932608.mp4",
"maskUrl": "http://127.0.0.1/nfs/vpp/vpp/824536484852932608.zip",
"srtUrl": "http://127.0.0.1/nfs/vpp/vpp/824536484852932608.srt",
"result": "success",
"userId": 1337,
"createTime": 1676386065000,
"updateTime": 1676386065000
}
}
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
示例
{
"code": "0",
"message": "请求成功",
"success": true
}
/openapi/video/v2/pageList?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
page | integer | Y | 请求页数 |
size | integer | Y | 每页 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
msg | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
pageSize | integer | N | 页尺寸 |
pageNo | integer | N | 页号 |
totalRecord | integer | N | 总记录数 |
records | list | N | 记录列表 |
id | integer | N | 提交的任务ID |
videoName | string | N | 视频名称 |
videoFormat | string | N | 视频格式 |
synthesisStatus | integer | N | -1. 编辑中 0.准备中 1. 排队中 2. 合成中 3:合成成功 4:合成失败 5. 归档 6. 任务取消 7. 任务失败 |
videoUrl | string | N | 合成视频的URL |
srtUrl | string | N | 字幕文件URL, ‘srtFlag’为1时才有值 |
horizontal | integer | N | 水平分辨率 |
vertical | integer | N | 垂直分辨率 |
duration | integer | N | 时长 |
videoSize | integer | N | 文件尺寸 |
coverUrl | string | N | 封面图地址 |
userId | integer | N | 用户ID |
createTime | string | N | 创建时间 |
updateTime | string | N | 更新时间 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"pageSize": 10,
"pageNo": 1,
"totalRecord": 153,
"records": [{
"id": 2598398,
"videoName": null,
"videoFormat": "mp4",
"horizontal": 1080,
"vertical": 1920,
"proportion": "9:16",
"duration": "96",
"videoSize": "25MB",
"coverUrl": null,
"videoUrl": "http://172.16.17.21:8000/nfs/vpp/vpp/825562972557549568.mp4",
"srtUrl": "http://172.16.17.21:8000/nfs/vpp/vpp/825562972557549568.srt",
"synthesisStatus": 3,
"userId": 1,
"createTime": "2022-03-28 11:07:46",
"updateTime": "2022-03-28 11:07:48"
}
]
}
}
/openapi/speaker/v2/tts?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
POST
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
speakerId | string | Y | 发言人ID不能为空 |
volume | integer | N | 音量,取值区间:[0-1] |
speechRate | integer | N | 语速,取值区间:[0-1] |
content | string | Y | 文本内容不能为空 |
srtFlag | string | N | 否需要字幕文件 0-不需要 1-需要 |
async | boolean | N | 是否异步处理,true-异步返回(推荐使用异步接口,同步调用后期可能会废弃) |
callbackUrl | string | N | 异步处理回调地址,若无回调地址,也可通过tts查询接口查询 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | Y | 返回的jsonobject |
id | integer | Y | 唯一标识 |
ttsUrl | integer | N | 音频地址 |
srtUrl | integer | N | srt文件地址('srtFlag'=1时返回) |
duration | list | N | 音频时长(单位:毫秒) |
status | integer | N | 状态 0-准备中 1-合成中 2-合成成功 3-合成失败 |
返回报文示例
{
"code": "0",
"data": {
"id": 1,
"duration": 0,
"srtUrl": "",
"ttsUrl": ""
},
"message": "",
"success": true
}
异步回调报文示例
{
"taskType": "tts-synthesis",
"data": {
"duration": 0,
"srtUrl": "",
"ttsUrl": "",
"id": 1,
"status": 2
}
}
/openapi/speaker/v2/tts/pageList?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
POST
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
page | integer | Y | 请求页数 |
size | integer | Y | 每页 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
pageSize | integer | N | 页尺寸 |
pageNo | integer | N | 页号 |
totalRecord | integer | N | 总记录数 |
records | list | N | 记录列表 |
id | integer | Y | 唯一标识 |
ttsUrl | integer | N | 音频地址 |
srtUrl | integer | N | srt文件地址('srtFlag'=1时返回) |
duration | list | N | 音频时长(单位:毫秒) |
status | integer | N | 状态 0-准备中 1-合成中 2-合成成功 3-合成失败 |
返回报文示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"pageSize": 100,
"pageNo": 1,
"totalRecord": 2,
"records": [
{
"id": 20,
"ttsUrl": "http://127.0.0.1/1105667226071080960.wav",
"srtUrl": "http://127.0.0.1/1105667226071080960.srt",
"duration": 1539,
"status": 2
},
{
"id": 19,
"ttsUrl": "http://127.0.0.1/1105667111205871616.wav",
"srtUrl": "http://127.0.0.1/1105667111205871616.srt",
"duration": 601,
"status": 2
}
]
}
}
/openapi/speaker/v2/tts/{id}?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
GET
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
id | integer | Y | TTS提交时返回的ID(路径参数) |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | Y | 返回的jsonobject |
id | integer | Y | 唯一标识 |
ttsUrl | integer | N | 音频地址 |
srtUrl | integer | N | srt文件地址('srtFlag'=1时返回) |
duration | list | N | 音频时长(单位:毫秒) |
status | integer | N | 状态 0-准备中 1-合成中 2-合成成功 3-合成失败 |
返回报文示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"id": 17,
"ttsUrl": "http://127.0.0.1/1104702054431072256.wav",
"srtUrl": "http://127.0.0.1/1104702054431072256.srt",
"duration": 2012,
"status": 2
}
}
/openapi/user/v2/get?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
GET
无
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | string | Y | 返回的jsonobject |
user | json | Y | 用户信息 |
id | string | Y | 用户ID |
username | string | Y | 用户名 |
nickname | string | Y | 昵称 |
corpId | string | Y | 企业ID |
corpName | string | Y | 企业名称 |
primaryOrgId | string | Y | 一级组织ID |
primaryOrgName | string | Y | 一级组织名称 |
secondaryOrgId | string | Y | 二级组织ID |
secondaryOrgName | string | Y | 二级组织名称 |
roleId | string | Y | 角色ID |
roleName | string | Y | 角色名称 |
mobile | string | Y | 手机号 |
string | Y | 邮箱地址 | |
account | json | Y | 账户信息 |
balance | float | Y | 账户余额 |
duration | integer | Y | 剩余时长(秒) |
durationCost | integer | Y | 消耗市场(秒) |
giftBalance | float | Y | 赠送余额 |
privateDuration | integer | Y | 模特私有市场汇总(秒) |
totalCost | float | Y | 总消费额度 |
universalDuration | integer | Y | 通用时长汇总(秒) |
ttsDuration | integer | Y | 音频合成剩余时长(单位:秒) |
trainTime | integer | Y | 剩余训练次数 |
totalAmount | integer | Y | 合同总金额 |
aiPanting | integer | Y | Ai绘画(单位:次) |
aiCartoon | integer | Y | Ai漫画(单位:次) |
示例:
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"user": {
"id": 1,
"userId": null,
"username": "admin",
"email": null,
"nickname": "硅基超级管理员",
"corpId": 1000000,
"corpName": null,
"mobile": "admin",
"primaryOrgId": null,
"primaryOrgName": null,
"secondaryOrgId": null,
"secondaryOrgName": null
},
"account": {
"balance": 1,
"duration": 0,
"durationCost": 0,
"giftBalance": 1,
"privateDuration": 0,
"totalCost": 1,
"universalDuration": 0,
"ttsDuration": 0,
"trainTime": 3,
"totalAmount": null,
"aiPanting": 95,
"aiCartoon": 0
}
}
}
/admin/user/v2/pageList?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
Application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
page | integer | Y | 页码 |
size | integer | Y | 每页大小 |
示例
{
"page": 0,
"size": 0
}
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | string | Y | 返回的jsonobject |
pageSize | integer | N | 页尺寸 |
pageNo | integer | N | 页号 |
totalRecord | integer | N | 总记录数 |
records | list | N | 记录列表 |
id | string | Y | 用户ID |
username | string | Y | 用户名 |
nickname | string | Y | 昵称 |
corpId | string | Y | 企业ID |
corpName | string | Y | 企业名称 |
primaryOrgId | string | Y | 一级组织ID |
primaryOrgName | string | Y | 一级组织名称 |
secondaryOrgId | string | Y | 二级组织ID |
secondaryOrgName | string | Y | 二级组织名称 |
roleId | string | Y | 角色ID |
roleName | string | Y | 角色名称 |
mobile | string | Y | 手机号 |
string | Y | 邮箱地址 |
示例:
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"pageSize": 10,
"pageNo": 1,
"totalRecord": 8,
"records": [{
"id": 1,
"userId": null,
"username": "xxx",
"email": null,
"nickname": "xxx",
"corpId": 1010000,
"corpName": null,
"mobile": "11111111111",
"primaryOrgId": null,
"primaryOrgName": null,
"secondaryOrgId": null,
"secondaryOrgName": null
}
]
}
}
/openapi/video/v2/create3D?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
audioUrl | string | Y | 音频地址,需公网可访问 |
sceneId | string | Y | 场景ID,从模特列表接口获取 |
videoName | string | N | 合成作品名称 |
width | string | 横向分辨率(默认’1080’) | |
height | string | 纵向分辨率(默认’1920’) | |
callbackUrl | string | 合成结果回调地址 |
示例
{
"audioUrl": "http://127.0.0.1/video-server/test/test_001.wav",
"sceneId": "1921",
"width": "720",
"height": "1280",
"callbackUrl": "http://127.0.0.1/openapi/callback"
}
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
videoId | string | N | 视频作品ID |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"videoId": 2598397
}
}
/openapi/video/v2/create3D/tss?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
Application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
text | string | Y | 合成的文本 |
sceneId | string | Y | 场景ID,从模特列表接口获取 |
speakerId | string | Y | 发音人id |
videoName | string | N | 合成作品名 |
width | string | 横向分辨率(默认’1080’) | |
height | string | 纵向分辨率(默认’1920’) | |
callbackUrl | string | 合成结果回调地址 | |
speechRate | string | 语速,取值区间:[0-1.0] | |
srtFlag | string | 是否生成字幕文件,0-不生成 1-生成 |
示例
{
"text": "你好,我是数字人",
"speakerId": "1922",
"sceneId": "1921",
"width": "720",
"height": "1280",
"callbackUrl": "http://127.0.0.1/openapi/callback",
"srtFlag": "1",
"speechRate": "0.5"
}
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
videoId | string | N | 视频作品ID |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"videoId": 2598398
}
}
/openapi/video/v2/training/pageList?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
POST
Application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
page | integer | Y | 请求页数 |
size | integer | Y | 每页 |
示例
{
"page": 1,
"size": 2
}
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | string | Y | 返回的jsonobject |
pageSize | integer | N | 页尺寸 |
pageNo | integer | N | 页号 |
totalRecord | integer | N | 总记录数 |
records | list | N | 记录列表 |
id | string | Y | ID |
title | string | Y | 标题 |
videoUrl | string | Y | 提交的待训练视频地址 |
status | integer | Y | 训练状态 0或空-准备中 1训练中 2训练成功 3训练失败 4审核不通过 |
callbackStatus | integer | Y | 回调状态 0或空-初始态 1-回调成功 2-回调失败 |
comment | string | Y | 备注 |
robotId | integer | Y | 训练完成模特ID |
sceneId | integer | Y | 训练完成场景ID |
coverUrl | string | Y | 模特封面地址 |
createTime | string | Y | 创建时间 |
updateTime | string | Y | 更新时间 |
robot | json | Y | 训练完成后的模特详情 |
id | integer | N | 模特ID |
robotName | string | N | 模特名称 |
robotDesc | string | N | 模特描述 |
coverUrl | string | N | 模特封面地址 |
gender | integer | N | 性别1男 2女 |
version | integer | N | 类型0:2D 1:3D |
age | integer | N | 年龄 |
starSigns | integer | N | 星座 1:'白羊座', 2:'金牛座', 3:'双子座', 4:'巨蟹座', 5:'狮子座', 6:'处女座', 7:'天秤座', 8:'天蝎座', 9:'射手座', 10:'摩羯座', 11:'水瓶座', 12:'双鱼座' |
sceneList | list | N | 数字人场景列表 |
id | integer | N | 场景id(重要,视频合成必填ID) |
sceneName | string | 场景名称 | |
exampleUrl | string | 示例视频 | |
coverUrl | string | 封面地址 | |
samplePictureUrl | string | 示例图片 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"pageSize": 1,
"pageNo": 1,
"totalRecord": 31,
"records": [
{
"id": 84,
"title": "zhang1222222",
"videoUrl": "http://127.0.0.1/1179-2-train-20220819111631608.mp4",
"status": 2,
"callbackStatus": 2,
"comment": "",
"robotId": 4323,
"sceneId": 4820,
"createTime": "2022-08-23 12:14:48",
"updateTime": "2023-02-14 17:43:09",
"coverUrl": "http://127.0.0.1/b9e1a30e0c95ec26e6040091558c50cc.jpg",
"robot": {
"coverUrl": "http://127.0.0.1/b9e1a30e0c95ec26e6040091558c50cc.jpg",
"robotName": "12.30",
"id": 4323,
"version": 0,
"scene": {
"coverUrl": "http://127.0.0.1/5a0d527d60ceec874af9a10f011e5dc0.png",
"exampleUrl": "http://127.0.0.1/e4050efb5f0f52299d19c2b6bbccfcaf.mp4",
"sceneName": "12.30",
"id": 4820,
"samplePictureUrl": "http://127.0.0.1/a76eeb78b6f4453a67c51b51e87e1703.png"
}
}
}
]
}
}
/openapi/video/v2/training/get/{id}?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
GET
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
id | integer | Y | 提交的训练ID(路径参数) |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | string | Y | 返回的jsonobject |
id | string | Y | ID |
title | string | Y | 标题 |
videoUrl | string | Y | 提交的待训练视频地址 |
status | integer | Y | 训练状态 0或空-准备中 1训练中 2训练成功 3训练失败 4审核不通过 |
callbackStatus | integer | Y | 回调状态 0或空-初始态 1-回调成功 2-回调失败 |
comment | string | Y | 备注 |
robotId | integer | Y | 训练完成模特ID |
sceneId | integer | Y | 训练完成场景ID |
coverUrl | string | Y | 模特封面地址 |
createTime | string | Y | 创建时间 |
updateTime | string | Y | 更新时间 |
robot | json | Y | 训练完成后的模特详情 |
id | integer | N | 模特ID |
robotName | string | N | 模特名称 |
robotDesc | string | N | 模特描述 |
coverUrl | string | N | 模特封面地址 |
gender | integer | N | 性别1男 2女 |
version | integer | N | 类型0:2D 1:3D |
age | integer | N | 年龄 |
starSigns | integer | N | 星座 1:'白羊座', 2:'金牛座', 3:'双子座', 4:'巨蟹座', 5:'狮子座', 6:'处女座', 7:'天秤座', 8:'天蝎座', 9:'射手座', 10:'摩羯座', 11:'水瓶座', 12:'双鱼座' |
sceneList | list | N | 数字人场景列表 |
id | integer | N | 场景id(重要,视频合成必填ID) |
sceneName | string | 场景名称 | |
exampleUrl | string | 示例视频 | |
coverUrl | string | 封面地址 | |
samplePictureUrl | string | 示例图片 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"id": 84,
"title": "zhang1222222",
"videoUrl": "http://127.0.0.1/1179-2-train-20220819111631608.mp4",
"status": 2,
"callbackStatus": 2,
"comment": "",
"robotId": 4323,
"sceneId": 4820,
"createTime": "2022-08-23 12:14:48",
"updateTime": "2023-02-14 17:43:09",
"coverUrl": "http://127.0.0.1/b9e1a30e0c95ec26e6040091558c50cc.jpg",
"robot": {
"coverUrl": "http://127.0.0.1/b9e1a30e0c95ec26e6040091558c50cc.jpg",
"robotName": "12.30",
"id": 4323,
"version": 0,
"scene": {
"coverUrl": "http://127.0.0.1/5a0d527d60ceec874af9a10f011e5dc0.png",
"exampleUrl": "http://127.0.0.1/e4050efb5f0f52299d19c2b6bbccfcaf.mp4",
"sceneName": "12.30",
"id": 4820,
"samplePictureUrl": "http://127.0.0.1/a76eeb78b6f4453a67c51b51e87e1703.png"
}
}
}
}
/openapi/video/v2/get/{id}?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
GET
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
id | integer | Y | 提交的合成任务ID(路径参数) |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | string | Y | 返回的jsonobject |
id | string | Y | ID |
videoName | string | Y | 视频名称 |
videoFormat | string | Y | 视频格式:mp4、webm |
horizontal | integer | Y | 水平分辨率 |
vertical | integer | Y | 垂直分辨率 |
duration | string | Y | 时长(单位:秒) |
videoSize | string | Y | 视频尺寸(MB,不是精确值) |
coverUrl | string | Y | 封面地址 |
videoUrl | string | Y | 合成结果视频地址 |
srtUrl | string | Y | srt文件地址 |
synthesisStatus | integer | Y | 合成状态:-1. 编辑中 0.准备中 1. 排队中 2. 合成中 3:合成成功 4:合成失败 5. 归档 6. 任务取消 7. 任务失败 |
createTime | string | Y | 创建时间 |
updateTime | string | Y | 更新时间 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"id": 2629876,
"videoName": "测试换音频",
"videoFormat": "mp4",
"horizontal": 1080,
"vertical": 1920,
"duration": "12.69",
"videoSize": "7MB",
"coverUrl": "http://127.0.0.1/940777666963972096/1675905311982.jpg",
"videoUrl": "http://127.0.0.1/940777666963972096.mp4",
"srtUrl": null,
"synthesisStatus": 3,
"createTime": "2023-02-09 09:13:39",
"updateTime": "2023-02-09 09:14:29"
}
}
/openapi/material/upload?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
POST
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
rootId | integer | Y | 素材类型 ,0:背景(图片或者视频),1:图片素材,4:视频素材 |
file | form-data/file | Y | 文件 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
success | boolean | Y | 成功标识 |
data | string | Y | 返回的数据 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": 1596
}
/openapi/material/search?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
POST
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
rootId | integer | Y | 素材类型 ,0:背景(图片或者视频),1:图片素材,4:视频素材 |
page | integer | N | 页号默认1 |
size | integer | N | 每页大小默认10 |
asc | boolean | N | 是否正序, true 正序 false 倒序(默认) |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
success | boolean | Y | 成功标识 |
data | string | Y | 返回的jsonobject |
current | integer | N | 当前页 |
recordsSize | integer | N | 分页大小 |
startIndex | integer | Y | 开始页 |
records | integer | Y | 数据(具体见示例,每种素材格式略有不同) |
prePage | integer | Y | 上一页 |
pageNo | string | Y | 当前页 |
totalPage | string | N | 总页数 |
nextPage | string | N | 下一页 |
pageSize | string | Y | 分页大小 |
totalRecord | string | Y | 总条数 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"current": 1,
"recordsSize": 5,
"startIndex": 1,
"records": [
{
"proportion": "9:16",
"bgFormat": "png",
"groupId": 20,
"updateTime": 1668163274000,
"backgroundName": "zuoyi.png",
"delFlag": 0,
"userId": null,
"coverUrl": "/video-server/png/1591003723920396289.png",
"backgroundCode": "1591003727513522176",
"createTime": 1668159823000,
"zipCoverUrl": "/video-server/png/1591003723920396289_zip.jpg",
"id": 1485,
"backgroundType": 0
}
],
"prePage": 1,
"pageNo": 1,
"totalPage": 24,
"nextPage": 2,
"pageSize": 5,
"totalRecord": 118
}
}
/openapi/robot/v2/digitalCard?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
POST
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
success | boolean | Y | 成功标识 |
data | string | Y | 返回的jsonobject |
id | integer | N | 数字名片模板id |
themeName | integer | N | 数字名片名称 |
configJson | integer | Y | 配置json字符串(非常重要) |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": [{
"id": 205,
"themeName": "数字名片模板2",
"configJson": "{\"videoBitRate\":\"3.5M\",\"sounds\":[],\"corpId\":1000000,\"width\":1920,\"fps\":25,\"scenes\":[{\"duration\":0,\"nodes\":[{\"effects\":[],\"file\":\"\",\"name\":\"DYIMAGE.png\",\"lock\":false,\"style\":{\"rotation\":0,\"x\":151,\"width\":658,\"y\":215,\"height\":658},\"id\":\"sprite-09e41ec6-0fe6-4005-9dd2-a7855d5be42d\",\"type\":\"image\",\"url\":\"/video-server/png/1527136023188426754.png\"},{\"effects\":[],\"file\":\"\",\"name\":\"编组 15@2x.png\",\"lock\":true,\"style\":{\"rotation\":0,\"x\":-16,\"width\":1949,\"y\":-1,\"height\":1097},\"id\":\"sprite-e86adfc7-1588-419f-a142-56469b0501f1\",\"type\":\"image\",\"url\":\"/video-server/png/1527135853793071105.png\"},{\"effects\":[],\"file\":\"\",\"name\":\"#3~3~logo.png\",\"lock\":false,\"style\":{\"rotation\":0,\"x\":1521,\"width\":353,\"y\":47,\"height\":87},\"id\":\"sprite-61710554-06fd-4644-9f72-7eff2f4ce610\",\"type\":\"image\",\"url\":\"/video-server/png/1527136563779686402.png\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":993,\"width\":909,\"y\":155,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":108},\"id\":\"sprite-c13da636-04c2-4e3a-80be-f97daefc79fc\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Bold; font-size: 72px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"><div>#1~2~姓名</div></div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":993,\"width\":919,\"y\":269,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":66},\"id\":\"sprite-2ba536e0-37ca-433d-8502-ba545b6542bd\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 44px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"><div>#3~3~职位</div></div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":993,\"width\":921,\"y\":381,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":72},\"id\":\"sprite-74e6beee-dcae-4615-b7ac-86e4deee1d79\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Bold; font-size: 48px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 132, 0);\\\"><div>#3~1~公司</div></div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":993,\"width\":500,\"y\":473,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":66},\"id\":\"sprite-2bac5252-ec56-4ce6-8da3-538e8b9158d2\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 44px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\">#3~2~地址</div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":993,\"width\":155,\"y\":610,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":66},\"id\":\"sprite-1b86b87a-8839-4495-9c44-5c6603fcb959\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 44px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"> 手机:</div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":1121,\"width\":500,\"y\":610,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":66},\"id\":\"sprite-cb3e62e0-8b32-4234-9e86-69225eb4af08\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 44px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"><div>#2~1~手机</div></div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":993,\"width\":155,\"y\":690,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":66},\"id\":\"sprite-fe19c57c-ec60-4c57-8c79-ac8fa0cd54aa\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 44px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"><div> 邮箱:</div></div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":1121,\"width\":500,\"y\":685,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":66},\"id\":\"sprite-ef88679b-207c-4506-8ccc-d5db97fdcf5b\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 44px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"><div>#2~1~邮箱</div></div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":993,\"width\":155,\"y\":770,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":66},\"id\":\"sprite-38ec4ec9-8a76-47ee-9b54-c757f9929df5\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 44px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"><div> 官网:</div></div>\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":1121,\"width\":500,\"y\":770,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":66},\"id\":\"sprite-424dea80-f2d7-42f5-bfcf-01154ffc2d23\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 44px; text-align: left; line-height: 1.5; letter-spacing: 0px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"><div>#2~1~官网</div></div>\"},{\"effects\":[],\"file\":\"\",\"name\":\"Frame 641 (Background)备份.png\",\"lock\":false,\"style\":{\"rotation\":0,\"x\":171,\"width\":1300,\"y\":942,\"height\":89},\"id\":\"sprite-9a40c315-cda3-41ad-9f38-fc7c897470c9\",\"type\":\"image\",\"url\":\"/video-server/png/1527161968200863745.png\"},{\"effects\":[],\"lock\":false,\"style\":{\"color\":\"#000000\",\"textAlign\":\"center\",\"rotation\":0,\"letterSpacing\":0,\"fontStyle\":\"normal\",\"fontFamily\":\"SourceHanSerifCN-Regular\",\"x\":179,\"width\":1276,\"y\":958,\"fontSize\":60,\"lineHeight\":1.5,\"fontWeight\":\"normal\",\"height\":54},\"id\":\"sprite-4c3c647f-f5fa-4c6b-9e58-52e287f320e7\",\"type\":\"richText\",\"content\":\"<div style=\\\"font-family: SourceHanSerifCN-Medium; font-size: 36px; text-align: left; line-height: 1.5; letter-spacing: 12px; font-style: normal; font-weight: normal; color: rgb(255, 255, 255);\\\"><div>#3~4~事业签名</div></div>\"}],\"limbAvailable\":false,\"data\":{\"ttsAudio\":\"\",\"wait\":0,\"proportion\":\"\",\"localAudio\":\"\",\"sceneUrl\":\"\",\"audioType\":1,\"global\":true,\"version\":0,\"content\":\"\",\"speed\":0,\"localUrl\":\"\",\"duration\":\"\",\"volume\":0,\"emptyAudio\":false,\"subTitle\":true,\"engine\":7,\"sceneCode\":\"\",\"sceneType\":0,\"asrEnable\":false,\"speaker\":\"yujie_meet\",\"pitch\":0},\"background\":{\"objectFit\":\"cover\",\"color\":\"\",\"type\":\"\",\"url\":\"\"},\"action\":[],\"hasDyImage\":false,\"express\":[],\"id\":\"scene-54b737a6-5593-40c6-b10d-96057086c987\"}],\"hasDyImage\":false,\"templateId\":\"\",\"hasTransition\":false,\"userId\":62,\"height\":1080}"
}
]
}
/openapi/video/v2/create/digitalCard?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
templateId | integer | Y | 3.18 接口查询出来的数字名片id |
configJson | string | Y | 3.18 接口查询出来的数字名片configJson( #前缀的字符串,要修改的字符串) |
audioUrl | string | Y | 声音url |
headImg | string | Y | 头像图片url |
sceneId | string | Y | 场景code,从3.22接口获取对应的value值即可 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
videoId | string | N | 视频作品ID |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"videoId": 2598397
}
}
/openapi/translate/create/video?access_token=55d1bc37-f960-4a9d-8c7d-5dc8c991c245
POST
application/json
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
sourceLanguage | integer | Y | 源语言(当前仅支持 zh:中文, en:英文, ja:日语, ko:韩语, de:德语, fr:法语,ru:俄语, it:意大利语, es:西班牙语,ar:阿拉伯语) |
targetLanguage | string | Y | 目标语言(当前仅支持 zh:中文, en:英文, ja:日语, ko:韩语, de:德语, fr:法语,ru:俄语, it:意大利语, es:西班牙语,ar:阿拉伯语) |
url | string | Y | 待翻译文件地址,公网可访问 |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | json | N | 返回的jsonobject |
videoId | string | N | 视频作品ID |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"videoId": 2598397
}
}
/openapi/translate/v2/get/{id}?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
GET
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
id | integer | Y | 提交的合成任务ID |
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
data | string | Y | 返回的jsonobject |
scanStatus | string | Y | 内容扫描结果状态:0:初始化 ; 1:失败 ; 2:成功 |
scanResult | string | Y | 内容扫描结果描述 |
faceStatus | string | Y | 人脸扫描结果状态:0:初始化 ; 1:失败 ; 2:成功 |
faceResult | string | Y | 内容扫描结果描述 |
fileStatus | string | Y | 文件扫描结果状态:0:初始化 ; 1:失败 ; 2:成功 |
fileResult | string | Y | 文件扫描结果描述 |
video | string | Y | 合成状态 |
videoName | string | Y | 视频名称 |
videoFormat | string | Y | 视频格式:mp4、webm |
horizontal | integer | Y | 水平分辨率 |
vertical | integer | Y | 垂直分辨率 |
duration | string | Y | 时长(单位:秒) |
videoSize | string | Y | 视频尺寸(MB,不是精确值) |
coverUrl | string | Y | 封面地址 |
videoUrl | string | Y | 合成结果视频地址 |
srtUrl | string | Y | srt文件地址 |
synthesisStatus | integer | Y | 合成状态:-1. 编辑中 0.准备中 1. 排队中 2. 合成中 3:合成成功 4:合成失败 5. 归档 6. 任务取消 7. 任务失败 |
createTime | string | Y | 创建时间 |
updateTime | string | Y | 更新时间 |
示例
{
"code": "0",
"message": "请求成功",
"success": true,
"data": {
"scanStatus": 2,
"scanResult": "成功",
"faceStatus": 2,
"faceResult": "音频无需人脸检测",
"fileStatus": 2,
"fileResult": "成功",
"video":{
"id": 2629876,
"videoName": "测试换音频",
"videoFormat": "mp4",
"horizontal": 1080,
"vertical": 1920,
"duration": "12.69",
"videoSize": "7MB",
"coverUrl": "http://127.0.0.1/940777666963972096/1675905311982.jpg",
"videoUrl": "http://127.0.0.1/940777666963972096.mp4",
"srtUrl": null,
"synthesisStatus": 3,
"createTime": "2023-02-09 09:13:39",
"updateTime": "2023-02-09 09:14:29"
}
}
}
/openapi/robot/v2/digitalCardStyle?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769
GET
字段 | 类型 | 必须 | 备注 |
---|---|---|---|
code | string | Y | 返回的状态码,为0表示成功 |
message | string | Y | 成功/错误的描述信息 |
success | boolean | Y | 成功标识 |
data | string | Y | 返回的jsonobject |
childOption | array | Y | 返回的jsonArray |
optionName | string | N | 风格名称 |
optionValue | string | Y | 风格对应的场景code |
示例
{
"code": "0",
"message": "提交成功",
"success": true,
"data": {
"childOption": [
{
"dictId": "392068980586450944",
"parentId": "",
"optionId": "400314300273397760",
"optionName": "自然",
"optionValue": "3476wewewewew",
"extend": "",
"childOption": null
}
],
"dictName": "数字人名片模型",
"remark": null,
"id": null
}
}
为保证模特不因随意设置的width和height导致拉伸变形等,接口会对用户提交的width和height做适配保证模特本身的宽高比不变。