首页 › LLM大语言模型 › Codex专栏 › Codex 实战案例 › Codex + 剪映自动化剪辑

Codex + 剪映自动化剪辑

工作流的底层逻辑​

这套工作流的核心,就是抄爆款​

Codex会自动识别参考视频的每个镜头切换点,自动从你的素材库里找到最匹配的素材,自动生成配音和字幕,最后直接给你一个可以打开编辑的剪映草稿。​

​

这套工作流的定位是自动生产,不是精品创作。​

​

​

飞书文档 - 图片

​

工作流前期准备​

安装对应工具​

这套工作流是基于 Codex 实现的,所以你首先需要有 Codex。如果你还没用过 Codex,可以先去看我上周写的Codex入门文章。​

具体来说,这套工作流需要这几个核心工具:​

​

•

FFmpeg:用来处理视频拆分、合成、格式转换这些底层操作。这是整个流程的基础,必须要装。​

•

Python 环境:因为整套流程是用 Python 写的,至少需要 Python 3.8 以上版本。​

•

配音工具:如果你想要自动配音,最稳定的就是字节的豆包语音大模型,费用不高,效果稳定;如果你想要克隆声音就用VoxCPM,这是一个免费开源的声音克隆工具。​

•

剪映:最后生成的草稿是剪映格式的,所以你需要在电脑上装一个剪映专业版。​

​

你可以直接把下面这段话复制发给 Codex,让它帮你检查环境并安装缺失的工具:​

​

代码块​

Plain Text

请帮我检查视频自动化剪辑需要的环境:​

​

1. 检查 FFmpeg 是否已安装,如果没有请帮我安装​

2. 检查 Python 版本是否 >= 3.8,如果没有请帮我安装或升级​

3. 检查是否安装了剪映专业版,如果没有请告诉我下载链接​

4. 安装 Python 依赖包:opencv-python, numpy, pillow​

​

检查完之后,告诉我哪些已经装好了,哪些需要我手动处理。​

​

配音的话,看你需求。如果说你想做的是电商带货视频,豆包语音模型效果是最稳定的。​

它用的是剪映同源的AI配音,基本上在剪映里能找到的配音,在豆包语音模型里都有。定价也不高,平常我们生成一条1分钟左右的视频,配音的费用大概是4-8毛。​

如果你想用自己的声音,或者克隆别人的声音,用VoxCPM就行,是一个免费开源的工具。​

在Github里面找到这个配音工具,然后把链接发给Codex让它安装就行。​

创建文件夹​

装好这些之后,你需要建一个项目文件夹。我一般是按照这样的结构来组织:​

​

代码块​

Plain Text

项目文件夹/​

../assets/ # 你的素材库​

work/ # 工作区,每次剪辑都在这里建一个日期文件夹​

final/ # 最终成品​

AGENTS.md # 项目配置文件​

​

•

assets 文件夹就是你的素材库,把所有可能用到的素材都放进去。​

•

work 文件夹是工作区,每次你要做一条新视频,就在这里建一个日期文件夹,比如 2026-07-05,然后把参考视频、生成的中间文件、最终的草稿都放在这个文件夹里。​

​

飞书文档 - 图片

​

​

✅

AGENTS.md 是项目的配置文件,里面记录了你这个项目的目标、输出规格、验收标准这些信息。这个文件很重要,因为 Codex 会根据这个文件来理解你的项目需求,然后帮你做出符合要求的视频。​

​

​

剪辑工作流搭建​

拆解参考视频​

第一步是拆解参考视频。这一步的核心目的,是把参考视频拆分成一个个独立的镜头,然后提取每个镜头的关键帧,作为后面素材匹配的依据。​

你需要先找到一个你想要参考的视频。这个视频可以是爆款视频,也可以是你自己剪过的觉得效果不错的视频。​

把它下载下来,放到 work 文件夹里,写一个容易搜索和区分的文件名。​

然后把下面这段话复制发给 Codex:​

​

代码块​

Plain Text

我需要拆解一个参考视频。​

参考视频位置在@(输入你的文件名,Codex会自动搜索)​

请帮我完成这几件事:​

1. 用 FFmpeg 识别视频的镜头切换点(通过帧间差异分析)​

​

这个 recipe.json 文件,就是后面整个流程的核心依据。​

它记录了参考视频的完整结构,后面的素材匹配、配音生成、草稿制作,都是基于这个文件来做的。​

拆解完之后,你会在对应文件夹里看到一堆小视频片段和截图。​

​

​

打开看看,确认一下拆分的镜头是不是合理。如果有些地方切得不太对,比如把一个完整的镜头切成了两段,或者两个镜头没切开,你可以让Codex再调整一下。​

但大部分情况下,自动识别的结果都是可以用的。​

筛选和匹配素材​

