本文介绍视频生产(videoenhan)类目下的通用视频生成GenerateVideo的语法及示例。
功能描述
通用视频生成能力可以根据输入的原始视频,智能生成营销短视频。支持图像、视频、音频等素材混合处理,支持转场特效等加工效果叠加。输入视频的场景类型可选择服饰场景(默认)或通用场景,通过分析视频中的人和物,生成故事线来组织素材的顺序。您也可以通过输入参数的设置强制按输入素材顺序合成视频场景。
通用视频生成能力主要包含以下功能点:
- 输入文件类型:支持video(视频)、audio(音频)、image(图像)中的一种或多种。
- 输出视频节奏:可选normal(普通)、fast(快)、slow(慢),默认为normal(普通)。
- 镜头转场风格的选择:共计15种风格,如果没有设置则按照Style随机,目前支持的镜头转场风格包括:basic(无)、slow(舒缓)、fast(动感)、normal(自然)、ink(水墨)、glitch(机械故障)、shift(切换)、mosaic(马赛克)、shutter(百叶窗)、zoom(缩放)、mask(遮罩)、brush(笔刷)、wind(风舞)、smog(烟雾)。
- 智能特效:当前支持音画联动和静转动特效,默认添加。
- 动态拼图特效:支持在单镜头中通过拼图展示多个视频图像素材,默认不添加。
应用场景
- 信息流广告制作:基于提供的素材批量生成广告视频,进行低成本投放。
- 短视频二次加工:基于提供的视频内容和图片素材,进行新的视频素材制作。
特色优势
- 全自动生产:根据业务需要配置参数,自动化生产视频。
- 功能丰富:支持多种素材输入,支持转场特效等,实现更丰富的业务场景应用。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通视频生产服务,若未开通服务请立即开通。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为视频生产(videoenhan)类目的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 示例代码:该能力常用语言的示例代码,请参见通用视频生成示例代码,常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 图片格式:JPG、PNG。
- 图片大小:每张图片大于30 KB,小于100 MB。
- 视频格式:MP4、AVI、MKV、MOV、JPG、PNG、BMP、MP3、WAV。
- 视频大小:不超过1 GB。
- 视频素材最多5个,且总时长不超过3分钟,超过部分会被自动截断丢弃(按输入视频顺序保留前3分钟)。图像素材最多40个。音频素材最多1个。
- URL地址中不能包含中文字符。
计费说明
关于通用视频生成的计费方式及报价,请参见计费介绍。
调用步骤
该能力为异步能力,需分两步进行调用。
第一步调用GenerateVideo接口提交任务,请求成功后,得到一个任务ID。
第二步调用GetAsyncJobResult接口查询结果,根据任务ID查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | GenerateVideo | 系统规定参数。本接口取值:GenerateVideo。 |
Scene | String | 否 | costume | 生成视频场景类型。取值如下:
|
Width | Integer | 否 | 640 | 输出视频的width,取值范围32~2160。 |
Height | Integer | 否 | 640 | 输出视频的height,取值范围32~2160。若width和height均没有设置,则按照750×750输出。如果设置了其中一个,则按照1:1输出。 |
Style | String | 否 | fast | 输出视频节奏。可选normal、fast、slow。默认为normal。 |
Duration | Float | 否 | 10 | 输出视频时长,单位为秒。默认为20秒。 视频输出最短为5秒,最长为60秒。 |
DurationAdaption | Boolean | 否 | true | 输出视频时长自适应。取值true或false,为true时 |
TransitionStyle | String | 否 | brush | 镜头转场风格。共计15种风格。如果没有设置则按照 目前支持的镜头转场风格包括:basic(无)、slow(舒缓)、fast(动感)、normal(自然)、ink(水墨)、glitch(机械故障)、shift(切换)、mosaic(马赛克)、shutter(百叶窗)、zoom(缩放)、mask(遮罩)、brush(笔刷)、wind(风舞)、smog(烟雾)。 |
SmartEffect | Boolean | 否 | true | 是否添加智能特效,默认为true。当前支持音画联动和静转动特效。 |
PuzzleEffect | Boolean | 否 | true | 是否动态拼图特效,支持在单镜头中通过拼图展示多个视频图像素材。默认为false。 |
Mute | Boolean | 否 | true | 生成视频是否静音。默认为false。 说明 如果没有音乐素材或视频素材无声时生成的视频没有音乐。 |
FileList.N.Type | String | 是 | video | 输入文件类型。包括video、audio、image。 可以同时输入多种素材(video+image+audio或video+image或video+audio或image+audio)。 |
FileList.N.FileUrl | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/GenerateVideo/1-video1.mp4 | 输入文件URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 输入限制:
|
FileList.N.FileName | String | 是 | 1-video1.mp4 | 输入文件名称。视频音频文件格式为MP4或MP3时,可以忽略文件后缀。其他格式必须包含后缀。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 7CB9B663-3EF8-4C9C-A464-FDA2B5F1E3A4 | 请求ID。 |
Data | Object | 返回的结果数据内容。 该数据需要在异步任务执行成功后,通过调用GetAsyncJobResult接口,对其Result字段进行JSON反序列化之后得到。 |
|
VideoCoverUrl | String | http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-gen/2021-05-07-15/B9MGfwxu.mp4?Expires=1620372653&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=F9flL1n5GPYaae0dLl%2F8D%2Bn4j6**** | 输出视频封面URL地址。 说明 该URL地址为临时地址,有效期为30分钟,过期后将无法访问。若需要长时间或者永久保存文件,请在30分钟内访问URL地址,下载文件转存到自己的OSS或者其他存储空间。 |
VideoUrl | String | http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-gen/2021-05-07-15/B9MGfwxu.jpg?Expires=1620372653&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=djBvGvdJu8bd%2FC%2BVHdg1d57U%2Bu**** | 输出视频URL地址。 说明 该URL地址为临时地址,有效期为30分钟,过期后将无法访问。若需要长时间或者永久保存文件,请在30分钟内访问URL地址,下载文件转存到自己的OSS或者其他存储空间。 |
Message | String | 该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。 | 提交异步任务后的提示信息。 |
查询结果
您需要通过返回的RequestId调用GetAsyncJobResult接口来获取该接口的真实请求结果。具体操作,请参见GetAsyncJobResult。其中Result字段为返回结果的JSON序列化字符串,JSON中字段说明请参见返回数据中的Data参数。
SDK参考
阿里云视觉AI视频生产类目下的通用视频生成能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为视频生产(videoenhan)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言的示例代码,请参见通用视频生成示例代码,常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
示例
请求示例
http(s)://videoenhan.cn-shanghai.aliyuncs.com/?Action=GenerateVideo //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&Scene=costume
&Width=640
&Height=640
&Style=fast
&Duration=10.0
&DurationAdaption=true
&TransitionStyle=brush
&SmartEffect=true
&PuzzleEffect=true
&Mute=true
&FileList=[{"Type":"video","FileUrl":"http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/GenerateVideo/1-video1.mp4","FileName":"1-video1.mp4"}]
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<GenerateVideoResponse>
<RequestId>7CB9B663-3EF8-4C9C-A464-FDA2B5F1E3A4</RequestId>
<Message>该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。</Message>
</GenerateVideoResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "7CB9B663-3EF8-4C9C-A464-FDA2B5F1E3A4",
"Message" : "该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。"
}
返回示例补充说明
//查询结果:请求示例
http(s)://videoenhan.cn-shanghai.aliyuncs.com/?Action=GetAsyncJobResult
&JobId=E75FE679-0303-4DD1-8252-1143B4FA8A27
&<公共请求参数>
//查询结果:返回示例
{
"RequestId" : "43A0AEB6-45F4-4138-8E89-E1A5D63200E3",
"Data" : {
"Status" : "PROCESS_SUCCESS",
"JobId" : "186AC396-0EEC-46F1-AAA1-BF3585227427",
"Result" : "{\"VideoCoverUrl\":\"http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-gen/2021-05-07-15/B9MGfwxu.mp4?Expires=1620372653&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=F9flL1n5GPYaae0dLl%2F8D%2Bn4j6****\",\"VideoUrl\":\"http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-gen/2021-05-07-15/B9MGfwxu.jpg?Expires=1620372653&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=djBvGvdJu8bd%2FC%2BVHdg1d57U%2Bu****\"}"
}
}
//Result反序列化
{
"VideoCoverUrl" : "http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-gen/2021-05-07-15/B9MGfwxu.mp4?Expires=1620372653&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=F9flL1n5GPYaae0dLl%2F8D%2Bn4j6****",
"VideoUrl" : "http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-gen/2021-05-07-15/B9MGfwxu.jpg?Expires=1620372653&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=djBvGvdJu8bd%2FC%2BVHdg1d57U%2Bu****"
}
错误码
具体请参见常见错误码。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。