vibe video editing
当前仅适用于 Windows;内置便携自动安装面向 Windows x64。检测到其他系统时停止安装,不尝试部署其他系统的运行环境。
将剪辑流程与成片风格分开。脚本路径相对此 Skill,项目素材和输出路径由当前任务提供;全局 Skill 不存媒体、缓存、模型、密钥或具体项目的绝对路径。
安装、官方软件下载、外部 skill 来源和待补齐资源见 安装与外部依赖。
用户要求安装时,由 Codex 按统一依赖入口自动检测、下载、配置和验证;runtime.local.json 是自动生成的机器记录,不要求用户手动填写。当前能力边界见验证状态。
父技能与模块目录
本目录是 vibe-video-editing 父技能。先执行共用制作与质量约定,再按本次需求加载具体模块,不一次读取整个模块库。目录如下:
vibe-video-editing/
├─ SKILL.md 主技能与共用规则
├─ Functional Skills/ 功能模块库(每个模块一个 SKILL.md)
├─ Styles/ 风格模块库(每个风格一个 SKILL.md)
├─ 风格清单.json / 风格清单.md
├─ 功能清单.json / 功能清单.md
├─ scripts/ 共用脚本与模块清单工具
└─ references/、assets/ 共用规范与参数(第三方工具随功能模块保存)
AI 查看库前运行 python scripts/library.py sync,再按需求读取 风格清单.json 或 功能清单.json。用户可读 风格清单.md 与 功能清单.md。清单从模块的 module.json 生成;命令行 list / register 也自动刷新,不维护另一份手写清单。
功能库只在需要时加载:
-
Blazerior 口播剪辑工具:整理原录口播、解说或采访时调用,提供词表、停顿与 EDL 工具;识别、对齐和质量流程沿用下文共用规范。
-
样片分析:用户要求拉片,或本次制作需要从参考成片提取剪辑做法时,读取并执行该模块。
-
本地 IndexTTS 配音:需要 TTS 旁白或指定音色时使用。
-
Remotion 花字:按下文花字触发条件使用。
-
花字音效:用户要求给花字加音效时,按确认的花字动效和落点从本机音效库选声、对帧及混音。
-
找素材:检索本地动画/长视频片段时使用,不替代外部资料搜集流程。
-
调色:用户要求调色、套 LUT 或匹配镜头,或制作中需要处理色彩空间、曝光、偏色及镜头色差时,读取并执行该模块。
调用模块指当前代理读取并执行其规范,不代表创建子代理。用户只请求一个功能时只执行该功能。按功能清单选择当前任务需要的模块。
制作前读取项目配置
由 Codex 根据当前工程与用户要求读取或生成 video-editing.delivery.json,当前格式仅保存项目目录和口播节奏选择。执行 python scripts/delivery_config.py --project "本次工程文件夹绝对路径";没有配置时口播选择为 default;确认需要剪口播且既无口播参考样片、也无明确口播要求时,才启用默认口播预设,无口播则跳过整理。字段与保存方式见项目配置。
按口播节奏选择同时核对 speech.style、本次口播要求和口播参考是否存在,再解析并实际用于当前项目的声音规划,不写全局风格。本次要求、用户指定的非默认选择和样片优先于缺省预设;参考状态未知时先核对材料,不直接套默认秒数。配置损坏、版本或字段不支持时明确报错,不能静默覆盖原文件。
当前版以成片、独立字幕、分轨、制作配置与素材记录为交付范围。遇到范围之外的工程格式要求,应说明当前支持边界,不承诺未提供的转换能力。
选择风格,只加载需要的内容
先判断用户是否明确指定了风格名称:
- 已点名风格:执行
python scripts/style.py list定位,只加载对应规范;用户本次要求与示例中的明确补充可覆盖其默认值。 - 未点名风格:主动读取用户提供的示例文档及关联的参考视频、音频、工程,按示例学习流程提取证据并建立本项目规范;不要先列风格库、套用已有风格,或从“最接近”的风格配置起步。可以复用共享工具操作,不能借此继承旧风格的节奏、字幕或视觉规则。只有文档时,仅采用其明确描述;未展示的视听特征标为待核实。
- 未点名且没有示例:根据当前素材和明确需求建立项目规范,必要时询问缺失的关键偏好,不默认匹配已有风格。仅说“产品资讯”“vlog”等类型不算点名具体风格。
已有风格以实时 风格清单.json 为准,不在主技能中维护风格表或具体风格规范。已点名时只读取命中子技能的 SKILL.md、它要求的必要参考及 style.py resolve 输出;未点名时仍按示例学习流程建立项目规范,不自动套最接近风格。
应用本次需求
优先级:本次明确要求 > 本项目已接受的约定与本次示例证据 > 用户点名的风格默认值(若有)> 通用技术建议。节奏、镜头长度、字幕、转场密度、配乐和音效均可覆盖。点名时将解析配置、未点名时将依据示例独立建立的配置保存为项目的 work/edit-settings.json;不因一次任务改写全局风格。自然语言要求由 Codex 转为覆盖 JSON,脚本不自动理解“更松弛”等描述。
以下命令仅用于已明确点名的风格;未点名时按学习流程直接写项目配置。
python scripts/style.py resolve --style "用户已保存的风格名" --overrides work/overrides.json --output work/edit-settings.json
覆盖例:{"rhythm":{"shot_seconds":[3,5]},"subtitles":{"mode":"full"},"transitions":{"density":"medium"}}。范围是安排镜头的起点,不能机械切断句子、动作或图表阅读时间。只有明确请求“记住/保存为新风格”才持久化项目选择。
客户稿件与成片提示
先区分用于成片的客户文字稿/视频稿与仅供风格学习的示例。客户稿件的内容约定优先于风格默认值和剪辑工具的自动建议。
- 已明确提供文字版口播稿:保留原稿,不自行改词、增删、润色、压缩、调换内容顺序,或改动观点、数字与结论;不能为了片长、节奏、风格或所谓纠错而改稿。只有客户明确要求修改时,才在授权范围另存修订。字幕断行和时码可调整;TTS所需的型号读音展开另存技术副本,保持内容对应,不回写原稿。
- 提供文字稿或视频稿时的画面提示:尽量不额外添加澄清、假设或免责性质的说明卡、脚注、小灰字,例如“非实测”“仅供参考”“假设配置”“结果仅为示意”。不要将内部核对过程变成成片提示,或以提示替代与客户沟通。普通字幕、必要单位/图例与数据标签按稿件正常呈现;原稿已有提示、客户明确要求的说明及必须履行的素材署名按原要求处理。
- 原创图解与示意标识:按下述素材搜寻机制第三级制作的原创图解或示意动画,在画面中明确标注“原创图解”“示意动画”等适当标识,说明其原创或示意性质;该要求优先于风格中默认不加示意小字的约定。其他画面不自动增加“非实测”“仅供参考”等免责或假设说明,也不追溯改动已认可的页面;客户明确要求另行处理时按本次要求执行。
- 遇到疑点或稿件不一致:在制作沟通或交付记录中指出,不擅自修改客户稿,也不默认在画面上补声明。客户未同意改稿时,以原稿安排配音、分镜和时长。
原声口播整理(默认)
以后视频需要剪辑原录口播、解说或采访时,除非用户明确指定其他方法,默认以 Qwen3-ASR-1.7B+Qwen3-ForcedAligner-0.6B 识别及对齐,按Qwen F 流程完成全片语义审查、原录全覆盖声学补查、独立处理停顿与呼吸、统一 EDL/映射、导出回查与计时。调用 Blazerior 口播剪辑工具执行词表、停顿与 EDL 工具流程,详见口播整理规范。不得静默回退 CPU 或 Whisper-small;实际运行环境见本机运行环境。
在遵守客户稿件内容约定的前提下,目标是句内连贯、句间自然:收紧词间多余气口、犹豫和重复起音,按当前口播选择与实际安全区校准参考间隔,完整保留字尾、送气与擦音;句子之间保持自然节奏,不统一压短。句内缩短后协调后续旁白,避免把删掉的时间变成新的句间空白。默认预设的具体秒数和启用条件见口播节奏选择;应检查保留语流内部的气口与衔接,并把具体判断落实到剪辑计划,不能仅清理重录或保存配置就视为已应用。这是所有现有及未来风格共同的质量要求,不自动继承上游字幕、调色、放大或画幅规则。用户明确要求和已认可的剪法优先。
字幕可读性与断句
字幕以当前成片保留的原声为准。允许自然转述、调整语序、拆条或合条。如有必要,为了让中文表达更自然或更清楚,可以结合画面补明同一动作涉及的对象、工具或指代。补充内容须有明确的画面依据,并保留原话的动作、顺序和语气。字幕过长时,优先按语义拆条并对齐原声。交付前逐分句对照成片原声与字幕稿。
需要制作或重渲染普通字幕时,默认由 Remotion 渲染,沿用本片统一的基础字幕样式。普通字幕独立执行,直接按字幕操作规范实现。花字专项的模板、重点动效与字体切换仅在下节条件触发时应用。本次明确指定的字幕工具或已认可的字幕工程优先。
字幕按完整语义分句,保护词组、专名和数字单位;按实际字体与画面安全区测量行宽,长句明确换行,不强制挤成单行或按固定字数截断。结合实际口播的词级时间调整时码,保证短字幕有足够的清晰显示时间;正文与客户定稿核对,不能以缩句解决溢出。具体按字幕操作规范执行。
花字与动态重点字幕
用户明确要求花字、花体字、动态重点字幕,或实际示例明显存在这类效果时,当前主代理必须加载并执行 remotion-花体字skill(技能标识 remotion-flower-text),不必等待用户再次点名。先分析实际风格,按用户提供的模板库选择/改编合适组件;没有模板时在当前 Remotion 项目中实现所需效果。调用指读取并执行专项技能,不是创建子代理或另开对话。
本主技能继续负责客户定稿、出镜/混剪要求、声音与画面时间线、素材使用和最终成片检查;专项技能负责字体与颜色、模板、重点词组和文字层。记录中的花字参数必须实际用于渲染,不能只写配置而不调用组件。
普通无花字字幕保持本片统一的基础字幕方案。只有启用花字的段落,才默认按句号/语义分句,每1–2句自然语句共用一种基础字体;同一句的重点可叠加模板效果,但默认继承该句字体,不按半句话或字幕换页频繁换字形。普通信息沿用已认可的样式,不因为突出重点而强制简化或重做。文字层与重点牌不得重复叠字或遮挡相邻文字。
本版不附带花字模板;用户可自行上网寻找可用模板库并把链接交给 Codex 下载适配。新设计默认只留当前项目,只有用户明确要求保存时才登记到用户指定的位置;本规则不限制为当前任务创建项目内临时组件,也不自动把本项目字体、音乐、节奏推广到其他视频。用户当前明确要求优先。
外部画面素材搜集
需要搜集外部图片、视频、logo 或网页画面时,读取镜头规划与素材搜集,按其中的来源路径、实际选段检查、网页采集与台账方法执行。
素材搜寻按以下优先级执行:
- 先做镜头规划:逐句判断这句稿子需要什么类型的视觉证据或解释,明确对象、论点和画面用途,再开始找素材。
- 按规划寻找相关资料:寻找能够对应当句的相关视频、官方发布材料、官方图片、原始数据图表,或通过 OBS 等独立浏览器源录制相关网页。根据需要选择媒介,不只按品牌或关键词凑画面。
- 资料无法满足时再原创:第二级资料仍无法满足表达需要时,制作与当句对应的原创图解或示意动画,并在画面中明确标注“原创图解”“示意动画”等适当标识,不把它们冒充实拍或原始资料。
- 资料和原创解释都不合适时保留口播:保留主持人口播并优化构图,不强行填充无关 B-roll,也不为填画面而改稿。
- 统一由主代理完成:无论主代理使用什么模型,外部图片、视频、logo、发布会及产品资料的搜索、筛选和核验均由主代理亲自进行,不分派给子代理。用户明确要求委派时按当前任务授权和宿主规则处理。
- 先匹配具体对象和当前论点,再考虑泛素材:逐句识别品牌、产品、人物、奖项、事件和技术。优先该对象官方发布的产品图、演讲、宣传片、新闻资料、研究机构和奖项主办方原始资料;介绍多家公司时可把对应 logo 与名称组合。不能因为素材看起来像科技、代码或数学,就取代与口播强相关的画面。具体品牌或真实人物事件开场优先真实资料,不默认用 AI 图代替。每处插入要能解释当句,不能仅凭同品牌或同技术类别通过;榜单、参数、下载量、发布事件和能力演示分别核对,历史资料对应口播时点。
- 创作方式:可在合适位置剪入官方公开演讲、产品演示,或用实物图、品牌标识、原始图表、人物照片制作构图和动效;先考虑画面与当句的解释关系,再决定裁切、拼贴、对比和小窗。不要把通用镜头标为某公司的工厂、某位人物或某次事件。
- 检查实际选段:先查看所选区间的实际内容,不只看文件名、封面或首帧;检查源片完整性,合成后核对前后句交界,避免为填时间窗把上个对象拖到下一句。
- 网页也是素材入口:缺少合适现成画面时可采集官方网页、产品页、模型仓库或原始图表的浏览过程。优先使用 OBS 独立浏览器源采集网页界面,不使用独立 Chrome 无头截图/渲染流程,也不把 Chrome 作为本 Skill 的必需依赖;避免占用用户日常浏览器;具体录制方法按相应工具说明及本次授权执行。
- 视觉素材采用范围:按用户偏好,不把“逐项明确免费商用声明”作为所有视觉素材的唯一入口;可考虑公司自己公开发布的演讲、产品宣传、品牌 logo 及机构公开的相关资料,用于当前话题的介绍与评论。查看原始发布页和可见限制,记录来源、发布主体、用途与许可状态;没有禁止声明不等于获得授权,不将这类素材写成“已获商用授权”。明确禁止相应用途、付费预览、水印或未经授权转发的素材不纳入。避免央视等版权管理严格媒体及广播机构的画面,不去除台标或水印规避限制。
- 音乐和字体仍按各自明确许可要求处理;用户本次放宽的是画面素材选择,不自动扩展到配乐、字体或其他用途。来源与权限判断写在制作记录,不自动变成片中的免责小字。
素材去重与源时间段管理
所有视频任务默认遵循:同一张图片最多使用一次;同一视频的同一原片时间段最多使用一次。同一长视频可选择多个互不重叠的源区间,已用过的区间不得再次使用。按原始来源或文件内容识别素材,不因改文件名、调色、裁切、变速、改版式或换成截图就视为新素材。不要通过循环短片来补足镜头时长。
去重修订先按素材搜寻优先级寻找新的强相关素材替换重复画面,保留原有插入目的;不能仅为通过去重检查就批量删除素材或连带删除已认可的讲解页。相关资料和明确标注的原创图解或示意动画均不合适时,可保留主持人口播并优化构图,不强行填无关 B-roll。已经认可的数据、原理、对比等讲解页应保护并保留;“不加结尾总结页”仅约束未经要求的结束页,不等于删除正文讲解页。
维护素材使用台账,至少记录来源标识、图片内容标识,或视频 source_in/source_out、成片入出点。按实际变速后的原片消耗量计算区间,导出前检查源区间重叠及图片复用。完整版和从同版截取的预览/短版共享同一剪辑计划,不把交付前缀或修订存档算作片内复用。
例外:Logo、标志性标识或资料、关键人物照片,以及确有必要的重要宣传片,允许按叙述需要复现,记录具体理由和出现位置,并控制频率。视频片段不要仅因来自官方宣传片就自动豁免。实在缺少素材而需重复时,主动告诉用户重复了什么、出现在哪些时间段及原因,不能静默重复。
成组信息的显示时序
并列信息可以随口播逐项出现;需要比较或汇总时,应共同保留至讲完,按叙述统一管理强调与退出。不要让各元素独立计时,导致其中一项提前消失、破坏并列关系。具体显示方式服从用户要求和当前叙事。
角落小标题(所有视频类型)
除非用户明确要求,所有现有及未来视频均不添加左上角或其他角落的装饰性小标题、章节标签或眉题,例如“2026 / 中国科技”“中国科技 / 四个维度”“路径 / 技术逻辑”“02 / 硬件”。该默认约定优先于模板、工具和已保存风格中的同类设置;不能仅因参考片有此类文字就自动添加。修订时只移除这类小标题,保留正文讲解页、大标题、数据图表、字幕、必要图例与素材内容;本规则不取消另有要求的原创图解或示意动画标识。
结尾页面(所有视频类型)
只有用户提示词或提供的示例明确要求时才制作结尾总结页、账号品牌结束卡、口号页、片尾制作名单或音乐/画面/字体等声明页。没有明确要求时,不因风格惯例、模板、工具默认或署名需求自动添加,正常在内容结束处收尾。保留原稿口播本身的结语,不为删除页面而删改稿件。
通常可放在发布文案、描述区或随片交付文件的必要素材署名,应保存在这些位置,不自动做成视频结尾页面。若某素材明确要求片内署名而无法符合当前无结束页需求,优先换用符合条件的素材,再处理仍存在的真实冲突。
音乐来源
所有现有与未来新增风格都遵循此约定:不在本机生成音乐,不调用本地音乐生成模型(如 ACE-Step),也不通过代码作曲或合成配乐。
需要配乐时,可主动寻找并使用适合当前视频的外部免费商用背景音乐,不必先要求用户去 Suno。使用前查看曲目原始发布页及授权条款,确认免费商用、允许用于当前视频/发布用途及必要剪辑,记录曲名、作者、来源链接、许可依据和取得日期,并履行署名要求;不能仅凭“免费下载”“免版税”或搜索标签推定可免费商用,授权不清晰的曲目不使用。
已有音乐可正常裁切、循环、淡入淡出、人声闪避和混音。没有找到合适且授权明确的免费商用配乐,或用户希望自行制作时,再告知所需时长、情绪/音色与节奏,由用户提供音乐(可用 Suno 制作),不代用户生成。等待期间可继续无配乐粗剪、配音和字幕。
共用制作流程
-
检查素材、文稿、工程、最新交付及修订记录;先确认客户稿件与风格参考的角色,客户已明确提供的文字口播稿作为锁定内容。区分参考片与可用素材,先复用脚本与中间产物;不复制旧项目绝对路径、覆盖源素材或重跑不必要的配音/生成服务。
仅修改 BGM、音效、人声音量或混音时,确认画面、烧录字幕、镜头时序与口型同步可沿用,按仅改声音时复用视频流重新混音并封装新版本,直接复制已有视频流。
-
运行
ffmpeg_ops.py doctor确认工具。保留原录口播时按口播整理规范默认执行 Qwen 基模的 F 流程,并应用本次speech.style;先满足共同质量要求,再依据风格处理节奏。采用配音时先取得实际音频并核对读音,再定时间线。语速/文稿改变后重算字幕、镜头、章节和混音。 -
以整数输出帧累计入出点;分开管理画面、字幕和声音。默认直接制作完整初版成片,完成必要检查后交给用户,根据成片反馈继续修改。必要的局部试渲染由代理内部执行,不默认停下来等待用户审阅代表性短段;用户明确要求先看试剪时按其要求执行。全 FFmpeg 流程的公共工程入口接收已渲染片段;复杂动效/转场先制作成镜头,再写入清单。需要复用的组件和素材按当前项目另存源码。
-
从 共享操作与清单格式 按需读取 FFmpeg、字幕或 Blender 部分。风格参数必须实际传给脚本或实现于镜头中;配置文件存在不代表已应用。
-
口播在定剪口和导出后都须完成词尾波形检查,覆盖每处会切断或淡出人声的出点。导出后运行
qa.py检查完整解码、帧数、音画长度、字幕边界和响度;另抽帧并试听首尾、剪口、长图表、字幕密集处。工程需重新打开、检查媒体并试渲染,交付说明写明实际验证范围和文字是否烧录。
常规交付:成片、独立字幕、分轨与最终混音、实际配置、素材清单、需要时的制作源码和检查报告。保持相对路径,明确最新版本。
学习与扩展
未点名风格时,即使用户未另说“学习”,也要主动读取并执行风格学习与登记;明确要求学习/更新风格时同样执行。从本次示例文档及关联媒体提取证据,区分观察、推断和当前覆盖。未请求保存时只保存在当前项目;用户说“总结本次经验形成一个风格”“保存为新风格”等时,用 style.py register 在 Styles/<新ID>/ 新增独立子 skill(包含 SKILL.md、style.json、module.json),并自动更新两份风格清单;不把这次经验追加进父技能,也不默认覆盖已有风格。只有明确要求更新既有风格时才使用 --replace。核对项目依据时读取本次项目的来源和修订记录。
模块维护
具体风格规范维护在 Styles/<id>/SKILL.md,默认参数在 style.json;模块名称、简介、别名和适用线索在 module.json。功能模块同样直接在 Functional Skills/<id>/ 维护。保存后运行 python scripts/library.py sync 和相应校验,清单由脚本统一生成。
只有跨风格成立的共用制作流程才更新父技能,不把某次项目的具体产品、颜色、音乐或镜头秒数提升为全局规则。管理约定见 AGENTS.md。机器配置和下载缓存不写入发布包。Styles 初始为空,只保存用户明确要求登记的新风格。