

- 组装草稿数据的插件地址:https://coze.cn/store/plugin/7552063316647034923
- 剪映草稿模板制作的插件地址:https://coze.cn/store/plugin/7552063650572288036
一、学习目标
- 了解剪映草稿的视频素材有哪些配置参数
- 掌握如何组装视频素材到剪映草稿
- 掌握本案例涉及到的5个组装视频相关草稿数据的工具节点,分别是:
3.1 video_info -> 自定义一段视频素材信息,返回一组(仅包含一个素材片段)视频素材信息
3.2 video_infos_by_timelines -> 基于时间线组装一组(即包含一段或多段)视频素材信息 ,返回一组视频素材信息
3.3 modify_video_infos -> 修改一组视频素材信息中指定片段的基本信息,返回一组新的视频素材信息
3.4 concat_video_infos -> 拼接两组视频素材信息,返回一组新的视频素材信息
3.5 swap_video_segment_position -> 交换一组(包含多段)视频素材信息中的任意两个素材片段的位置,返回一组新的视频素材信息,该节点是实现视频混剪的关键节点
(一)剪映草稿的视频素材的配置参数
1. video_info 自定义创建一个视频/图片片段
输入参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
| video_url | 视频素材的URL地址 | String | 是 |
| speed | 播放速度,默认为1.0,取值范围:0.1~42.0 | Number | 否 |
| volume | 音量,默认为1.0。(注意:1.0 表示百分比为100%,音量分贝(dB)和百分比的转换工具自行搜索使用) | Number | 否 |
| alpha | 图像不透明度,0-1,默认为1,表示不透明 | Number | 否 |
| flip_horizontal | 是否水平翻转 | Boolean | 否 |
| flip_vertical | 是否垂直翻转 | Boolean | 否 |
| rotation | 顺时针旋转的角度,可正可负 | Number | 否 |
| scale_x | 水平缩放比例,默认已开启水平/垂直的等比缩放,即设置了水平的缩放比例后,垂直方向自动等比缩放 | Number | 否 |
| scale_y | 垂直缩放比例,默认已开启水平/垂直的等比缩放,即设置了垂直的缩放比例后,水平方向自动等比缩放 | Number | 否 |
| transform_x | 水平位移,单位为半个画布宽 | Number | 否 |
| transform_y | 垂直位移,单位为半个画布高 | Number | 否 |
| source_time_start | 截取的素材片段的开始时间点,单位为微秒 | Integer | 是 |
| source_time_duration | 截取的素材片段的持续长度,单位为微秒 | Integer | 是 |
| animation_intro_name | 入场动画名称 | String | 否 |
| animation_intro_duration | 入场动画持续时长(单位微秒) | Integer | 否 |
| animation_outro_name | 出场动画名称 | String | 否 |
| animation_outro_duration | 出场动画持续时长(单位微秒) | Integer | 否 |
| animation_group_name | 组动画名称 | String | 否 |
| animation_group_duration | 组动画持续时长(单位微秒) | Integer | 否 |
| transition_name | 转场名称 | String | 否 |
| transition_duration | 转场持续时长(单位微秒) | Integer | 否 |
| mask_type | 添加蒙版:蒙版类型,可选参数值:线性、椭圆、圆形、矩形、爱心、星形 | String | 否 |
| mask_center_x | 添加蒙版:蒙版中心点X坐标(以素材的像素为单位),默认设置在素材中心 | Number | 否 |
| mask_center_y | 添加蒙版:蒙版中心点Y坐标(以素材的像素为单位),默认设置在素材中心 | Number | 否 |
| mask_size | 添加蒙版:蒙版的“主要尺寸”(椭圆的可视部分高度/圆形直径/爱心高度等),以占素材高度的比例表示,默认为0.5 | Number | 否 |
| mask_rotation | 添加蒙版:蒙版顺时针旋转的角度,默认不旋转 | Number | 否 |
| mask_feather | 添加蒙版:蒙版的羽化参数,取值范围0~100,默认无羽化 | Number | 否 |
| mask_invert | 添加蒙版:是否反转蒙版,默认不反转 | Boolean | 否 |
| mask_rect_width | 添加蒙版:矩形蒙版的宽度,仅在蒙版类型为矩形时允许设置,以占素材宽度的比例表示,默认与size相同 | Number | 否 |
| mask_round_corner | 添加蒙版:矩形蒙版的圆角参数,仅在蒙版类型为矩形时允许设置,取值范围0~100,默认为0 | Number | 否 |
| background_fill_type | 添加背景填充(背景填充仅对底层视频轨道上的片段生效):填充类型。blur表示模糊,color表示颜色。 | String | 否 |
| background_fill_blur | 添加背景填充(背景填充仅对底层视频轨道上的片段生效),模糊程度, 0.0-1.0. 仅在fill_type为blur时有效. 剪映中的四档模糊数值分别为0.0625, 0.375, 0.75和1.0, 默认为0.0625. | Number | 否 |
| background_fill_color | 添加背景填充(背景填充仅对底层视频轨道上的片段生效),填充颜色, 格式为’#RRGGBBAA’. 仅在fill_type为color时有效. | String | 否 |
| target_time_start | 素材在轨道上的开始时间点 | Integer | 否 |
输出参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
| message | 结果描述 | String | 否 |
| code | 状态码(0-正常,其它-非正常) | Integer | 否 |
| video_infos | 一组视频/图片素材(包含一个素材片段) | String | 是 |
| segment_ids | 素材片段编号列表 | Array | 是 |
截图参考