传统的做法是你要一个镜头一个镜头地去素材库里翻,找到合适的素材,然后拖到时间线上。这个过程很费时间,而且很容易漏掉一些更合适的素材。​

但用这套工作流,你只需要告诉 Codex 你的素材库在哪里,它会自动帮你做视觉匹配。​

下面是提示词,你可以直接发给Codex:​

​

代码块​

Plain Text

我需要从素材库中匹配替换素材。​

​

项目信息:​

- recipe.json 路径:(上一步的拆解路径)/recipe.json​

- 素材库路径:../assets/​

- 输出路径:work/(你的保存路径)​

​

匹配要求:​

1. 读取 recipe.json 中每个镜头的关键帧​

2. 遍历素材库,为每个素材提取关键帧​

3. 通过颜色、亮度、构图等视觉推荐最匹配的素材(给出置信度得分)​

4. 应用这些规则:​

- 避免连续3个镜头都用同 - 避免相邻镜头出现明显重复的房间或构图​

6. 生成 fragment_plan.json 和 matches.json​

7. 把选中的素材复制(不是移动)到 material/fragment01/, fragment02/ 等文件夹​

​

​

大概的匹配逻辑就是,Codex 会读取参考视频每个镜头的关键帧,然后遍历你的素材库,给每个素材也提取关键帧。然后通过颜色、亮度、构图这些视觉特征,计算每个素材和参考镜头的相似度,给出一个匹配得分。​

​

​

得分高的素材就会被优先推荐。​

还有提示词里面提到的一些规则,都是我在实际使用中总结出来的。如果不加这些限制,自动匹配出来的视频可能会显得很单调,观众一看就知道是机器生成的。​

匹配完之后,Codex 会生成一个 fragment_plan.json 和 matches.json。​

fragment_plan.json 记录了每个镜头的需求。比如某个镜头需要什么样的场景、什么样的动作、什么样的景别、哪些素材是必须避免的。这个文件是给匹配算法看的。​

matches.json 记录了最终的匹配结果。每个镜头用哪个素材、置信度是多少、是不是降级匹配 (找不到完美匹配,用了次优选择)。​

匹配完成后,Codex 会把选中的素材复制到对应文件夹里,并且按照参考视频的镜头数量进行分类保存。​

生成配音​

素材筛选完成以后,下一步就是生成配音。​

我们在最开始拆解视频的时候,其实有让Codex提取文案,并且每个文案都有对应镜头。​

因为Codex通常使用的是OCR或ASR来提取,准确率很难做到百分之百,所以你需要先检查下文案有没有问题。​

没有问题之后,就把下面这段提示词发给Codex:​

​

代码块​

Plain Text

我需要为视频生成配音。配音文本是@(你的文案.txt)​

​

要求:​

1. 调用豆包 TTS 接口,为每个镜头生成独立的语音文件​

2. 读取每个生成的语音文件的实际时长​

3. 如果配音时长和参考视频的镜头时长不一致,记录时长差异​

4. 将所有片段拼接成完整的配音文件:final_voice.mp3​

5. 更新 recipe.json,记录真实的配音时长​

​

​

Codex 会读取每个语音文件的实际时长,然后调整视频的节奏。​

​

​

比如某个镜头的配音实际读了 5 秒,但参考视频里这个镜头只有 3 秒,那最终生成的视频里,这个镜头会被拉长到 5 秒,保证配音和画面对齐。​

生成样稿和剪映草稿​

剪映草稿的生成是这套流程里最复杂的部分,因为剪映的草稿格式很严格,素材路径、时间轴、元数据 ID 这些信息必须完全准确,否则打开会报错或者显示不正常。​

​

​

我在这里踩了很多坑。比如剪映草稿里有三个关键的 ID:内容 ID、元数据 ID、根索引 ID,这三个必须一致,而且不能和已有的草稿重复。如果 ID 冲突了,要么打开失败,要么会覆盖掉你之前的草稿。​

还有素材路径的问题。剪映草稿里记录的素材路径必须是绝对路径,而且文件必须真实存在。如果你移动了素材文件,草稿就打不开了。​

避免这些问题的规则,我都写在了提示词里面,你直接复制就可以。​

​

代码块​

Plain Text

我需要生成最终的视频和剪映草稿。​

​

第一次生成会比较久,大概十几分钟。完成以后,你可以打开剪映检查一下。​

主要检查这几个点:​

•

草稿能不能正常打开?​

•

素材是不是都能正常显示?​

•

时间轴对不对?每个镜头的时长和顺序是不是和预期一致?​

•

字幕对不对?有没有遮挡关键内容?​

•

配音和画面是不是同步?​

如果有问题,回到前面的步骤检查,看是素材匹配的问题,还是配音生成的问题,还是草稿格式的问题。​

​

代码块​

Markdown

# AGENTS.md​

​

## 目标​

​