AI视频混剪
更新时间:2024-10-11
AI视频混剪
各接口用途说明
百度智能云一念AI视频混剪API,主要是基于用户自有的存量图片和视频素材,通过文案脚本驱动视频画面重组的方式,对内容进行二次编排生产与混剪制作。故产品服务主要分为存量素材的入库(包含多模态内容理解、语义分析、素材切分、素材存储)和视频混剪生产两大模块。
- 邀测阶段:当前接口处于邀测阶段,如有测试需求,请联系您的商务经理或提交工单申请。
- 素材入库:用户将已有的素材批量导入,通过接口入库的素材都可以在一念SaaS产品页面上的「素材-团队素材」菜单中看到,默认通过API入库的素材都自动进行内容理解和镜头切分处理,只有经过智能处理的素材才能参与到后续智能混剪中。
- 素材入库结果查询:用于查询素材入库与智能分析的进度。
- 提交视频混剪任务:基于用户输入的视频旁白文案,以及指定的素材范围,智能混剪生成成片视频。
- 视频混剪任务结果查询:用于在任务创建后,查看视频生成状态。待视频生成完毕,通过查询接口即可查看生成视频的地址链接。
- 标签查询:用于批量查询用户在一念SaaS产品页面上,手动维护的全量标签信息。
- 并发概念:并发数指 AI 视频服务同时能处理的请求数量。上一个任务执行完,拿到结果后,并发才结束。
素材入库
接口描述
用户将已有的素材批量导入,通过接口入库的素材都可以在一念SaaS产品页面上的「素材-团队素材」菜单中看到,默认通过API入库的素材都自动进行内容理解和镜头切分处理,只有经过智能处理的素材才能参与到后续智能混剪中。
请求说明
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rpc/2.0/brain/internal/mediares/paas/media/save
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
mediaLibId | 是 | number | 素材库id,素材⼊库后会存储在mediaLibId所对应的账号下,该id当前暂未在系统⻚⾯上展示,可向百度智能云团队咨询获取 |
url | 是 | string | 要⼊库的素材url地址,视频⽀持mp4、mov格式,图⽚⽀持jpg、jpeg、png格式 |
mediaTags | 否 | object | 标签分类,⽤户可以登录⼀念SaaS⻚⾯上维护标签分类。若传⼊标签信息,系统将⾃动为当前素材打上对应标签,便于后续素材检索,若传⼊的标签信息⽤户未在产品⻚⾯上创建,则标签不⽣效 |
+id | 是 | number | 标签id,可通过标签查询API获取,详⻅第五章节;⼀个素材⽀持打多个标签 |
description | 否 | string | ⽤户⾃定义的素材描述,填写后会在⼀念SaaS⻚⾯上的素材详情⻚展示 |
Body示例
{
"mediaLibId": 258,
"url":"https://xxx/ford.mp4",
"mediaTags": [{
"id": 4208
}],
"description": "福特"
}
返回参数
参数 | 类型 | 描述 |
---|---|---|
code | number | 错误码,0表示成功,非0表示异常 |
msg | string | 错误信息 |
data | object | 返回的数据 |
+taskId | string | 入库任务id |
返回示例
任务提交成功时返回
{
"code": 0,
"data": {
"taskId": "160"
},
"msg": "ok"
}
参数校验失败时返回
{
"code": 30901,
"msg": "url无效:https://xxx/ford.mp4"
}
系统异常时返回
{
"code": -1,
"msg": "服务异常,请稍后重试"
}
素材入库结果查询
接口描述
用于查询素材入库与智能分析的进度。
请求示例
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rpc/2.0/brain/internal/mediares/paas/media/query
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
taskId | 是 | string | 素材入库的任务id |
Body示例
{
"taskId": "160"
}
返回参数
参数 | 类型 | 描述 |
---|---|---|
code | number | 错误码,0表示成功,非0表示异常 |
msg | string | 错误信息 |
data | object | 返回的数据 |
+mediaId | number | 素材入库成功后的媒资id |
+status | number | 素材入库状态,0:入库中 、1:入库成功、 2:入库失败 |
+failReason | string | 入库失败错误信息,素材入库失败时返回 |
+analysisStatus | number | 分析状态 ,-1:待分析,0:分析中,1:分析成功,2:分析失败 |
+analysisFailReason | string | 分析失败错误信息,素材分析失败时返回 |
返回示例
任务查询成功时返回
{
"code": 0,
"data": {
"mediaId": 67636,
"status": 1,
"analysisStatus": 1
},
"msg": "ok"
}
参数校验失败时返回
{
"code": 30901,
"msg": "任务不存在!"
}
系统异常时返回
{
"code": -1,
"msg": "服务异常,请稍后重试"
}
提交视频混剪任务
接口描述
基于用户输入的视频旁白文案,以及指定的素材范围,智能混剪生成成片视频。
请求示例
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rpc/2.0/brain/internal/video/paas/xtv/create
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
text | 是 | string | 视频文案,不能超过800字 |
mediaLib | 否 | number | 素材库id集合,该id当前暂未在系统页面上展示,可向百度智能云团队咨询获取;当前仅支持指定一个素材库 |
mediaIds | 否 | number | 素材入库分析后查询所得的mediaId组成的集合,当该集合不为空时,视频素材将使用该集合中指定的素材进行填充 |
mediaTagList | 否 | number | 素材标签名称集合,传入标签的id,当指定标签集合后,视频素材将使用该集合中指定的标签所对应的素材进行填充,mediaLib存在时生效 |
resolution | 否 | number | 横屏支持[1920,1080]、[1280,720]、[1024,576]、竖屏支持[1080,1920]、[720,1280]、[576,1024]。默认横屏[1280,720] |
title | 否 | string | 视频标题,若制作竖版视频,系统将自动添加标题至视频固定区域,最多36个字符 |
templateId | 否 | string | 视频模板id,不传则智能匹配,横屏模板支持:"30","41","42","43","44","45","46","47","48","49",竖屏模板支持:"40","28","29","31","32","33","34","35","36","37","38","39","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71" |
ttsPer | 否 | number | 语音播报音色,不传则智能匹配,支持:4100,0,4003,4105,5003,3,106,4117,5,4106,4115,4119,5118,1,111,4103,103,110,4,4144,4140,4143,4129,4278,4254,4149, 默认选择4278 |
bgMusic | 否 | object | 背景音乐,默认智能匹配 |
+id | 否 | number | 音乐库id,可选范围 [1,29] |
+url | 否 | string | 背景音乐url地址,支持mp3、mov格式,大小限制10M |
+autoMatch | 否 | bool | 是否需要背景音乐,默认true表示需要,false表示取消背景音乐 |
videoLogo | 否 | object | 视频角标,默认无角标 |
+url | 否 | string | 视频角标url地址,支持jpg、jpeg、png格式,大小限制1M |
+location | 否 | string | 角标位置,支持"top-left","top-right","bottom-left","bottom-right",默认"top-left" |
+margin | 否 | number | 角标边距,即角标与左边框和上边框的距离,默认值20px |
videoBegin | 否 | object | 视频片头,大小限制50M |
+mediaId | 否 | number | 使用指定的素材id作为片头,支持mp4、mov格式 |
+url | 否 | string | 视频片头url地址,支持mp4、mov格式 |
videoEnd | 否 | string | 视频片尾,大小限制50M |
+mediaId | 否 | number | 使用指定的素材id作为片尾,支持mp4、mov格式 |
+url | 否 | string | 视频片尾url地址,支持mp4、mov格式 |
withVoiceBroadcast | 否 | bool | 是否进行语音播报,默认true需要播报,false表示取消语音播报 |
withCaptions | 否 | bool | 是否开启智能字幕,默认ture开启,false表示不需要字幕 |
withTextEffect | 否 | bool | 是否开启字幕花字特效,默认false,关闭花字特效;该配置需要在开启智能字幕后才生效 |
Body示例
使用指定mediaId集合生成视频
{
"text": "福特锐界L,这款中型SUV以其独特的魅力吸引着无数消费者的目光。外观大气磅礴,线条流畅,充满力量感。内饰豪华精致,科技感十足,为驾驶者带来舒适与便捷的驾驶体验。动力强劲,油耗低,加速迅猛,驾驶起来既稳定又安全。内部空间宽敞,无论是家庭出游还是商务出行,都能轻松应对。福特锐界L,不仅是一辆汽车,更是一种生活态度的体现。现在购车还有多重优惠等你来拿,快来体验吧!",
"mediaIds": [66921, 66922, 66923, 66924]
}
使用指定标签集合所对应的素材生成视频
{
"text": "福特锐界L,这款中型SUV以其独特的魅力吸引着无数消费者的目光。外观大气磅礴,线条流畅,充满力量感。内饰豪华精致,科技感十足,为驾驶者带来舒适与便捷的驾驶体验。动力强劲,油耗低,加速迅猛,驾驶起来既稳定又安全。内部空间宽敞,无论是家庭出游还是商务出行,都能轻松应对。福特锐界L,不仅是一辆汽车,更是一种生活态度的体现。现在购车还有多重优惠等你来拿,快来体验吧!",
"mediaLib": [258],
"mediaTagList": [4208]
}
使用完整配置生成视频
{
"text": "福特锐界L,这款中型SUV以其独特的魅力吸引着无数消费者的目光。外观大气磅礴,线条流畅,充满力量感。内饰豪华精致,科技感十足,为驾驶者带来舒适与便捷的驾驶体验。动力强劲,油耗低,加速迅猛,驾驶起来既稳定又安全。内部空间宽敞,无论是家庭出游还是商务出行,都能轻松应对。福特锐界L,不仅是一辆汽车,更是一种生活态度的体现。现在购车还有多重优惠等你来拿,快来体验吧!",
"mediaIds": [66921, 66922, 66923, 66924],
"resolution": [720, 1280],
"title": "福特锐界L",
"templateId": "31",
"ttsPer": 4278,
"bgMusic": {
"autoMatch": true
},
"videoLogo": {
"url": "https://xxx/a.jpg",
"location": "top-left"
},
"videoBegin": {
"url": "https://xxx/b.mp4"
},
"videoEnd": {
"url": "https://xxx/c.mp4"
},
"withVoiceBroadcast": true,
"withCaptions": true,
"withTextEffect": true
}
返回参数
参数 | 类型 | 描述 |
---|---|---|
code | number | 错误码,0表示成功,非0表示异常 |
msg | string | 错误信息 |
data | object | 返回的数据 |
+taskId | string | 视频混剪任务id |
返回示例
任务提交成功时返回
{
"code": 0,
"data": {
"taskId": "124"
},
"msg": "ok"
}
参数校验失败时返回
{
"code": 30901,
"msg": "mediaIds和mediaLib不能同时为空"
}
系统异常时返回
{
"code": -1,
"msg": "服务异常,请稍后重试"
}
视频混剪任务结果查询
接口描述
用于查询视频成片进度、下载视频成片。
请求示例
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rpc/2.0/brain/internal/video/paas/xtv/query
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
taskId | 是 | string | 视频混剪任务id |
Body示例
{
"taskId":"124"
}
返回参数
参数 | 类型 | 描述 |
---|---|---|
code | number | 错误码,0表示成功,非0表示异常 |
msg | string | 错误信息 |
data | object | 返回的数据 |
+taskId | string | 任务id |
+detail | object | 任务详情 |
++status | number | 任务状态:0: 进行中 1: 任务成功 2: 任务失败 |
++progress | float | 任务进度,任务执行过程中返回 |
++failReason | string | 失败原因,任务失败时返回 |
++url | string | 视频url地址 |
返回示例
任务查询成功时返回
{
"code": 0,
"data": {
"taskId": "124",
"detail": [{
"status": 1,
"url": "https://xxx/d.mp4"
}]
},
"msg": "ok"
}
参数校验失败时返回
{
"code": 30901,
"msg": "任务信息不存在"
}
系统异常时返回
{
"code": -1,
"msg": "服务异常,请稍后重试"
}
标签查询
接口描述
用于批量查询用户在一念SaaS产品页面上,手动维护的全量标签信息。
请求示例
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rpc/2.0/brain/internal/mediares/paas/media/tag/list
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
mediaLibId | 是 | number | 素材库id,唯一绑定在用户的百度云账号下,该id当前暂未在系统页面上展示,可向百度智能云团队咨询获取 |
Body示例
{
"mediaLibId": 258
}
返回参数
参数 | 类型 | 描述 |
---|---|---|
code | number | 错误码,0表示成功,非0表示异常 |
msg | string | 错误信息 |
data | object | 返回的数据 |
+tagsList | object | 返回的数据 |
++groupId | number | 标签体系id,用于区分不同标签体系 |
++name | string | 标签体系名称 |
++onlyLastLevel | bool | 是否只能选择标签的叶子节点,若为true,素材入库时标签只能从叶子节点中选择 |
++required | bool | 若为true,素材入库且需要打标签时,该标签体系下的标签必选 |
++multiple | bool | 标签是否支持多选,若为true,素材打标签时可以同时选择该标签体系下的多个标签赋予该素材 |
++tags | object | 标签信息 |
+++id | number | 标签对应的唯一id,素材入库时可作为素材的标签配置 |
+++name | string | 标签名字 |
+++children | object | 该标签下的子标签信息 |
++++id | number | 子标签对应的唯一id,素材入库时可作为素材的标签配置 |
++++name | string | 子标签名字 |
返回示例
{
"code": 0,
"data": {
"tagsList": [{
"groupId": 89,
"name": "汽车",
"onlyLastLevel": false,
"required": true,
"multiple": true,
"tags": [{
"id": 4205,
"name": "长安福特",
"children": [{
"id": 4206,
"name": "撼路者"
},
{
"id": 4207,
"name": "猛禽"
},
{
"id": 4208,
"name": "锐界L"
}
]
}]
}]
},
"msg": "ok"
}
参数校验失败时返回
{
"code": 30901,
"msg": "mediaLibId无效"
}
系统异常时返回
{
"code": -1,
"msg": "服务异常,请稍后重试"
}