# 视频合成 API接入文档

# 一、 接入准备

# 1.1 获取Accesskey

与我司商务合作后,我司会给客户进行开户,用户使用我司提供的账号密码登录我司平台后获取AccessKey, Secretkey进行接入对接,请妥善保存SecretKey。

获取路径:个人中心-->我的信息-->配置管理-->AccessKey SecretKey。

# 1.2 开发以及联调测试

调用流程如下图

image.png

硅语平台生产地址:https://meta.guiji.ai (opens new window)

# 1.3 配置回调接口地址

在配置回调地址之后,开放平台会将任务过程事件信息推送至该回调接口。

在创建视频合成任务后,硅语开发平台会调用用户在平台配置的回调接口,进行合成结果的通知,详见3.7

# 二、 API对接方式

# 2.1 构造签名获取token

硅语平台获取签名的规则为:通过AccessKey、时间戳、加密生成得到的签名【MD5(AccessKey+时间戳+SecretKey)】,MD5结果取32位小写值,然后通过该签名请求硅语平台获取token,后续接口都需要加上该token进行请求,具体接口信息见第三部分API详细信息。

# 2.2 公共返回参数

硅语平台得到token和其他请求数据集合后,会先进行安全校验等验证,一系列验证通过后便会处理完成这次发送过来的数据请求,平台返回的参数格式如下:

字段 类型 是否必须 备注
code string Y 返回的状态码,为0表示成功
message string N 成功/错误的描述信息
data object N 返回的具体内容

# 2.3 公共错误码

错误码 描述
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 不合法的视频格式

# 三、 API接口

# 3.1 获取token接口

# 接口地址

/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&timestamp=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
  }
}

# 3.2 定制模特列表查询

# 接口地址

/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发言人
        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-其他
        labelBaseDTOList list N 标签列表
            labelName string N 标签名称

示例

{
    "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": "温婉贤淑"
                    }
                ]
            }
        ]
    }
}

# 3.3 免费模特列表查询

# 接口地址

/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发言人
    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-其他
    labelBaseDTOList list N 标签列表
        labelName string N 标签名称

示例

{
    "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": "温婉贤淑"
                    }
                ]
            }
        ]
    }
}

# 3.4 企业所有发音人列表

# 接口地址

/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
        }
    ]
}

# 3.5 创建视频合成任务

# 接口地址

/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
    }
}

# 3.6 创建合成视频任务-语音合成

# 接口地址

/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
    }
}

# 3.7 合成任务回调接口

# 接口地址

用户在平台配置的回调接口地址

# 请求方式

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
}

# 3.8 查询合成视频作品列表

# 接口地址

/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"
            }
        ]
    }
}

# 3.9 查询用户信息

# 接口地址

/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 手机号
        email 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
        }
    }
}

# 3.10 查询企业下所有用户列表

# 接口地址

/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 手机号
    email 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
            }
        ]
    }
}

# 3.11 创建3D视频合成任务

# 接口地址

/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
    }
}

# 3.12 创建3D合成视频任务-语音合成

# 接口地址

/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
  }
}

# 3.13 训练任务列表查询

# 接口地址

/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"
          }
        }
      }
    ]
  }
}

# 3.14 训练任务信息查询

# 接口地址

/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"
      }
    }
  }
}

# 3.15 合成任务信息查询

# 接口地址

/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"
  }
}

# 3.16 素材上传接口

# 接口地址

/openapi/material/upload?access_token=ae4dad61-0dc5-47ad-be20-c51245db2769

# 请求方式

POST

# 请求参数

字段 类型 必须 备注
rootId integer Y 素材类型 ,0:背景(图片或者视频),1:图片素材,4:视频素材
file form-data/file Y 文件

image

# 返回结果

字段 类型 必须 备注
code string Y 返回的状态码,为0表示成功
message string Y 成功/错误的描述信息
success boolean Y 成功标识
data string Y 返回的数据

示例

{
    "code": "0",
    "message": "请求成功",
    "success": true,
    "data": 1596
}

# 3.17 素材查询接口

# 接口地址

/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
    }
}

# 3.18 查询可用数字名片模板

# 接口地址

/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}"
          }
         ]
}

# 3.19 数字名片合成接口

# 接口地址

/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值即可

# 返回结果(具体合成结果通过3.15获得)

字段 类型 必须 备注
code string Y 返回的状态码,为0表示成功
message string Y 成功/错误的描述信息
data json N 返回的jsonobject
    videoId string N 视频作品ID

示例

{
    "code": "0",
    "message": "请求成功",
    "success": true,
    "data": {
        "videoId": 2598397
    }
}

# 3.20 视频翻译合成接口

# 接口地址

/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 待翻译文件地址,公网可访问

# 返回结果(具体合成结果通过3.15获得)

字段 类型 必须 备注
code string Y 返回的状态码,为0表示成功
message string Y 成功/错误的描述信息
data json N 返回的jsonobject
    videoId string N 视频作品ID

示例

{
    "code": "0",
    "message": "请求成功",
    "success": true,
    "data": {
        "videoId": 2598397
    }
}

# 3.21 视频翻译合成任务信息查询

# 接口地址

/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"
          }
   
  }
}

# 3.22 查询用户使用的数字名片场景风格

# 接口地址

/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
    }
}

# 四、 其他

# 4.1 模特位置设置说明

为保证模特不因随意设置的width和height导致拉伸变形等,接口会对用户提交的width和height做适配保证模特本身的宽高比不变。

image.png