接口说明
LOGO | 支持调整 logo 位置(自定义X轴Y轴) |
支持调整 logo 大小(缩放比例) | |
指定视频背景 | 在MP4视频文件中,可以指定背景图。 |
主播 | 横向位置调节 |
主播大小调整 | |
主播角度调整 注意: 仅支持3D形象 | |
片头/片尾视频 | 可指定远程地址添加视频片头片尾 |
内嵌字幕 | 打开、关闭内嵌字幕 |
调用协议
HTTPS + JSON
POST /v2/ivh/videomaker/broadcastservice/videomakeadvanced
Header Content-Type: application/json;charset=utf-8
请求参数
参数 | 类型 | 必须 | 说明 |
VirtualmanKey | string | 是 | 定义播报的角色、服装、姿态、分辨率等信息,参数为枚举值。 说明: |
InputSsml | string | 否 | 播报的文本内容,支持ssml标签,支持的标签类型参照 数智人 SSML 标记语言规范,标签写法参照示例,内容不能换行,符号需转义。上限2万字(字数按unicode字符数计算)。DriverType为空、或Text时,该字段必填 说明: 当 Format 为 TransparentMov 时,上限为2千字。 |
SpeechParam | object | 是 | 定义音频的详细参数 |
SpeechParam.Speed | float | 是 | 语速(1.0为正常语速,范围[0.5-1.5],值为0.5时播报语速最慢,值为1.5时播报语速最快,DriverType为音频驱动类型时,语速控制不生效) |
SpeechParam.TimbreKey | string | 否 | 音色key,默认使用形象自有音色 |
SpeechParam.Volume | int | 否 | 音量大小,范围[0,10],对应音量大小。默认为0,代表正常音量,值越大音量越高。 说明: TimbreKey 在 male_1-20、female_1-23(即男声1-20、女声1-23)间的音色不支持音量调节。 |
SpeechParam.EmotionCategory | string | 否 | |
SpeechParam.EmotionIntensity | int | 否 | 控制合成音频情感程度,取值范围为 [50,200],只有 EmotionCategory 不为空时生效。 |
SpeechParam.TimbreLanguage | string | 否 | |
VideoParam | object | 否 | 定义合成视频的详细参数, |
VideoParam.Format | string | 否 | 视频输出格式,默认值:Mp4 TransparentWebm: 带 Alpha 通道的 webm 格式视频,支持部分微剪辑能力(主播参数支持)
TransparentMov: 带 Alpha 通道的 mov 格式视频,支持部分微剪辑能力(主播参数支持)
Mp4: 支持微剪辑能力的 mp4 格式视频,抠像形象默认为绿幕背景,可通过 BackgroundFileUrl 参数设置背景;非抠像形象为原始素材背景。 |
VideoParam.BackgroundFileUrl | string | 否 | 视频背景图片/视频下载路径,支持jpg、png、mp4格式,图片/视频分辨率需要与视频分辨率相同,不传默认为绿幕视频。文件大小限制500M。 |
VideoParam.VideoHeadFileUrl | string | 否 | 片头视频,支持mp4格式,分辨率需要与视频分辨率相同,文件大小限制500M |
VideoParam.VideoTailFileUrl | string | 否 | 片尾视频,支持mp4格式,分辨率需要与视频分辨率相同,文件大小限制500M |
VideoParam.ShowSubtitles | boolean | 否 | 是否在视频内显示字幕,默认不展示,展示会大大增加视频制作时间 |
VideoParam.SubtitlesParam | object | 否 | 定义视频中字幕如何显示的相关参数 |
VideoParam.SubtitlesParam.MaxWords | int | 否 | 字幕每页展示的字数上限,字数范围 [0,999];默认值为0,默认展示规则:在分辨率80%宽度范围内展示,超出时分页。 |
VideoParam.SubtitlesParam.DisplayPunctuation | string | 否 | 字幕需要展示的标点符号,其中,传入特殊字符"0"表示标点符号都不展示,特殊符号"1"(默认取值)表示标点符号全都展示,也可自定义传入需要展示的标点符号 |
VideoParam.SubtitlesParam.SplitPunctuation | string | 否 | 字幕需要分页的标点符号,默认取值。;?!… …… ! ? |
VideoParam.LogoParams | 否 | 定义视频中logo相关参数 | |
VideoParam.SmartActionEnabled | bool | 否 | 是否开启智能动作,默认不开启。生效条件:DriverType=Text、且InputSsml中不携带动作标签 |
VideoParam.AnchorParam | object | 否 | 定义视频中主播相关参数 |
VideoParam.AnchorParam.HorizontalPosition | float | 否 | 定义主播横向位置(0为中间位置) |
VideoParam.AnchorParam.VerticalPosition | float | 否 | 定义主播纵向位置(0为中间位置) |
VideoParam.AnchorParam.Scale | float | 否 | 主播大小(1是默认大小,范围(0,15]) |
VideoParam.AnchorParam.Angle | int | 否 | 主播角度(默认0度,范围[0,360]),目前仅3D形象支持。 |
VideoParam.AnchorParam.AnchorExtraParam | string | 否 | 需要将该参数组织为 json 字符串格式,请参考请求示例组织 json |
VideoParam.SmallSampleParam | object | 否 | 定义小样本相关特殊参数,当为非小样本形象时,此参数不生效 |
VideoParam.SmallSampleParam.MakeType | string | 否 | 定义小样本制作类型: Default:默认配置,会从随机起始帧开始制作,StartIdx 和 EndIdx 均不生效 Custom:指定视频片段,可以填写 StartIdx 和 EndIdx 来选择片段,默认生成的视频用该“指定的视频片段”进行正倒放循环 Circle:首尾帧归位,可以填写 StartIdx 来指定视频开始帧数(EndIdx 不生效),注意:该类型只用于声音驱动 |
VideoParam.SmallSampleParam.StartIdx | int | 否 | 起始帧号,当MakeType为Custom或Circle时生效,当填写的时候,默认生成的视频从该位置开始;不填的时候,默认选取开始帧号,即第0帧 |
VideoParam.SmallSampleParam.EndIdx | int | 否 | 结束帧号,当MakeType为Custom时生效,当填写的时候,默认结束的视频到该位置结束;不填的时候,默认选取该“选中的全部视频片段”的结束帧号 |
CallbackUrl | string | 否 | 需注意: 1. 限制 CallbackUrl 长度小于1000 2. 只发送一次请求,无论是哪种问题导致的请求失败,都不会再进行发送。 |
DriverType | string | 否 | 驱动类型,默认Text 1. Text:文本驱动,要求 InputSsml 字段必填 2. OriginalVoice:原声音频驱动,要求 InputAudioUrl 字段必填 3. ModulatedVoice:变声音频驱动,可通过 Speech.TimbreKey 指定音色,未填写时使用主播默认音色 |
InputAudioUrl | string | 否 | 驱动数智人的音频 url,当 DriverType 为 OriginalVoice、ModulatedVoice 时,该字段必填。音频格式要求: 1. 小样本形象时长不超过60分钟,不少于0.5秒;非小样本形象时长不超过10分钟,不少于0.5秒 2. 支持格式:wav、mp3、wma、m4a、aac 说明: 当 Format 为 TransparentMov 时,时长不超过6分钟,不少于0.5秒; |
VideoStorageS3Url | string | 否 | 可传入含鉴权s3协议存储url,视频成品会上传至该url |
SubtitleStorageS3Url | string | 否 | 可传入含鉴权s3协议存储url,字幕成品会上传至该url |
ConcurrencyType | string | 否 | 视频制作任务使用的并发类型,默认采用优先使用独享,其次使用共享的策略 1. Exclusive:独享并发,若无独享并发,任务提交失败 2. Shared: 共享并发 |
LogoParam
参数 | 类型 | 必须 | 说明 |
LogoFileUrl | string | 否 | logo 图片文件下载路径,支持jpg、png格式 |
PositionX | int | 否 | logo 图片左上角的X坐标(坐标范围和视频分辨率相关) |
PositionY | int | 否 | logo 图片左上角的Y坐标(坐标范围和视频分辨率相关) |
Scale | float | 否 | logo 图片缩放比例(1.0为原始图片大小,范围(0,15]) |
VideoParam.Anchor.AnchorExtraParam 示例
说明:
colorValue 转换规则:十六进制Hex色值,去掉#后转为十进制,e.g: #FAFAFA =>16448250
{"shirtColor": {"colorValue": 10491928},"clotheColor": {"colorValue": 10491928},"shoeColor": {"colorValue": 10491928}}
返回参数
参数 | 类型 | 必须 | 说明 |
TaskId | string | 是 |
请求示例
{"Header": {},"Payload": {"VirtualmanKey": "k3dda2d3b56f4ec89778f2e032c2e294","InputSsml": "你好,我是虚拟<phoneme alphabet=\\"py\\" ph=\\"fu4\\">主</phoneme>播","SpeechParam": {"Speed": 1},"VideoParam": {"Format": "Mp4","BackgroundFileUrl": "http://virtualhuman-cos-test-1251316161.cos.ap-nanjing.myqcloud.com/bg.png","VideoHeadFileUrl": "http://virtualhuman-cos-test-1251316161.cos.ap-nanjing.myqcloud.com/video_head.mp4","VideoTailFileUrl": "http://virtualhuman-cos-test-1251316161.cos.ap-nanjing.myqcloud.com/video_tail.mp4","ShowSubtitles": true,"LogoParams": [{"LogoFileUrl": "http://virtualhuman-cos-test-1251316161.cos.ap-nanjing.myqcloud.com/logo.png","PositionX": 1561,"PositionY": 751,"Scale": 1.0}],"AnchorParam": {"HorizontalPosition": 0.5,"Scale": 1.0,"AnchorExtraParam": "{\\"hair\\":{\\"boolValue\\":true},\\"Jacket\\":{\\"boolValue\\":true},\\"Shoes\\":{\\"boolValue\\":true},\\"Skirt\\":{\\"boolValue\\":true},\\"hairColor\\":{\\"colorValue\\":12759296},\\"JacketColor\\":{\\"colorValue\\":7976228},\\"ShoesColor\\":{\\"colorValue\\":16777215},\\"SkirtColor\\":{\\"colorValue\\":16777215}}"}}}}
返回示例
{"Header": {"Code":0,"DialogID":"","Message":"","RequestID":"fde854eaa981c7f2f7285d1c7eca335b","SessionID": "gzb7dec22117297528294581119"},"Payload":{"TaskID":"81883d47c6154edf8e276531f09227b6"}}