
kinocut:196 个 MCP 工具包住 FFmpeg,Agent 剪完留一张回执
今天拆的是 kinocut:一个把 FFmpeg 包成 196 个有类型 MCP 工具的本地服务端,渲染前拦参数、渲染后留回执、发布前打分。文章给全它在链条上的位置、最短的上手路径、装到的版本与仓库对不上等五处阻塞,以及今天该不该动手的判断。
今天这一个叫 kinocut,挂在 GitHub 的 KyaniteLabs 账号下,Apache-2.0 许可。它给自己的定位是「给 AI Agent 用的、带护栏的视频剪辑 MCP 服务端」:Agent 把素材交给它,用 196 个有类型的工具去剪,省掉自己拼 ffmpeg 参数这一步1。截至今早,仓库首页显示 155 star、38 fork、1,503 次提交、12 个 open issue 和 1 个 open PR,主分支最后一次提交在 9 月 16 日1。

前 3 期分别讲的是资产层(video-shotcraft)、流程层(OpenMontage)和剪辑手艺层(video-use),kinocut 落在它们下面、贴着渲染底座的那一层:它是 Agent 与 FFmpeg 之间的执行与验证层。画面全部来自你交给它的素材,它管的是那群容易静静坏掉的地方——参数越界、拼接的两段对不上、音频映射断掉——以及出来的东西够不够格发出去。
渲染之前拦,渲染之后留
官网把它的工作面印成四段,从上到下依次是 preflight(渲染之前)、render(有类型的 FFmpeg 工具)、receipt(剪辑之后的凭据)、human gate(钩子、缩略图、发布)2。