2. video_infos_by_timelines 根据时间线对象创建一组视频素材信息
输入参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
| timelines | 时间线对象 | Array | 是 |
| timelines.start | 开始时间点 | Integer | 是 |
| timelines.duration | 持续长度,单位为微秒 | Integer | 是 |
| video_urls | 视频素材地址列表,传参参考:["https://a.mp4", "https://b.mp4"] | Array | 是 |
输出参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
| message | 结果描述 | String | 否 |
| code | 状态码(0-正常,其它-非正常) | Integer | 否 |
| video_infos | 一组视频/图片素材 | String | 是 |
| segment_ids | 素材片段编号列表 | Array | 是 |
截图参考

3. modify_video_infos 修改视频/图片素材信息
输入参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
video_infos | 一组视频/图片素材信息 | String | 是 |
target_time_start | 素材在轨道上的起始时间点 | Integer | 否 |
segment_index | 待修改的素材片段索引列表(数组) | Array | 是 |
speed | 播放速度,默认为 1.0,取值范围:0.1 ~ 42.0 | Number | 否 |
volume | 音量,默认为 1.0(表示 100%),注意音量分贝与百分比需自行转换 | Number | 否 |
alpha | 图像不透明度,0~1,默认为 1(完全不透明) | Number | 否 |
flip_horizontal | 是否水平翻转 | Boolean | 否 |
flip_vertical | 是否垂直翻转 | Boolean | 否 |
rotation | 顺时针旋转角度(可正可负) | Number | 否 |
scale_x | 水平缩放比例,默认开启等比缩放,设置后垂直方向自动等比 | Number | 否 |
scale_y | 垂直缩放比例,默认开启等比缩放,设置后水平方向自动等比 | Number | 否 |
transform_x | 水平位移,单位为半个画布宽度 | Number | 否 |
transform_y | 垂直位移,单位为半个画布高度 | Number | 否 |
source_time_start | 截取素材片段的开始时间点(单位:微秒) | Integer | 是 |
source_time_duration | 截取素材片段的持续长度(单位:微秒) | Integer | 是 |
mask_type | 蒙版类型,可选值:线性、椭圆、圆形、矩形、爱心、星形 | String | 否 |
mask_center_x | 蒙版中心点 X 坐标(以素材像素为单位,默认居中) | Number | 否 |
mask_center_y | 蒙版中心点 Y 坐标(以素材像素为单位,默认居中) | Number | 否 |
mask_size | 蒙版“主要尺寸”(如圆形直径、爱心高度等),占素材高度比例,默认 0.5 | Number | 否 |
mask_rotation | 蒙版顺时针旋转角度(单位:度) | Number | 否 |
mask_feather | 蒙版羽化参数,取值范围 0~100,默认无羽化 | Number | 否 |
mask_invert | 是否反转蒙版,默认不反转 | Boolean | 否 |
mask_rect_width | 矩形蒙版宽度(仅当 mask_type 为矩形时有效),占素材宽度比例,默认与 mask_size 相同 | Number | 否 |
mask_round_corner | 矩形蒙版圆角参数(0~100),仅在矩形蒙版时可用,默认 0 | Number | 否 |
background_fill_type | 背景填充类型:blur 表示模糊,color 表示颜色 | String | 否 |
background_fill_blur | 模糊程度,取值范围 0.0~1.0;仅在 fill_type=blur 时有效剪映默认档位:0.0625, 0.375, 0.75, 1.0 默认值:0.0625 | Number | 否 |
background_fill_color | 填充颜色,格式为 #RRGGBBAA,仅在 fill_type=color 时有效 | String | 否 |
animation_intro_name | 入场动画名称 | String | 否 |
animation_intro_duration | 入场动画持续时长(单位:微秒) | Integer | 否 |
animation_outro_name | 出场动画名称 | String | 否 |
animation_outro_duration | 出场动画持续时长(单位:微秒) | Integer | 否 |
animation_group_name | 组动画名称 | String | 否 |
animation_group_duration | 组动画持续时长(单位:微秒) | Integer | 否 |
transition_name | 转场名称 | String | 否 |
transition_duration | 转场持续时长(单位:微秒) | Integer | 否 |
输出参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
| message | 结果描述 | String | 否 |
| code | 状态码(0-正常,其它-非正常) | Integer | 否 |
| video_infos | 一组视频/图片素材 | String | 是 |
| segment_ids | 素材片段编号列表 | Array | 是 |
截图参考

