视频制作接口-视频免训练

最近更新时间:2025-08-28 09:49:51

我的收藏

接口说明

无需训练,即可基于一段真人视频素材,通过输入文本或音频,生成人物说话口型与输入内容相匹配的新视频。
通过 音视频制作进度查询接口 最终返回成品视频。目前音视频资源只保留7天,请尽快下载。

调用协议

HTTPS + JSON
POST /v2/ivh/videomaker/broadcastservice/videomakenotrain
Header Content-Type: application/json;charset=utf-8

请求参数

参数
类型
必须
说明
RefVideoUrl
string
模板视频 URL,该字段必填。
1. 支持封装格式:mp4、mov、avi
注意:
视频本身要求编码格式为 H.264 格式,若不是,可通过下述方法转换。请参见 编码格式转换
2. 文件大小:不超过5G。
3. 视频分辨率:单边像素要求在360 - 4096之间。
4. 视频时长:支持1 - 600秒,建议时长在10秒到120秒(当 ConcurrencyType 为 Exclusive 时,支持20分钟视频时长)。
5. 请保证文件的下载速度,否则会下载失败或导致视频制作实时率下降。
对于输入视频素材的规范性要求:
1. 人脸画面:要求真人出镜(如果是卡通人物,需要人物五官和真人比例相近),画面中的人脸说话时,建议正对镜头,水平转动不超过45度,俯仰不超过15度;人脸尽量不遮挡,面部光线稳定。
2. 说话音频:对音频无限制。
对于输出视频的说明:
1. 输出格式:mp4
2. 输出分辨率:最大支持输出单边4096,即 4K 视频。
2.1 当 ConcurrencyType 为 Shared 时,支持最大输出2560*1440。当输入视频分辨率<=2560*1440时,输出分辨率和输入视频一致。
2.2 当 ConcurrencyType 为 Exclusive 时,支持最大输出4096*4096。当输入视频分辨率<=4096*4096时,输出分辨率和输入视频一致。(4K 视频是 2K 视频合成实时率的2倍)
DriverType
string
驱动类型,该字段必填。
1. Text:文本驱动,要求 InputSsml 字段必填。
2. OriginalVoice:原声音频驱动,要求 InputAudioUrl 字段必填。
IdentityWrittenUrl
string
PDF 格式授权书,格式为 PDF,文件大小小于10M。
IdentityVideoUrl
string
视频格式授权书,格式为 mp4,文件大小小于5G。
InputAudioUrl
string
驱动数智人的音频 URL,当 DriverType 为 OriginalVoice 时,该字段必填。
1. 支持格式:wav、mp3、wma、m4a、aac、ogg
2. 时长不超过10分钟,不少于1秒(当 ConcurrencyType 为 Exclusive 时,支持20分钟音频时长)
3. 大小要求:不超过100MB
4. 请保证文件的下载速度,否则会下载失败或导致视频制作实时率下降。
InputSsml
string
播报文本内容,支持 SSML 标签,支持的标签类型参照 数智人 SSML 标记语言规范,标签写法参照示例,内容不能换行,符号需转义。上限2000字,不少于4个字(字数按 unicode 字符数计算)。DriverType为空、或 Text 时,该字段必填。
SpeechParam
object
定义音频的详细参数。DriverType 为 Text 时,该字段必填。
SpeechParam.Speed
float
语速(1.0为正常语速,范围[0.5-1.5],值为0.5时播报语速最慢,值为1.5时播报语速最快, DriverType 为音频驱动类型时,语速控制不生效),DriverType 为 Text 时,该字段必填。
SpeechParam.TimbreKey
string
音色 key,DriverType 为 Text 时,该字段必填。
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 分页查询音色列表 接口,多语种音色在合成时必须选择对应语种。
ConcurrencyType
string
视频制作任务使用的资源类型。
1. Exclusive:使用并发调用,不扣除小时包,需要购买并发,如果没有购买,任务提交失败。
2. Shared:调用会扣除小时包,需要购买小时包,如果没有购买,任务提交失败。
3. 不填:如果购买了并发或者并发和小时包都购买则为“Exclusive”,如果没有购买并发但购买了小时包则为“Shared”,如果都没有购买,任务提交失败。
VideoLoop
int
当音频时长大于视频时长时,生成的视频会对齐音频时长。以下是两种对齐方式:
0:反向拼接、1:正向拼接 。默认 0。
VideoParametersConsistent
int
视频输出标准(码率与帧率)对齐选项,默认0 。
​​0​​:不强制对齐输入视频格式。
​​1​​:对齐输入视频格式。
参数说明:
​​一、选择“0”时
1. ​​码率​​:
默认采用 ​​CRF=17​​ 的编码方式,编码器会根据视频内容复杂度动态调整输出码率,确保质量稳定。
2. ​​帧率​​:
默认输出帧率为 ​​25fps​​。
​​二、选择“1”时
1. ​​码率处理规则​​:
输入码率 ​​< 1000kbps​​ → 输出码率调整为 ​​1000kbps​​。
输入码率 ​​> 9000kbps​​ → 输出码率调整为 ​​9000kbps​​。
输入码率在 ​​[1000kbps, 9000kbps]​​ 范围内 → 输出码率与输入一致。​​
2. 帧率处理规则​​:
输入帧率 ​​< 15fps​​ → 输出帧率调整为 ​​15fps​​。
输入帧率 ​​> 60fps​​ → 输出帧率调整为 ​​60fps​​。
输入帧率在 ​​[15fps, 60fps]​​ 范围内 → 输出帧率与输入一致。
CallbackUrl
string
当用户增加回调 URL 时,将把视频制作结果以固定格式发送 POST 请求到该 URL 地址,固定格式见 附录二: 回调请求体格式,需注意:
1. 限制 CallbackUrl 长度小于1000。
2. 只发送一次请求,无论是哪种问题导致的请求失败,都不会再进行发送。
VideoParam
object
定义合成视频的详细参数。
VideoParam.RefPhotoUrl
string
用户上传的人脸参考图 URL。
输入视频中包含多张人脸时,VideoMakeNoTrain 视频生成 API 仅能选择一张人脸作为目标替换其口型,实现口型与音频相匹配的效果。此参数用来指定以哪个人物作为目标。
若不输入人脸参考图,默认将选择视频中第一个有人脸的画面中,人脸占比最大的人物为目标。
图像文件要求:
1. 文件大小:文件≤10MB
2. 图像大小:单边分辨率要求在[192~4096]
3. 格式支持 jpg、jpeg、png、bmp、webp
4. 内容:需包含一张清晰的人物正脸,且为视频中出现的人物。
VideoParam.DisableIdDetect
int
人脸 ID 追踪开关。默认0。
0:开启人脸 ID 追踪。开启后,可以通过人脸 ID 参数(VideoParam.RefPhotoUrl)指定人脸 ID 进行驱动(如果不指定就以识别到的第一个有效人脸 ID 为主)。
1:关闭人脸 ID 追踪。关闭后,人脸 ID 参数(VideoParam.RefPhotoUrl)无效,识别出人脸 ID 均会驱动(如同一帧画面中出现多张人脸,最大的人脸会作为有效人脸 ID)。
VideoParam.DisableOcclusionDetect
int
遮挡检测开关。默认0。
0:开启遮挡检测。开启后,当嘴部有遮挡时,不会驱动口型。
1:关闭遮挡检测。关闭后,当嘴部有遮挡时,也会驱动口型。
VideoParam.EnableFakeTeeth
int
假牙处理开关。默认0。
0:关闭假牙处理。关闭后,最终合成的视频里的牙齿,会学习原视频里的牙齿特征。
1:开启假牙处理。开启后,最终合成的视频里的牙齿会重新生成,不会参考原视频的牙齿特征。
VideoParam.MakeType
string
视频定制类型。
Default:默认配置,视频片段默认会从原视频第0秒开始,StartTime 和 EndTime 均不生效
Custom:指定视频片段,可以填写 StartTime 和 EndTime 来选择片段(需要大于5s),默认生成的视频用该“指定的视频片段”进行正倒放循环。
Circle:首尾帧归位,可以填写 StartTime 来指定视频开始时间(EndTime 不生效),并且此时 VideoLoop 参数不生效。
CustomOnlyStart:通过 StartTime 指定视频起始时间,EndTime 不生效,此时 VideoLoop 参数不生效,默认为反向拼接。
VideoParam.StartTime
float
起始时间,单位秒(有效数字为小数点后3位),当 MakeType 为 Custom 或 Circle 时生效,当填写的时候,默认生成的视频从该位置开始;不填的时候,默认选取视频开始时间。
VideoParam.EndTime
float
结束时间,单位秒(有效数字为小数点后3位),当 MakeType 为 Custom 时生效,当填写的时候,默认结束的视频到该位置结束;不填的时候,默认选取该“选中的全部视频片段”的结束时间
VideoParam.DisableIntervals
Array of [DisableInterval]
定义视频中不驱动时间片段列表(目前最大支持5个时间片段),列表需按照时间顺序递增,否则任务提交失败。
例如:[[1,2],[3,4],[5,6]] 表明原视频的1s~2s、3s~4s、5s~6s不做口型驱动。