preflight 拦的是那些一旦漏过、就只有在成片里才看得出来的问题:滤镜取值越界、拼接的两段对不上、音频映射断掉、文字框溢出,都在 FFmpeg 渲染出第一帧之前被拦下并给出解释2。
render 这一半是 196 个工具本身:裁剪、拼接、缩放、换比例、转码、加字幕、加水印、做转场、抽音轨、调响度、合成音频、出缩略图、出分镜、做质量对比、发布前的检查点,另外还有几个更重的面——360 双机位装配、视频抢救、分层合成、静帧与版面编辑1。Agent 实际最常先用的是十来个意图级动词:repurpose、trim、merge、subtitle、reframe、remove_silence、normalize、storyboard、glitch2。
多步作业另有一套东西。Agent 写一份 JSON 作业清单交给 workflow 引擎,清单里能用的 op 只有 7 个:probe、trim、resize、convert、merge、add_text、composite_layers。每一个 op 都对到它自己那套验证过的引擎函数上,素材引用是符号化的、被限制在工作区内,任何一步出问题就整单失败。清单可以只做结构校验、也可以只出计划不渲染;真渲染时写出一份回执,里面按步骤记着输入输出哈希、一个断点续跑的游标和一份中间文件清理清单,另外标了一句渲染确定性范围:清单与哈希是确定的,渲染出来的字节可能随 FFmpeg 构建而变1。
质量分由 VMAF、响度、黑帧、A/V 同步这几项检查算出来,不到线的产物被发布检查点扣住;人留在三个位置上:钩子、缩略图、最终复核2。
你要给什么,它交回什么
准备三样:一个放在你机器上的媒体文件;PATH 上的 FFmpeg 与 ffprobe;按需要加的 extras。要用 Hyperframes 那组工具,再加 Node.js 22 以上和一个能找到的 hyperframes 命令3。
拿回来的是成片、一个按 workflow 记事的 JSON 回执,以及缩略图和分镜——
release_checkpoint 会把后两样跟质量结论一起返回。走 repurpose 的话,还有按平台分好的竖版、横版、方版投放包,各自带清单和待人工复核的材料1。要在自己的脚本里用,它另有一套 Python 客户端,同一条链写下来是 trim → ai_transcribe → subtitles → resize → release_checkpoint1。从空目录到第一张回执
- 装 FFmpeg:macOS 用
brew install ffmpeg,Ubuntu/Debian 用sudo apt install ffmpeg,Windows 装一个在 PATH 上的构建3。 - 先验环境,再决定装不装。
uvx --from kinocut kino doctor不用全局安装就能跑;要装就是pip install kinocut。doctor 的通过标准是summary.required_ok == true,它会报出你手上哪些功能可用、缺什么3。 - 挂到 Agent 上:Claude Code 是一行
claude mcp add kinocut -- uvx --from kinocut kino;Cursor 和其他本地 stdio 客户端用同一段 JSON3。 - 先证明管线通,再上真活。从仓库 clone 可以跑
python scripts/golden_path.py;仓库里还有一条最小的信心工作流,会自己生成一小段素材、做出一个检查过的竖版、跑完质量与发布闸门,最后写出一个video_receipt.json1。 - 第一件真活可以挑 repurpose。官网给的那次会话是这样走的:
kino repurpose ep-42.mp4 --platforms youtube-shorts tiktok instagram-reel,接着是 preflight 0 failures、2 warnings clamped,转写 41:32(本地 whisper),挑出 3 段,按 9:16 跟随说话人重构,字幕按词对齐并烧录,质量分 84 通过,回执落到out/receipt.json,里面还留了 2 项等人看2。
第 2 步和第 4 步都不花钱,第 5 步才开始吃你的机器。整条路径里没有一处要求你注册账号或者准备 API key2。
会卡住的地方
装到手上的版本,和仓库里的不是同一个
症状:README 和官网里写着的能力,装完对不上;顺着 README 里「最新发布版 1.15.1」那个链接点过去,页面是 404。
触发条件:
pip install kinocut,或者去点那个链接。现状:已发布的是 1.15.1(2026-08-31 上传到 PyPI),里面是 196 个 MCP 工具、167 条 CLI 命令;仓库 master 上写着开发尖端是 201 个工具、173 条命令45。官网路线图那一页写的开发尖端是 200 个工具、171 条命令,比仓库自己慢一步2。GitHub 的 release 列表和 tag 都停在 1.15.0(2026-08-19),仓库有 47 个 tag,里面没有 v1.15.16。包发出去了,发布记录没跟上。

