视频制作接口-进阶版

最近更新时间:2024-06-14 11:49:51

我的收藏

接口说明

使用 ssml 文本和数智人进行视频制作,通过音视频制作进度查询接口最终返回成品视频和字幕文件。在原有接口基础上、进阶版接口新增了部分资源参数,扩展了微剪辑能力,支持能力如下表:
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时,该字段必填
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,代表正常音量,值越大音量越高。
SpeechParam.EmotionCategory
string
控制合成音频的情感,仅支持多情感音色使用,可选值参考个人资产管理API 分页查询音色列表接口。
SpeechParam.EmotionIntensity
int
控制合成音频情感程度,取值范围为 [50,200],只有 EmotionCategory 不为空时生效。
VideoParam
object
定义合成视频的详细参数,
VideoParam.Format
string
视频输出格式,默认值:Mp4
TransparentWebm: 透明背景webm格式视频,支持部分微剪辑能力(主播参数支持)
GreenScreenMp4: 绿幕mp4格式视频,不支持微剪辑能力
Mp4: 支持微剪辑能力的mp4格式视频
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
Array of [LogoParam]
定义视频中logo相关参数
VideoParam.SmartActionEnabled
bool
是否开启智能动作,默认不开启。生效条件:DriverType=Text、且InputSsml中不携带动作标签
VideoParam.AnchorParam
object
定义视频中主播相关参数
VideoParam.AnchorParam.HorizontalPosition
float
定义主播横向位置(0为中间位置)其中,不同主播的Tag效果不同:
Basic:可以左右移动
Standard:可以左右移动
Advanced:不支持左右移动,不管值为何,都会当作0值处理
说明:
可以通过查询形象资产信息-查询主播接口查询tag值。
VideoParam.AnchorParam.VerticalPosition
float
定义主播纵向位置(0为中间位置)其中,不同主播的Tag效果不同
Basic:支持上下移动
Standard:只支持向下移动(>=0),当传入小于0的值时,默认当0处理。
Advanced:只支持向下移动(>=0),当传入小于0的值时,默认当0处理。
说明:
可以通过 查询形象资产信息-查询主播接口查询tag值。
VideoParam.AnchorParam.Scale
float
主播大小(1是默认大小,范围(0,1]),Tag为Basic的主播大小可超过1,小样本属于Basic
VideoParam.AnchorParam.Angle
int
主播角度(默认0度,范围[0,360])其中,不同主播的Tag会效果不同,
Basic:仅3D主播支持
Standard:不支持
Advanced:不支持
VideoParam.AnchorParam.AnchorExtraParam
string
主播额外可配置参数,目前仅包含3D服装变色参数。不同主播可配置的参数不同,详情见接口查询形象资产信息-查询主播下的所有形象的SupportAnchorExtraParam参数;
需要将该参数组织为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
当用户增加回调url时,将把视频制作结果以固定格式发送post请求到该url地址,固定格式见 附录二: 回调请求体格式
需注意:
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
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为原始图片大小)

VideoParam.Anchor.AnchorExtraParam 示例

说明:
colorValue转换规则:十六进制Hex色值,去掉#后转为十进制,e.g: #FAFAFA =>16448250
{
"shirtColor": {
"colorValue": 10491928
},
"clotheColor": {
"colorValue": 10491928
},
"shoeColor": {
"colorValue": 10491928
}
}

返回参数

参数
类型
必须
说明
TaskId
string
视频制作的任务ID,携带TaskId访问音视频制作进度查询接口,可获得制作进度和制作结果

请求示例

{
"Header": {},
"Payload": {
"VirtualmanKey": "123",
"InputSsml": "你好,我是虚拟<phoneme alphabet=\\"py\\" ph=\\"fu4\\">主</phoneme>播",
"SpeechParam": {
"Speed": 1
},
"VideoParam": {
"Format": "Mp4",
"BackgroundFileUrl": "url1",
"VideoHeadFileUrl": "url2",
"VideoTailFileUrl": "url3",
"ShowSubtitles": true,
"LogoParams": [
{
"LogoFileUrl": "http://virtualhuman-cos-test-1251316161.cos.ap-nanjing.myqcloud.com/virtualhuman-cos-test-1251316161/1554000251793182720",
"PositionX": 1561,
"PositionY": 751,
"Scale": 1.0
}
],
"AnchorParam": {
"HorizontalPosition": 0.5,
"Scale": 1.0,
"AnchorExtraParam": "\\"shirtColor\\": {\\"colorValue\\": 10491928},\\"clotheColor\\": {\\"colorValue\\": 10491928},\\"shoeColor\\": {\\"colorValue\\": 10491928}"
}
}
}
}

返回示例

{
   "Header": {
"Code":0,
"DialogID":"",
"Message":"",
"RequestID":"123",
    },
"Payload":{
"TaskID":"123"
}
}