喂饭级教程!Coze+数据库1天搭建视频混剪流水线(附源码)

0 阅读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相关教程,只需关注gzh后端小肥肠,点击底部【资源】菜单即可领取。

本文的工作流及提示词已经上传至coze空间,感兴趣的朋友可以私信小肥肠详细了解~

6. 结语

随着 AI 技术的不断发展,视频创作的门槛越来越低,创作者的想象力和创意才是最重要的。Coze 的一键生成工作流,为我们提供了一个高效、便捷的创作工具,让我们能够专注于内容的创意和表达。无论您是想制作治愈系视频,还是其他主题的混剪作品,都可以通过 Coze 实现您的创作梦想。