奇妙元直播接口文档
    奇妙元直播接口文档
    • 直播接口必读
    • 直播间_数字人查询
      • 查询数字人详情
        GET
      • 查询数字人接口
        GET
    • 直播间_合成
      • 开始合成直播间
        POST
    • 直播间_台词
      • 修改台词设置信息
        PUT
      • 素材_新增台词某一种素材
        PUT
      • 创建台词
        POST
      • 删除台词
        DELETE
      • 素材_删除台词某一种素材
        DELETE
      • 素材_查询台词的所有素材
        GET
      • 素材_新增或覆盖台词的素材信息(可替代增删改接口)
        PUT
      • 素材_修改台词某一种素材
        PUT
      • 查询台词内容
        GET
    • 直播间_直播间
      • 创建直播间
        POST
      • 删除直播间
        DELETE
      • 查询单个直播间
        GET
      • 分页查询直播间
        GET
      • 查询单个直播间的合成结果
        GET
      • 修改直播间
        PUT
    • 字体信息
      • 字体查询
        GET

    直播接口必读

    生产环境地址#

    生产环境接口地址: https://openman.weta365.com/metaman/open/需要调用的接口地址
    接口地址:https://apifox.com/apidoc/shared-4b3dc3a8-72d0-4420-89c1-f24687b1aa43

    权限校验(默认针对所有接口)#

    接口请求头添加:uqUserId 调用方的每个用户唯一id;
    接口请求头添加:appKey 开放平台申请的appKey;
    接口请求头添加:timestamp 系统时间的秒数;
    接口请求头添加:signature 根据appKey和timestamp加密生成的签名(算法咨询对接人员),5分钟过期。
    appkey和signature 获取参考开放平台章节

    核心接口介绍#

    分四步,从创建直播间到合成直播间结束,其他接口作为此四个接口的辅助接口灵活使用。
    1.
    调用《创建直播间》接口,创建直播间;
    2.
    调用《创建台词》接口,创建直播间的台词;
    3.
    调用《素材_新增或覆盖台词的素材信息(可替代增删改接口)》接口,创建台词的素材;
    4.
    调用《开始合成直播间》接口,合成直播间。

    素材类型说明#

    总体有avatar、video、tag、subtitles、back_audio、audio、text共7种素材,实际包含8种(video类型可传图片素材),各种素材间可以自由组合,但有特定的规则限制。

    类型说明#

    avatar类型:数字人类型,该类型每个数字人必有
    video类型: 可以传输视频或图片的地址
    tag类型: 标题类型
    subtitles类型: 字幕类型,只有在text类型时,该类型才生效
    back_audio类型: 背景音频
    audio类型: 和text类型互斥,该类型下,不可传字幕类型
    text类型:文本类型,于audio类型互斥,该类型下可传subtitles类型设置

    公共参数说明#

    x:素材左侧到背景框左侧的距离,单位像素
    y:素材顶部到背景框顶部的距离,单位像素
    width:素材的宽,单位像素
    height:素材的高,单位像素
    contentType: 素材的7种类型
    content:根据素材类型做相应填充
    wetaSpeakerId: 查询数字人时,查到的主键
    magicSpeakerId: 选择配音的主键
    startTime:开始时间,默认0
    stopTime:结束时间,默认该台词的结束时间,不可超过音频的时长
    fontname:字体名称,查询字体时的key
    bold:1加粗,默认0
    fontsize:字体大小,建议15
    primaryColour:字体颜色,格式类似如下:#RRGGBB(#开头,顺序为RGB)
    underline:1有下划线,默认0
    italic: 1斜体,默认0

    各类型参数说明#

    类型参数必传参数说明样例
    avatarcontentType是数字人类型必传,(时长默认是(text)文本转语音的时长或(audio的时长))avatar
    sortNum是层级1-1001
    x是素材左侧到背景框左侧的距离,单位像素400
    y是素材顶部到背景框顶部的距离,单位像素300
    wetaSpeakerId是查询数字人时,查到的主键1644252493837897728
    width否素材的宽,单位像素(建议不传,用默认值)1080
    height否素材的高,单位像素(建议不传,用默认值)1920
    videocontentType否视频或图片类型video
    sortNum否层级1-1001
    x是素材左侧到背景框左侧的距离,单位像素400
    y是素材顶部到背景框顶部的距离,单位像素300
    content是视频或图片的地址,建议视频或图片宽高不大于1920https://mobvoi-digitalhuman-public.weta365.com/itm/1647067732312723456_641600_1234.png
    width否素材的宽,单位像素400
    height否素材的高,单位像素800
    startTime否开始时间,ms0
    stopTime否结束时间,ms850
    tagcontentType否标题类型tag
    sortNum是层级1-10010
    content是标题内容,文字我的视频
    x是素材左侧到背景框左侧的距离,单位像素400
    y是素材顶部到背景框顶部的距离,单位像素300
    startTime是开始时间,ms0
    stopTime是结束时间,ms850
    fontname否字体名称STSong
    fontsize否字体大小60
    primaryColour否字体颜色字体颜色,格式类似如下:#RRGGBB(#开头,顺序为RGB),参考附录,或百度RGB
    subtitlescontentType否字幕类型,当且仅当text类型存在时,可传该类型(时长默认是(text)文本转语音的时长)subtitles
    fontname否字体名称STSong
    bold否1加粗,默认00
    fontsize否字体大小19
    primaryColour否字体颜色(不区分大小写)字体颜色,格式类似如下:#RRGGBB(#开头,顺序为RGB),参考附录,或百度RGB
    underline否1有下划线,默认00
    italic否1斜体,默认00
    back_audiocontentType否背景音频类型back_audio
    content是背景音频地址,时长不小于1秒https://mobvoi-digitalhuman-public.cn-bj.ufileos.com/metaman/storage_audio/DEFAULT_GROUP/20221022/10b325d8ce7243d0ac0a1face48bf926.8c738421dfa4423cb84b97db112d257f.5054e55205.wav
    startTime否开始时间,ms0
    stopTime否结束时间,ms850
    audiocontentType否驱动数字人音频地址,与text类型互斥,且两者必传其一audio
    content是驱动数字人的音频地址 (建议使用魔音接口生成音频)https://mobvoi-speech-public.mobvoi.com/mobvoi-tts/voice-maker/synthesis_audio/26526559/1681838639099/f2c1911010e5b54a0f10f6da6672affe.wav
    textcontentType否驱动数字人文字内容,与audio类型互斥,且两者必传其一text
    content是文字奇妙元测试生成数字人,调用魔音接口,生成语音
    magicSpeakerId是声音的idmoqianxue_meet_24k
    《素材_新增或覆盖台词的素材信息(可替代增删改接口)》接口的json样例:
    [
    	{
    		"contentType": "avatar",
    		"wetaSpeakerId": "1644252493837897728",
    		"sortNum": 2,
    		"x": 100,
    		"y": 200
    	},
    	{
    		"content": "生成语音生成语音生成语音生成语音生成语音生成语音生成语音",
    		"contentType": "text",
    		"magicSpeakerId": "moqianxue_meet_24k"
    	},
    	{
    		"content": "https://mobvoi-digitalhuman-public.weta365.com/itm/1647067732312723456_641600_1234.png",
    		"contentType": "video",
    		"sortNum": 1,
    		"x": 100,
    		"y": 200
    	},
    	{
    		"content": "https://mobvoi-digitalhuman-public.cn-bj.ufileos.com/metaman/storage_audio/DEFAULT_GROUP/20221022/10b325d8ce7243d0ac0a1face48bf926.8c738421dfa4423cb84b97db112d257f.5054e55205.wav",
    		"contentType": "back_audio"
    	},
    	{
    		"contentType": "subtitles"
    	},
    	{
    		"content": "生成语音",
    		"contentType": "tag",
    		"sortNum": 5,
    		"x": 700,
    		"y": 200,
    		"height": 200,
    		"width": 400,
    		"startTime": 0,
    		"stopTime": 1000
    	}
    ]

    结果回调接口#

    在《开始合成直播间》(核心接口第四步)中,存在非必传字段callbackUrl,当此字段有值时,合成结束后触发回调,回调的数据结构和《查询单个直播间的合成结果》一致。详细说明如下:
    《开始合成直播间》请求样例:
    https://XXXXX/metaman/open/lbr/cmp/begin/1678643063783821312?callbackUrl=http://XXXXXXXXX/metaman/open/secret/test/callback
    回调接口说明
    回调接口为post接口,回调数据在请求体内,java代码的样例如下:
    合成成功样例:
    {
    	"id": 1678643063783821312,
    	"userId": "ljs",
    	"height": 1920,
    	"width": 1080,
    	"name": "测试直播间2023-07-11 13:51:08.229417",
    	"status": "suc",
    	"statusDesc": "成功",
    	"duration": 30190,
    	"callbackUrl": "http://dev-tob-15.persistent.uc.mobvoi-idc.com:16666/metaman/open/secret/test/callback",
    	"created": 1689054669000,
    	"lastUpdateTime": 1689559767000,
    	"lbrLineInfos": [
    		{
    			"id": 1678643120377565184,
    			"tagVal": "默认",
    			"coverUrl": "https://mobvoi-digitalhuman-public.cn-bj.ufileos.com/47341838cover.png",
    			"resultUrl": "https://mobvoi-digitalhuman-public.cn-bj.ufileos.com/47341838video.mp4",
    			"sortNum": 1,
    			"status": "suc",
    			"statusDesc": "成功",
    			"created": 1689054682000,
    			"lastUpdateTime": 1689559767000
    		}
    	]
    }
    合成失败样例:
    {
    	"id": 1678643063783821312,
    	"userId": "ljs",
    	"height": 1920,
    	"width": 1080,
    	"name": "测试直播间2023-07-11 13:51:08.229417",
    	"status": "fail",
    	"statusDesc": "失败原因",
    	"duration": 30190,
    	"callbackUrl": "http://dev-tob-15.persistent.uc.mobvoi-idc.com:16666/metaman/open/secret/test/callback",
    	"created": 1689054669000,
    	"lastUpdateTime": 1689559767000,
    }

    返回值说明#

    code:为200时,表示操作成功,其他数字表示失败;
    message:失败原因
    data:返回数据
    { "code": 200, "message": "操作成功", "data": {} }
    状态码含义
    200接口调用成功
    401权限校验不通过
    -1接口参数校验不通过

    开放平台#

    1.
    开放平台注册应用,注册地址: https://openapi.mobvoi.com/index
    登陆注册-->点击头像,选择‘我的应用’-->创建应用-->查看详情,获取AppKey和AppSecret
    注意:新创建的应用没有合成时长,在直播间合成时会被拒绝掉
    2.
    获取签名算法:java 代码示例
    RGB 颜色编码
    颜色HTML / CSS名称十六进制代码#RRGGBB十进制代码(R,G,B)
    黑色#000000(0,0,0)
    白色#FFFFFF(255,255,255)
    红色#FF0000(255,0,0)
    酸橙#00FF00(0,255,0)
    蓝色#0000FF(0,0,255)
    黄色#FFFF00(255,255,0)
    青色/水色#00FFFF(0,255,255)
    洋红色/紫红色#FF00FF(255,0,255)
    银#C0C0C0(192,192,192)
    灰色#808080(128,128,128)
    栗色#800000(128,0,0)
    橄榄#808000(128,128,0)
    绿色#008000(0,128,0)
    紫色#800080(128,0,128)
    蓝绿色#008080(0,128,128)
    海军#000080(0,0,128)
    ​
    修改于 2023-09-22 10:07:33
    下一页
    查询数字人详情
    Built with