4. concat_video_infos 拼接两组视频/图片信息
输入参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
video_infos1 | 待拼接的第一组视频/图片素材 | String | 是 |
video_infos2 | 待拼接的第二组视频/图片素材 | String | 是 |
输出参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
| message | 结果描述 | String | 否 |
| code | 状态码(0-正常,其它-非正常) | Integer | 否 |
| video_infos | 一组视频/图片素材 | String | 是 |
| segment_ids | 素材片段编号列表 | Array | 是 |
截图参考

5. swap_video_segment_position 交换视频/图片素材片段
输入参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
swap_position | 待交换的索引位置(索引从1开始,source_index位置的视频/图片素材片段和swap_index位置的素材进行交换) | Array | 是 |
swap_position.source_index | 源索引 | Integer | 是 |
swap_position.swap_index | 交换索引 | Integer | 是 |
target_timerange_start | 这组素材在轨道上的开始时间点,单位为毫秒,默认为0 | Integer | 否 |
video_infos | 一组视频/图片素材信息 | String | 是 |
输出参数
| 名称 | 描述 | 类型 | 必填 |
|---|---|---|---|
| message | 结果描述 | String | 否 |
| code | 状态码(0-正常,其它-非正常) | Integer | 否 |
| video_infos | 一组视频/图片素材 | String | 是 |
| segment_ids | 素材片段编号列表 | Array | 是 |
截图参考

(二)本教程的工作流流程设计如下

接下来将详细的拆解每一步~~~
二、详细步骤
包含详细的图文教程,具体操作步骤参考截图编号
(一)注册/登录扣子网站
- https://www.coze.cn/home(扣子官网)
(二)创建工作流
- 填写工作流名称:“course_004”
- 填写工作流描述:
教程4:添加视频素材,本教程你将会掌握五个工具节点:
(1)video_info、(2)video_infos_by_timelines、
(3)modify_video_infos、(4)concat_video_infos、
(5)swap_video_segment_position
- 点击“确认”按钮

(三)完善工作流基础搭建
- 第①~⑤、⑦节点在“组建草稿数据”插件中。
- 第⑧~⑩节点在“剪映草稿模板制作”插件中。
| 编号 | 节点名称 | 功能描述 | 所属插件 |
|---|---|---|---|
| ① | video_info | 添加单个视频/图片素材信息,输入源时间范围,输出片段ID和视频信息 | 组建草稿数据 |
| ② | generate_timelines | 根据时间线段生成时间线结构,输入时间线片段,输出目标时间点和消息 | 组建草稿数据 |
| ③ | video_infos_by_timelines | 将时间线与视频URL关联,生成带时间线的视频信息列表 | 组建草稿数据 |
| ④ | concat_video_infos | 合并多个视频/图片素材信息,支持拼接 video_info1 和 video_info2 | 组建草稿数据 |
| ⑤ | modify_video_infos | 修改指定素材片段的属性(如速度、音量、旋转等),通过 segment_index 指定索引 | 组建草稿数据 |
| ⑥ | 代码 | 代码-生成随机交换第2、3、4这三个片段素材位置的编号 | 组建草稿数据 |
| ⑦ | swap_video_segment_position | 交换两个素材片段的位置,通过 source_index 和 swap_index 指定索引 | 组建草稿数据 |
| ⑧ | create_draft | 创建草稿,输入画布高度和宽度,生成草稿ID | 剪映草稿模板制作 |
| ⑨ | add_videos | 将视频/图片素材添加到草稿中,输入 draft_id 和 video_infos_list | 剪映草稿模板制作 |
| ⑩ | save_draft | 保存草稿,输入 client_id 和 draft_id,输出草稿URL | 剪映草稿模板制作 |
- 流程顺序:必须严格按照编号顺序连接节点,确保数据流正确传递。
- 插件区分:
- 前半部分(①~⑦)使用 “组建草稿数据” 插件完成素材准备与处理。
- 后半部分(⑧~⑩)使用 “剪映草稿模板制作” 插件完成草稿创建与发布。
- 关键输入:
video_infos是核心输入,需提前准备好视频/图片信息。segment_index用于定位要修改或交换的片段。draft_id是后续操作的关键标识符。

