内容
align">
<imggithub/readme/hero-banner.png" alt="Cutforge 智能视频编辑" width=" />
# Studio
**视频合成、生成和编辑你的代码代理开始。**
[](./LICENSE)
[](https://nodejs.org)
[
pm](https://img.shields.io-workspace20?logo=pnpm&logoColor=white)](https://pnpm.io)
[](#特效目录-适用于专业代理驱动编辑)
[
[](#模板-CapCut抖音风格填空)
</Cutforge一个**黑代理**。视频被表示为一个可读、可、可重新渲染的计划(`plan.json`),你的代理 — 以及你 — 可以编辑它;改变一行代码,只有那一部分会重新代理是大脑;该项目提供了**知识**(什么能制作出好的视频,以及选择哪条生产线),**确定性(渲染 / 编辑 / 转 生成 — 对frames`](github.com/heygen-com/h)、`ffmpeg` 和 `whisper.cpp` 的薄封装),以及**可编辑 IR** — 加上一个**135+ 特效目录**,具有代理人体工程学原语(关键帧相机移动、混合模式和遮罩选择性合成、动态文本、一次性特效管道、节拍同步分析),适用于专业代理。
你可以和你的代理用自然语言交流 — *"制作一个 60 秒的垂直解说视频,关于向量数据库,带有中文和字幕"* — 它会读取材料,编写时间线,并生成文件。
---
## 演示
一个特效管道,链接了四个 Cutforge 原生原语在一个剪辑中 — 关键帧缩放、混合模式合成、亮度遮罩区域和关键帧动态文本:
<divcenter">
<img src=".github.gif"Cutforge Studio 特效管道演示:关键帧缩放、遮罩合成和动态文本剪辑 width="360" />
</div>
---
## 四三个正交能力轴,加上管道,将它们编织在一起:
合成**本 → 设计的 HTML 动态 mp4说、版、下三分之一、数据可、标题过渡。**费密钥- **编辑** — 裁 连接 /静默 / 删除填充 / 混合 / 烧入字幕 / 翻译 / 本地化你提供的实际素材,以及在长录音中选择高亮。**无需付费密钥。**
- **生成** — 通过 **你自己的者密钥( — OpenGemini、Doubao;后端,无锁定谈话式电影式 AI和图像。
- **自动(端)** — 当交付需要多个轴时,代理会路由到一个模态 `plan.json`:`stage-plan` DL,`stage` 并将每个回合成 / 生成 / 编辑,并且一个确定性的**交付保护**(`cut promise-check在交付之前剪辑是否保持其承诺(例如,实际运动,而不是无声幻灯片)。
计划是合同中间的生成一个开场,合成统计旁白"*一个可,其中每个段幕和叙述行都是独立可的。
---
## 病毒式模板Cut/抖音风格填空
新增:一个第五个,零思考入口,生产线之上。库中 **67设模板**锁定运动曲线样式和点击轨道音乐,仅通过填充多少按键:
- **6 种病毒类别**:`velocity`、`shake_zoom`、`flash`、`glow_up`、`slideshow`、`ai_reveal`
- **每类别 2 种宽高比**:`9:16`(垂直)和 `1:1`(方形)
- **每类别/宽高比组合数 3**
```cutforge template # 浏览67 个id、类别、槽、宽、节TPL=templates-v-5/template.json
cutforge templateTPL" a c.jpg e.jpg # 检查媒体是否与 个槽匹配
cutforge templateTPL" b.jpg d.jpg eout plan.json # 融.json
cut render "$TPL" a.jpg b.jpg c.jpg d.jpg e.jpg --out4 # 验证 → 编译 → 装配 → → mp**创建自己的模板并保存以重复使用template create预设库所基于的相同化 — `template.json` + 生成的点击 + `edit_beat_sync` 导出的节拍你喜欢的一次性模板重复使用的资产```bash
cutforge template create my-promo 4 --category --slot 1.5 --aspect 16
# → 编写 templates/my/template.json — 随时重复使用forge template render templates/my-promo --media a.jpg b.jpg c.jpg d.jpg --out promo.mp4
```
所有五个 `template` 子命令(`list · validate · compile · render · create`,以及用于重新生成整个预设库的 `author`)都与 MCP 工具(`template_list · template_validate · template_compile · template_render`)。
---
## 用例
每个都是你给代理的真实提示;路由器选择生产线 你说… | | 会发生|---|---|---|
制作一个 60垂直解,关于向量带有中文旁白幕。" 合成 | HTML 动态图形旁白(自带 TTS)→ 烧入字幕 → mp |
| *"将这个 1屏幕录制视频剪辑成 3 个 30 秒的高亮片段字幕。"* | 编辑 | ``/`quality` 找到好部分,`rank-takes` 选择,`trim-silence`-fillers` 加强,烧入字幕。 *"在 product-demo.mp4 中添加英语旁白和字幕,并规范* | 编辑 | 转录地化 → `speak` → `mix` →subs` →通过。 |
| *"清理我的录制静默和',并它。" 编辑 | 具有审计证据轨性跳切。 |
| *"为介绍生成一个 5 秒的电影式城市黎明镜头。"* | 生成 | 自带图像/视频提供者 → 你的时间线上的剪辑。 |
| *"根据这个脚本制作一个 15 秒的 9:16 宣传片:生成开场,合成功能调用,单个 VO。"* | 自动 `plan.json` 跨 合成 +白,在保证守护。 |
| *" 5 张病毒式抖音短视频编辑技能 | 一个预设,放入 N/剪辑cutforge template 将预设 节拍同步音乐 +融合成 mp4。 |
---
## 安装
**先决条件:** 20,且` + `` 在你的 `PATH` 上 / 转录 / 本地媒体质量控制所需草图使用Frames](.com/heygen-com/hyper 在运行时通过 `npx` 进行质量控制(首次运行时需要网络)。生成是可选的,需要你自己的密钥。
> **早期开发:** npm 包正在发布。在此之前,从源代码安装 — `cutforge` CLI 工作原理完全相同。
### 从源代码安装(今天即可
```bash clone https://github.com/nguyenminhduc9988/cutforge-studio.git
cd cutforge-studio
pnpm install && pnpm build
node packages/cli/dist/index.js doctor # 验证 ffmpeg/ffprobe/node
# 可alias 它 cutforge $PWD/packages/cli/dist/index.js"
```
### 从 npm 安装(发布后)
```bash
npm i -g @cutforge/studio cutforge` 命令
cut # 检查probe/node安装
```
---
## 通过代码代理驱动
`cutforge` CLI 是规范接口;MCP 工具与之:1。有三种方法让代理获取它 — 使用你的代理支持一种:
**1) 原生Claude Codex 实现 `SKILL.md` 知识代理通过渐披露发现它
cutforge skills --install claude # → ~/.claude/skills (添加 --scope/.claude/skills)
cutforge skills --install --target codex # → ~/.agents/skills
```
**2 类型化工具。** 注册服务器(镜像 CLI):
```bash
claude mcp add cutforge -- npx -yforge/studio #
codex mcp add -- npx @cutforge-mcpx
源代码(发布前):指向 node>/packages/mcp/dist/index.js
```
**3) 自描述 CLI(任何可以运行 shell 的代理)。** 无需原生加载器:
```bash
cutforge skills # 列出技能
cutforge skill video-router # 将技能的完整说明打印到上下文中
cutforge --help #
```
**会话流程。代理首先读取-router`** (锁定生产线),然后阶段技能,创作合成和/或`,运行确定性操作,并使用交付保护进行自我验证:
```text
你: 制作一个 60 秒的垂直解说关于向量数据库,带有中文旁白。
代理: → 读取 video-router(锁定:)
→ 读取 stage stage-compose-craft
编写 composition + plan.json
→ cutforge draft composition draft.mp4 --report draft-report.json cutforge-check plan.json 保护通过 → 返回 draft.mp4
```
完整的命令界面:`doctor · draft · render · lint · inspect · snapshot · edit,trim,concat, burnsubs,extract-frame,loudness,mix,trim,remove-fill · transcribe · scenes · quality {validate,summromise-check,akes} ·list,validate,render,create · speak · image · video · skills`.
---
## 自带生成提供者
合成 / 编辑 / 转录主干是**零密钥**。图像 / 视频 / TTS)是可选的,使用**你的**密钥 — 无托管后端,无账户绑定。通过 `~/.config/c-studio/config.json` (或 `CUTFORGE_CONFIG_DIR`环境变量配置 能力者 | 环境|---|---|---|
| 图像 (`cutforge OpenAI 兼容 · Gemini · Doubao Seedream | `CUTFORGE_IMAGE_PROVIDER` · `CUTFORGE_IMAGE_BASE_URL` · `CUTFORGE_IMAGE_API_KEY` · `CUTFORGE_IMAGE_MODEL` |
| 视频 (`cutforge video`) | Doubao Seedance(图像到视频) | `CUTFORGE_VIDEO_PROVIDER` · `CUTFORGE_VIDEO_BASE_URL` · `CUTFORGE_VIDEO_API_KEY`CUTFOR_MODEL` |
| TTS (`cutforge speak`) | OpenAI 兼容(包括 ElevenLabs 风格) | `CUTFORGE_TTS_BASE_URL` · `CUTFORGE_API_KEY` · `CUTFORTS_MODEL` · `CUTFORGE_VO · `CUTFORGE_TTS_FORMAT` |
---
## 比较Frames、ffmpeg 和 whisper.cpp 是这里的**依赖项**,而不是竞争对手 — Cutforge Studio 是基于它们的代理面向的知识、草图和 IR 其他制作视频的方式相比:
| | Cutforge Studio | 程序化otion, Revideo) | AI SaaS(Descript Clip, Runway) | 薄 MCP / ffmpeg 包装器 |
|---|---|---|---|---|
| **驱动** | 任意代码代理,自然语言(CLI + MCP) | 你手写的 React/TS | GUI / 托管 | 代理,但仅限工具 |
| **制品** | 可编辑、可差异化的 `plan.json` IR — 按段重新渲染 | 代码(重新运行) | 黑盒时间线 / | 无 |
范围** | 合 编辑 + 生成 + **自动** 端 | 合成() | 大多 **或** 生成,按产品而定暴露的内容 |
| **指导** | 配备“什么能制作出好视频”的技能性交付保护 | 无 — 你决定 | 产品导向 | 无 |
| **密钥 / 托管** | 零密钥主干;**自带** 生成密钥优先,自我托管 | 你的基础设施 | 供应商密钥 + 托管,锁定 | 各不相同 |
| **许可证** | MIT | 可能需要公司许可证用于团队 | 专有 | 各不相同 |
它适合:当你想要**编写**每一帧时,选择一个**框架**;当 GUI 和托管是重点时,选择SaaS 编辑器**;当你的**代理视频,将结果保留为可编辑文件,你可以编辑和重新渲染,并使用自己的密钥保持本地和开放时,选择 **Cutforge Studio**。
---
## 专业代理驱动编辑的特效目录
专业版在上游特效目录(135+ ffmpeg 操作 — 颜色、、相机、布局、字幕)的基础上增加了七个代理人体工程学原语,针对从代理循环驱动编辑的具体摩擦点:
| MCP 工具 | 它解决了什么问题 |
|---|---|
| `effects_apply`一个通用调用可以访问每个目录操作 — 不再为每个特效编写定制的工具。 `effects_pipeline` | 通过一个调用操作(例如缩放 → 调整 → 粒子 → 晕影)而不是 N 个顺序代理往返。 |
_keyframe`点缩放斜坡(`points:_sec, zoom}, ...]`)— Ken-Burns 曲线,而单一的 at/ramp/peak 插入。 `effects_blend` | 全帧混合(normal/multiply/screen/overlay/darken/addition/difference/exclusion/softlightlight)。 |
| `effects_mask` | 在第三亮度遮罩剪辑超过阈值时,将叠加层合成到底层 — 选择性、类似 Rotoscope区域。 |
| `effects_kinetic_text` | 关键帧 `drawtext`(x/y/opacity/scale 变化)用于代理创作的移动/渐变标题,超出 4 种固定字幕样式。 |
| `edit_beat_sync` | 开始/瞬态检测启发式 — 候选剪切/音效时间戳,而不是代理从探测的剪辑持续时间手动计算。 |
`plan.json` IR 还增加了一个 `overlays` 轨道(`tracks.overlays: [{path, start_sec, end_sec, z, blend_mode, opacity}]`),用于在主编辑之上进行任意 N 层合成,超出固定的旁白/音乐/字幕轨道。
---
## 软件| 软件包 ||---|---|
| `@cutforge/studio-core `plan.json` IR(模式 + 验证器 + 交付保护)、决策层、运行时/配置 |
| `@cutforge/studio-tools 能力后端(渲染 / 编辑 / 分析 / 语音 / 图像 / 视频) |
| `@cutforge/studio` | `cutforge` CLI |
| `@cutforge/studio-mcp` | MCP 服务器(与 CLI 1:1 镜像) |
| `@cutforge/studio-skills` | 中立于宿主的 `SKILL包 |
技术计划和路线图位于 [`PLAN.md`](./PLAN.md)。
## 开发
pnpm install
pnpm build 包的 tsc(core → tools → cli/mcp)
pnpm test # vitest
pnpm typecheck
```
## 许可证
MIT — 见 [`LICENSE`](./LICENSE)。渲染在运行时通过 `npx` 使用 [HyperFrames](https://github.com/heygen-com/hyperframes);编辑/转录使用系统 `ffmpeg` 和 `whisper.cpp)。见
[`PLAN.md`](./PLAN.md) 了解第三方运行时如何定位以及许可说明。