DisableInterval

参数
类型
必须
说明
StartTime
float
不驱动片段起始时间,单位秒,(有效数字为小数点后3位)
EndTime
float
不驱动片段结束时间,单位秒,(有效数字为小数点后3位)

返回参数

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

请求示例

文本驱动
{
"Header": {},
"Payload": {
"RefVideoUrl": "http://virtualhuman-cos-test-1251316161.cos.ap-nanjing.myqcloud.com/ref_video.mp4",
"DriverType": "Text",
"InputSsml": "你好,我是虚拟<phoneme alphabet=\\"py\\" ph=\\"fu4\\">主</phoneme>播",
"SpeechParam": {
"TimbreKey": "female_1",
"Volume": 1,
"Speed": 1.0
}
}
}
音频驱动
{
"Header": {},
"Payload": {
"RefVideoUrl": "http://virtualhuman-cos-test-1251316161.cos.ap-nanjing.myqcloud.com/ref_video.mp4",
"DriverType": "OriginalVoice",
"InputAudioUrl": "http://virtualhuman-cos-test-1251316161.cos.ap-nanjing.myqcloud.com/audio.mp3"
}
}

返回示例

{
"Header": {
"Code": 0,
"DialogID": "",
"Message": "",
"RequestID": "fde854eaa981c7f2f7285d1c7eca335b",
"SessionID": "gzb7dec22117297528294581119"
},
"Payload": {
"TaskId": "81883d47c6154edf8e276531f09227b6"
}
}

