腾讯开源 9B 剪辑模型:一篇文章丢进去,自己剪出成片

一篇文章丢进去,十二次工具调用之后,出来一条多分钟的成片。
稿子分段排在最前头。分镜和配音紧随其后。
素材检索、模板套用排在中段,配乐再往后。
评审和修复收尾,拼接成片是最后一步。这些活全由一个 9B 模型自己排。
项目叫 WeVisCut,腾讯微信视觉做的,Apache-2.0 开源。
0101 它是什么
一个文档转视频的 Agent。

输入是一篇知识类长文,或者一段口播稿。输出是一条剪好的多分钟视频,分镜配音字幕齐全,素材和背景音乐也都铺好。
底座用的是 Qwen3.5-9B。BF16 精度跑起来要 24GB 显存。
只开界面的话不用显卡,run_studio.sh –no-model 就能看。
它不是文生视频模型,生成画面这件事它不干。
它干的是剪辑。
把现成的素材、模板和配音按稿子的结构组织成一条片子。
配套的 Studio 是个可视时间线,一共八条轨道。每一条对应一样东西,从章节和镜头,到旁白字幕,再到素材模板和音乐,最后是渲染结果。
0202 十二个工具
动作空间一共十二个工具,分三种角色。

生成组三个。Tool_SegmentArticle 把文章拆章节,Tool_PlanShots 给一章排镜头,Tool_DecorateShot 绑动画模板并填槽位。
评审组三个。Tool_TextQuickJudge 查文稿,Tool_VLMRenderJudge 看渲染出来的画面,Tool_SelfReflect 决定下一步修什么。
执行组六个,负责配音、找素材和渲染单镜头。搜背景音乐,探活外部服务,最后拼接成片也在这组。
每步只调一个工具。工具结果写进状态,循环继续,直到 Tool_StitchVideo 出成片。
0303 关键设计
常规 Agent 框架会把消息一条条攒起来。系统提示在里面,用户输入在里面,工具返回也在里面,越攒越长。
这个项目不这么干。
它的 runtime 是唯一的状态权威。每走一步,模型那一侧把框架攒的消息列表整个丢掉,从 runtime 的状态重新拼一个 JSON 出来。
这个 JSON 里有最近历史,有上一次的观察,有全局状态,还有一份 agent 契约。
模型在第 7 步看到的输入形状,和第 1 步完全一样,和训练时也一样。

左边是常规做法。消息越攒越多,形状越走越偏。
右边是它的做法,每一步都从同一个形状重建。
训练时是单轮输入,部署时也必须是单轮。
多轮累积会让模型看到训练里没见过的形状。行为就跟着漂。
护栏也只做三件事。前置条件不满足就拒绝,重复调用和失败次数超预算就停,成片出来就结束。
它不改参数,也不替你换个工具。
非法调用变成一条观察,模型自己想办法绕过去。
作者把各种”帮忙兜底”的开关全默认关掉。理由写在文档里,训练过的策略,该按它自己恢复的能力来评。
还有一处细节。deepagents 在 requirements.txt 里锁的是精确版本,不是范围。
因为它自带的 ls 和 read_file,还有 glob、grep 这些文件工具必须全部禁掉,模型只能看见训练时那十二个。框架一升级多出一个工具,行为就变了。
0404 数据从哪来
训练数据不是人一条条标的。
团队拿了 3750 条已经剪好的视频。四阶段流水线先反推剪辑意图,再验证重放。
最后得到 134771 条可执行的训练样本。
论文管这一步叫编辑反演。
成品视频里看不到工具调用和失败记录,只能这样倒推。
训练分三步走。先是监督微调和运行时验证的拒绝采样微调。
然后学恢复,最后用对比运行时结果的方式优化决策。
同一套权重同时服务 agent 循环和工具内部的推理,一个进程一块卡。
0505 项目结构
1 | WeVisCut/ |
分层很干净。server/ 是训练契约所在,聊天模板,状态 JSON 构造,还有工具 schema,都和训练数据生成器共用同一份代码。
pipeline/ 是一个普通 Python 环境,不知道 Agent 是什么。每个工具就是一个函数,写音频,下素材,渲染镜头。
上面这一层不许改动模型看到的东西。
0606 成绩
论文自己搭了 100 个任务的评测,看五个指标。
分镜质量和素材匹配,音画同步和交付成功率,最后是成片可用度。
综合分 90.5。
和 Claude Opus 5 在同一套工具环境下比,质量接近,每产出一分钟成片,少用约 33 倍 token。
这个数字是这篇论文最值钱的地方。分数是它自己报的,第三方还没复现。
0707 怎么跑
Python 3.11 以上,一张 24GB 的 NVIDIA 显卡。
1 | git clone https://github.com/Tencent/WeVisCut.git && cd WeVisCut |
打开 http://
权重在后台加载,30 到 60 秒,界面这时候已经能用了。
素材和音乐默认走开放网络检索。想换自己的素材库,改 studio_config.yaml 指向本地目录、HTTP 接口或者一个 Python 插件就行。
改稿支持对话。说一句”把开头那句换掉”,或者说”第 15 秒那个画面换一个”,它只重渲染改动的镜头。
历史版本能回滚。
0808 值不值得
技术含量不低。把整条剪辑流水线做成十二个工具,让一个 9B 模型自己排活。
还把训练和推理的输入格式做成同一份代码路径。这几件事凑齐的开源项目不多。
短板也明确。
论文自己写了,模板覆盖面和素材检索的鲁棒性还不够,编辑任务一超出模板范围就吃力。
素材靠开放网络检索,做商用内容时版权要自己兜。
24GB 显存是硬门槛,个人笔记本基本跑不动。
谁适合用?做知识类视频、口播稿转片子,有自己的素材库和模板,愿意接一套服务的人。
09写在最后
它把整间剪辑室拆成十二个能被模型调用的动作。
意义不在省了多少人力,在于一个 9B 模型开始自己安排整条流水线。



