文章标题:
Coze实战:依托数据库构建视频混剪流程全攻略
文章内容:
作者:后端小肥肠
🍊 有疑问可通过私信或者评论区跟我联系。
🥑 创作不易,未经允许不准转载。
相关文章:
Coze一键生成打字机效果书单视频(超详细工作流剖析)-CSDN博客
Coze实战:《如果书籍会说话》全方位教程!全流程拆解(含源码)-CSDN博客
10w+爆款文章一键生成:Coze文案号PLUS工作流解析-
CSDN博客用Coze构建内容自动化工作流:公众号一键转小红书图文实战-
CSDN博客Coze+TreeMind实测:秒出ISO标准流程图/脑图(附完整提示词)_coze如何基于网络和知识库生成知识图谱-
CSDN博客
目录
1. 前言
2. 素材筹备
3. 工作流规划
4. 工作流实施
5. 资料获取
6. 结语
1. 前言
在当下快节奏的时代,短视频成了人们抒发情感、传递故事的重要方式。而混剪视频,凭借其独特的节奏和能引发情感共鸣的特点,成为众多创作者的心头好。不过,制作一部高质量的混剪治愈视频,往往要花费大量的时间和精力。但如今,借助Coze的一键生成工作流,我们可以轻松实现这个目标。不管是国学、情感还是治愈主题,都能通过简单操作,快速生成契合主题的视频内容。
本文会详细给您讲解怎样利用Coze的工作流,结合剪映小助手插件,实现从素材筹备到视频导出的全流程自动化。就算您是新手,也能在短时间内掌握制作技巧,轻松创作出高质量的混剪治愈视频,工作流运行效果如下:
2. 素材筹备
这个工作流得提前准备两类素材,一类是混剪视频素材,获取渠道有很多,大家自己去找就行。另一类是对象存储(非必需),得把素材存到您的对象存储里,可以选阿里云或者腾讯云,不过考虑到有些读者在这方面基础没那么好,对象存储不是必需的,没有对象存储的话也能在coze里上传素材,具体用哪种方案看自己,两种方案都会讲解。
要是把素材存到对象存储里,那我们得在Coze里创建一个数据库,用来管理对象存储里的素材:
我们得先创建一个数据库,用来存对象存储中素材的地址,下图是我记录的数据,sort是用来给素材排序的,在工作流里我会根据sort来检索素材,video_url是素材对应的对象存储地址:
3. 工作流规划
在正式开始制作工作流之前,我们得弄清楚工作流的整体设计思路:
1. 接收用户输入的参数,这里的参数可以是上传的素材(没有对象存储的时候),要是有对象存储,只需要上传sort范围,也就是告诉工作流您想用哪个sort范围内的素材来做混剪;
2. 判断用户有没有上传素材,要是上传了素材就把它转成数组;要是用户上传的是sort范围,就查询数据库,随机调取5条视频素材,为后面调用剪映小助手的add_videos插件做准备;
3. 大模型生成治愈视频文案;
4. 把治愈文案分成几段;
5. 根据分段的文案进行配音;
6. 把分段文案、配音、视频素材添加到剪映小助手插件里;
7.导出草稿。
4. 工作流实施
还是老规矩,本章节会依次介绍工作流中的核心节点,完整工作流如下:
开始节点:
开始节点主要是用来接收视频素材的,可以传入source1到source5这5个素材或者指定sort范围,大模型会根据范围从数据库里获取素材链接。
素材构建逻辑:
逻辑上判断用户有没有上传素材,如果上传了素材就把素材链接整合到一个数组里;如果用户上传了sort范围,就返回范围内的5个数字(sort字段),根据数字找到素材链接,整合到一个数组里,这两个分支都是为后面调用剪映小助手的add_videos插件做准备。
大模型(治愈文案生成): 这个节点是用来生成和短视频匹配的文案的,可以根据自己的需求修改主题,比如国学、电影混剪之类的。
抽取5段文案(代码): 这个节点的作用是抽出5段文案用来生成短视频的字幕。
完整代码如下:
async function main({ params }: Args): Promise<Output> {
// 获取内容数组
const contentList = params.contentList;
// 取前5个元素
const contentPartList = contentList.slice(0, 5);
// 返回
return { contentPartList };
}
speech_synthesis(根据文本生成音频): 这个节点的作用是根据分段文案合成音频。
alignTextToAudio: 这个节点的作用是把输入的文本和音频进行时间线对齐。
数据组装_字幕音频(代码): 这个节点的作用是把前置节点生成的字幕和音频组装成剪映小助手需要的参数。
详细代码如下:
async function main({ params }: Args): Promise<Output> {
// 解析输入参数
let text_list = params.text_list;
if (typeof text_list === "string") {
text_list = JSON.parse(text_list);
}
const audio = params.audio;
let cursor_time = parseInt(params.cursor_time, 10); // 起始时间(毫秒)
const duration_all = parseInt(params.duration_all, 10); // 音频总时长(毫秒)
// 初始化字幕列表和持续时长数组
const captions = [];
// 遍历处理字幕
for (let i = 0; i < text_list.length; i++) {
const item = text_list[i];
const start_time = cursor_time + item.start_time * 1000;
const end_time = cursor_time + item.end_time * 1000;
const duration = (item.end_time - item.start_time) * 1000;
captions.push({
text: item.text,
start: start_time,
end: end_time,
in_animation: "打字机 I",
out_animation: "消散",
in_animation_duration: duration
});
// 将每条字幕的持续时长添加到 durations 数组
}
// 字幕播放总时长就是音频播放时长
const total_duration = duration_all;
// 音频起止时间严格和字幕一致
const audios = [{
audio_url: audio,
duration: duration_all,
start: cursor_time,
end: cursor_time + duration_all
}];
// 更新 cursor_time 为下一个媒体内容的起点
cursor_time = cursor_time + duration_all;
// 返回最终结果,包括 durations 数组
return {
captions: JSON.stringify(captions),
audio: JSON.stringify(audios),
total_duration: total_duration,
cursor_time: cursor_time,
duration: duration_all // 返回 durations 数组
};
}
add_audios、add_videos、add_captions: 这三个节点的作用是把前置节点生成的视频要素添加到剪映小助手里。
5. 资料获取
您要是觉得大模型不好用,可能是您不太会写提示词,小肥肠给您准备了海量提示词模板和DeepSeek相关教程,只要关注公众号后端小肥肠,点击底部【资源】菜单就能领取。
本文的工作流及提示词已经上传到coze空间了,感兴趣的朋友可以私信小肥肠详细了解~
6. 结语
随着AI技术不断发展,视频创作的门槛越来越低,创作者的想象力和创意才是最为重要的。Coze的一键生成工作流,给我们提供了一个高效、便捷的创作工具,让我们能够专注于内容的创意和表达。不管您是想制作治愈系视频,还是其他主题的混剪作品,都能通过Coze实现您的创作梦想。
文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12754.html