编码格式转换小教程

该教程专用于将视频转成 H.264 编码格式,主要原理为:通过 FFmpeg 实现转换。

第一步:安装 FFmpeg

Windows 系统:
从 FFmpeg 官网下载 Windows 版本的压缩包。
macOS 系统:
可以使用 Homebrew 进行安装,命令为 brew install ffmpeg。
Linux 系统:
Ubuntu/Debian 系统使用命令 sudo apt-get install ffmpeg。
Fedora 系统使用命令 sudo dnf install ffmpeg。

第二步:转换

1. 准备好两个路径:转换前视频路径和转换后视频路径,然后在“终端”中输入以下指令。
ffmpeg -i 转换前视频路径 -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k 转换后视频路径
例如:
转换前视频路径为:“/Users/xxxx/Downloads/picture/video/视频名.mov”
转换后视频路径为:“/Users/xxxx/Downloads/picture/video/转换后视频名.mp4”
2. 则终端输入指令为:
ffmpeg -i “/Users/xxxx/Downloads/picture/video/视频名.mov” -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k “/Users/xxxx/Downloads/picture/video/转换后视频名.mp4”
注意:
Windows 系统需要通过 cd 切换目录到压缩包 .exe 所在的文件夹后,再执行指令。

第三步:验证

验证是否为 H.264:在上一步指定路径下获取已转换视频后,可借助系统自带播放器或第三方 VLC 等软件检查。