你能怎么办:要稳定就用 PyPI 上的 1.15.1;要 master 上的东西(Revideo 的四个操作、C2PA 导出签名、可续跑的项目层)就从源码 clone 装3。装完拿
kino doctor 核对自己手上有什么,把「仓库里写了」和「装完能用」当成两件事。Windows 上走绝对路径的质量检查会报错
症状:
[Parsed_movie_0 @ ...] Failed to avformat_open_input 'D',跟着一句 Error processing filtergraph: No such file or directory。走 lavfi 的那一路质量检查在绝对路径上全失败,movie 滤镜只拿到了盘符,亮度、对比度、饱和度、色彩平衡、RGB 均值都在这一路里。触发条件:Windows 上用
D:\... 这样的绝对路径跑这些检查。现状:修它的 PR #532 在 9 月 8 日提交,至今 open,只有 1 次提交、改动 +17 −2,一位维护者被点了 review7。作者给出的原因是 FFmpeg 对滤镜参数要做两次反转义,
D\: 在第二次被拆成了 D,修法是把值包进单引号;他写明这是 Windows 11 加 kinocut 1.15.1、ffmpeg 8.1 与 9.0.1 上的复现。
D,不是完整路径。7你能怎么办:等它合;或者先改用相对路径;或者照那条 PR 自己补。这个修法对没有冒号的 POSIX 路径是空操作,所以它是一条 Windows 专属的阻塞。
项目自己标着「还没出闸」的几个面
症状:README 里按功能列出来的东西,跑不动。
触发条件:你打算用它的全片声音、付费生成式配音,或者那个信任执行内核。
现状:这些面都在 README 的一段「Beyond 1.15.1(草案 / 带闸)」里,由项目自己逐条标注。全片声音的跨平台证据不够,开着的 issue #481 要求「要么提供一台苹果芯片的基准机器,要么正式收窄全片的主张」8;付费生成式与 TTS 配音目前只是不可执行的定义,issue #482 要求「要么删掉这些定义,要么补上后端」9;信任执行内核在没有上游契约和人工把关的情况下不执行;桌面用的 MCPB 包未签名、属于「用户自行配置的本地访问」,项目自己写明它处在沙箱之外10。
它还把「两套计数不能混着讲」写进了自己的 CI 守护文件
public_claims.json:开发尖端那些数字描述的是仓库,任何情况下都不要当成 PyPI 上的版本4。你能怎么办:按已发布版本的能力清单排期,这些面等它们出闸,或者自己实现。
想让它自己挑片段,先在本地多背一个约 1 GB 的 torch
症状:装完核心包,转写这条链用不了,
kino doctor 会报出缺什么。触发条件:要字幕、或者要它按内容挑段落,而你没装
kinocut[transcribe]。现状:INSTALL.md 的 extras 表上写着转写 extra 约 1 GB(torch),人声与伴奏分离约 2 GB,AI 放大约 2 GB 且常要求 Python 3.12 及以下,对象抠像第一次还要下约 1 GB 的权重;核心的 golden path 一个 extra 都不用3。
你能怎么办:只做剪辑就先不装,doctor 会如实报缺;要字幕就装 transcribe,之后这台机器上多出来的体积和转写时间是这笔能力的价钱。转写在本地跑,素材音轨不出你的机器2。
同一道闸门,两个入口的严格程度不一样
症状:从 CLI 跑 repurpose,质量分不到 80 会被拦住;从 MCP 那一侧跑同样的活,这道闸门不一定在。
触发条件:你走 MCP 的
video_repurpose,而不是 CLI 或 Python 客户端的 repurpose。现状:仓库 1.15.0 的说明里写得很直白:CLI 与客户端的 repurpose 默认
--min-score 80,shorts-package 没有 --allow-fail 就失败关闭,而持久化的 MCP video_repurpose 不套用 min_score1。你能怎么办:把质量闸门放进你自己的编排里,或者统一从 CLI 走。这一条是仓库自己写出来的,不是别人的实测。
许可与真实成本
许可是 Apache-2.0,版权归 KyaniteLabs,2026 年1。它管的是这份软件,允许商用;素材本身的权利、素材里出现的人和音乐、成片的归属另算。
核心部分零成本:没有账号、没有 API key、没有按次或按量的计费闸门,素材不上传。官网把「不上传、不计费、无水印、无遥测」四条并排列在首页2。价格因此落在你自己机器的三个地方:
- 磁盘与内存。核心编辑只要一个 FFmpeg;一旦要转写、分离人声、AI 放大、对象抠像,就是几百 MB 到几个 GB 的 extras,其中 AI 放大还常要求 Python 3.12 及以下3。
- 算力。转写、分离、放大都在本地跑,模型越重,同样的素材花的时间越长。
- 额外的运行时。Hyperframes 那组工具要 Node.js 22 以上,开发尖端上那四个 Revideo 操作要 Node.js 18 以上、npm 和一个 Chromium 族浏览器3。
会另外花钱的只有你自己接上去的生成式后端,项目把本地优先写在前面、把云放在可选位置1。想让它常驻替你跑活,还有一条开发尖端上的路:把项目、内容寻址的素材、可续跑的渲染作业和谱系回执接起来,这些都在 master 上,还没进已发布的包2。
和已经在用的五套方案放在一起
| 方案 | 你给它什么 | 它给你什么 | 它在这一层 | 许可与公开体量 |
|---|---|---|---|---|
| kinocut(本期) | 一个本地媒体文件,加上 PATH 上的 FFmpeg | 有类型的工具调用,和一张可核对的回执:成片、每步的哈希、质量分、待人工确认项 | Agent 与 FFmpeg 之间的执行与验证层 | Apache-2.0;155 star、38 fork、1,503 次提交1 |
| video-use(第 3 期) | 一个装原始素材的文件夹,加一把 ElevenLabs key | 按词边界剪出来的成片,连转写稿、剪辑决定和字幕一起交回 | 方法论与资产层里的剪辑手艺 | MIT;25,059 star、3,042 fork11 |
| video-shotcraft(第 1 期) | 一句需求和你产品的截图 | 一支还能继续编辑的 Remotion 宣传片工程 | 站在 Remotion 之上的镜头与动效资产库 | Apache-2.0;8,871 star、795 fork12 |
| OpenMontage(第 2 期) | 一句需求,加你的素材 | 走完工序的成片,带审批门、决策日志和预算上限 | 流程与方法层,安排哪个阶段谁做什么 | AGPL-3.0;59,752 star、7,535 fork13 |
| HyperFrames | 用 HTML、CSS 和 GSAP 写的合成 | 确定性渲染出的 MP4 | 渲染底座;kinocut 可以把 Hyperframes 当可选后端调起来 | Apache-2.0;51,048 star、4,649 fork14 |
| hypit | 一支参考视频,或者一句描述 | 一套以词为锚点的工作流,换宿主、换语言、换比例都能重跑 | 视频工作流的描述语言 | 自订许可;8,767 star、1,035 fork15 |
这六样各占一段,能叠着用。kinocut 沉在最底下贴着 FFmpeg,把渲染底座包成有类型的工具,Hyperframes 那一层可选地被它调起来;再往上,OpenMontage 那类东西排流程、定预算;素材进来之后怎么下刀归 video-use;镜头长什么样由 video-shotcraft 补;hypit 那门语言管的是工作流换环境之后还能不能重跑。
kinocut 与第 3 期的 video-use 有一处直接的分野:video-use 把素材音频送到 ElevenLabs 的接口去转写,kinocut 的转写和剪辑都在你自己的机器上完成,素材不出门2。
今天装还是不装
今天就能装的:素材在你自己机器上、不方便外发,而你已经在用编码 Agent 改视频、每次都要它猜 ffmpeg 参数。第一步不装任何东西也能走:
uvx --from kinocut kino doctor,看它在你机器上缺什么。确认能跑再 pip install kinocut 并挂上 MCP,第一件活挑 repurpose——一个源、三种平台、一张回执,回执里会留两处需要你自己看的东西。先收藏的:你在 Windows 上靠绝对路径跑质量检查,等 PR #532 合了再上。你需要它自己挑片段,但不愿意在本机多背一个约 1 GB 的 torch,先去量一下磁盘和耐心。你要用的是全片声音、付费配音那几样,它们现在写在「还没出闸」那一段里。
References
- 1KyaniteLabs/kinocut — GitHub
github.com
- 2Kinocut — 官网
kinocut.dev
- 3docs/INSTALL.md — kinocut
github.com
- 4docs/public_claims.json — kinocut
github.com
- 5kinocut — PyPI
pypi.org
- 6Releases — KyaniteLabs/kinocut
github.com
- 7PR #532 — kinocut
github.com
- 8Issue #481 — kinocut
github.com
- 9Issue #482 — kinocut
github.com
- 10docs/MCPB.md — kinocut
github.com
- 11browser-use/video-use — GitHub
github.com
- 12Vincentwei1021/video-shotcraft — GitHub
github.com
- 13calesthio/OpenMontage — GitHub
github.com
- 14heygen-com/hyperframes — GitHub
github.com
- 15hypit-ai/hypit — GitHub
github.com
- 16docs/RECOMMEND.md — kinocut
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.
