视频制作接口-进阶版

最近更新时间:2024-11-11 17:49:31

我的收藏

接口说明

使用 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时,该字段必填
说明:
当 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
控制合成音频的情感,仅支持多情感音色使用,可选值参考个人资产管理API 分页查询音色列表接口。
SpeechParam.EmotionIntensity
int
控制合成音频情感程度,取值范围为 [50,200],只有 EmotionCategory 不为空时生效。
SpeechParam.TimbreLanguage
string
音色语种,可选语种参考个人资产管理 API分页查询音色列表 接口,多语种音色在合成时必须选择对应语种。
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
Array of [LogoParam]
定义视频中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
主播额外可配置参数,目前仅包含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
说明:
当 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
视频制作的任务ID,携带TaskId访问音视频制作进度查询接口,可获得制作进度和制作结果

请求示例

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