(四)配置开始节点
| 编号 | 操作步骤 |
|---|---|
| ① | 点击“开始”节点 |
| ② | 配置片头视频素材 |
| ③ | 配置其它视频素材 |

(五)配置video_info节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置source_time_duration等于5000000,即表示截取视频片段长度为5秒(5000000微秒) |
| ③ | 配置source_time_start等于1000000,即表示从视频片段第1秒开始截图 |
| ④ | 配置video_url的值为开始节点的first_video属性,即片头素材的地址 |

(六)配置generate_timelines节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置timeline_segment值为[3000000,4000000,2000000],表示创建三段时长分别为3秒、4秒和2秒的时间线 |

(七)配置video_infos_by_timelines节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置timelines等于generate_timelines节点的timelines属性 |
| ③ | 配置video_urls等于开始节点的other_videos属性 |

(八)配置concat_video_infos节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置video_infos1等于video_info节点的video_infos属性 |
| ③ | 配置video_infos2等于video_infos_by_timelines的video_infos属性 |

(九)配置modify_video_infos节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置要修改素材片段编号,这里是修改第2、3、4这三个视频片段 |
| ③ | 绑定concat_video_infos节点的video_infos属性 |
| ④ | 给第2、3、4这三个素材片段加入场动画:旋转开幕 |

(十)配置生成随机交换素材片段编号的代码
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置input等于modify_video_infos节点的segment_ids属性 |
| ③ | 生成随即交换素材位置编号的代码 |
| ④ | 输出的数据结构 |

- 代码参考
async function main({ params }: Args): Promise<Output> {
// 构建输出对象
const segment_ids = params.input; // 视频素材片段的ID列表
const len = segment_ids.length; // 视频素材片段的数量
// 随机从1->len中取两个数值
const result = getRandomTwoUniqueNumbers(1, len)
const ret: any = {
swap_position: [
{
source_index: result[0],
swap_index: result[1]
}
]
};
return ret;
}
// 随机生成一组数
function getRandomTwoUniqueNumbers(min, max) {
const numbers: Number[] = [];
while (numbers.length < 2) {
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min as number;
if (!numbers.includes(randomNum)) {
numbers.push(randomNum);
}
}
return numbers;
}
(十一)配置swap_video_segment_postion节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置交换素材位置的编号对象,绑定第(十)步的代码节点的返回值swap_position属性 |
| ③ | 绑定modify_video_infos节点的video_infos属性 |

(十二)配置create_draft节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置剪映草稿画布的宽高 |

(十三)配置add_videos节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 绑定draft_id等于create_draft节点的draft_id属性 |
| ③ | 绑定video_infos等于swap_video_segment_position节点的video_infos属性 |

(十四)配置save_draft节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 配置client_id,默认填写10000即可 |
| ③ | 绑定draft_id等于create_draft节点的draft_id属性 |

(十五)配置结束节点
| 编号 | 内容 |
|---|---|
| ① | 点击该节点 |
| ② | 绑定output等于save_draft节点的draft_url属性 |

(十六)上传素材
| 编号 | 内容 |
|---|---|
| ① | 点击“试运行”按钮 |
| ② | 上传片头视频素材 |
| ③ | 上传三段视频素材 |

(十七)运行结果
| 编号 | 内容 |
|---|---|
| ① | 点击试运行按钮 |
| ② | 复制草稿地址 |

(十八)基于助手创建剪映草稿
| 编号 | 内容 |
|---|---|
| ① | 复制草稿地址到这里 |
| ② | 点击“创建草稿”按钮 |

-
剪映草稿助手软件配套:https://yiaicoze.feishu.cn/wiki/U1lYwp7JBiOdR1kOOpvcaXi6nrG
-
下载中…

(十九)预览剪映生成效果


(二十)工作流源码
- 工作流全揽

- 工作流源码
获取地址:https://yiaicoze.feishu.cn/wiki/MKxKwt7xeirgbnktKtKcukVinJl?from=from_copylink
三、写在最后
这是使用剪映草稿助手插件整合与视频素材相关的5个工具节点制作的工作流,在你实际的工作使用中,根据实际情况可以对工具节点进行任意的组合,从而输出想要的剪映草稿模板。
有任何使用问题,欢迎留言,看到后第一时间回复或解答你的疑惑~~~
665

被折叠的 条评论
为什么被折叠?



