CutVoke
Your Footage. Your AI. One Shared, Editable Timeline.
An open-source, local-first video editor where human creators and AI agents collaborate on the same non-destructive timeline—complete with visual editing, MCP integration, and reusable community effects.
English | 简体中文
Download Desktop App · What's New in v0.3.5 · Watch Showcases · Connect AI Agents · Contribute Effects
CutVoke is an open-source, local video editor your AI agent can drive over MCP — and you can open the same timeline and fix anything by hand.Instagram's new Edits for Mac also exposes an MCP server, but it is macOS-only (Apple silicon) and needs an Instagram sign-in. CutVoke runs on Windows · macOS · Linux, needs no account for local editing, and its source is MIT-licensed.Works with Claude Code, Codex, Cursor, Claude Desktop, or any MCP client.
Connect your agent in 30 seconds
- Download CutVoke v0.3.5 and launch it once.
- Open
profile/mcp-config.jsonin the CutVoke data folder (Windows portable:CutVoke Datanext to the exe · macOS:~/Library/Application Support/CutVoke/· Linux:${XDG_DATA_HOME:-~/.local/share}/CutVoke/). It already contains the bundled engine command, so no Python install is needed. - Add the
cutvokeentry to your agent: Claude Code · Codex · Cursor. Then ask: "Cut the silences, add captions, make a 9:16 version, and show me a few frames before you export."
⭐ If CutVoke is useful to you, a star helps other creators find it.
What's New in v0.3.5
- Transcript-Driven Editing: Locate, audition, and delete clips by word or sentence with impact preview and single-step synced undo.
- AI Proposal & Evidence Review: Propose timeline edits, inspect rendered frame evidence, and apply local patches via MCP.
- Code-Video Import & Cached Rendering: Verify and import external code-generated videos with frame-window render caching.
- Faster Cold Start & Exact Frame Cuts: Direct WAV/background metadata reads and unified frame-clock cuts across all framerates.
- 3D Engine, Mattes & GPU Preview (v0.3.3–v0.3.4): OpenGL 3D layers, Alpha/Luma track mattes, adjustment layers, 5 AI genre guides, and GPU preview (Release Notes · Changelog).
Watch Product Overview
Why CutVoke?
Most AI video tools give you a "take-it-or-leave-it" exported MP4—if one cut feels off or a caption is misspelled, you have to re-roll the prompt or start over in a traditional editor. Meanwhile, traditional NLEs require tedious manual slicing, keyframing, and caption alignment.
CutVoke bridges both worlds. AI agents and human editors work on the exact same declarative timeline:
| Pain Point | Traditional Video Editors | Black-Box AI Video Generators | CutVoke (Human + AI Shared Timeline) |
|---|---|---|---|
| Rough Cuts & Assembly | Manual scrubbing, slicing, and track sorting | Fast generation, zero timeline control | AI agent builds the multi-track rough cut; you tweak any frame visually |
| Iteration & Fine-Tuning | Full manual control, high time cost | Re-prompt and hope for a better output | Edit by transcript, drag clips, adjust keyframes, or ask AI to patch specific tracks |
| Captions & Audio Sync | Manual alignment or cloud paywalls | Burned-in text that cannot be edited | Local ASR auto-captions on editable subtitle tracks with full styling control |
| Transitions & VFX | Complex node graphs or proprietary plugins | Unpredictable visual artifacts | Parameterized, inspectable community effect recipes (effects/) |
| Privacy & Cost | Heavy hardware or subscription lock-in | Cloud uploads & per-minute credit fees | 100% Local-First powered by your local FFmpeg pipeline—zero cloud fees |
| Editable Captions & Transcript Cutting | Reusable Community Transitions & VFX |
|---|---|
| Generate, split, cut by word/sentence, and restyle subtitles on a dedicated track | Apply parameterized transition recipes across any cut boundary |
Two Complete Editing Showcases
See the raw clips first, then the finished edit. Both showcases provide bilingual videos, raw source footage, and editable .cutvokepack project packages. Play the videos below with audio, or download the MP4s.
01 · Chase the Light
Motorcycle Short Film · 31.6s · Landscape
https://github.com/user-attachments/assets/3504df36-059c-4ca5-ade9-dbde6a0e1663
Download Comparison Video with Audio (EN) · Open Repo Video Page
What to look for: Moving masks, fragment reconstruction, light-anchor tracking, multi-layer lighting, and kinetic typography. Plays four raw MiniMax source shots first, followed by the 22.3s final cut.
Final Cut Video (EN) · Editable Project Package (EN) · Raw Footage & Bilingual Versions
02 · Coastal Joy
Handheld Travel Vlog · 42.5s · 9:16 Vertical
https://github.com/user-attachments/assets/5d87a1b1-b0cc-4a1b-ab76-ef31981e8326
Download Comparison Video with Audio (EN) · Open Repo Video Page
A posed beach shot gets interrupted by an incoming wave, the cameraperson laughs first, and the candid moment becomes the highlight. What to look for: Split screens, multi-layered colorful titles, speed ramping, masks, color grading, and audio ducking that preserves ocean ambience under the music.
Final Cut Video (EN) · Editable Project Package (EN) · Raw Footage & Bilingual Versions
Direct video downloads are hosted via GitCode LFS. All timeline editing, compositing, audio mixing, and MP4 exports were produced in CutVoke. Videos, source footage, and
.cutvokepackbundles use Git LFS (git lfs pullafter cloning). Import any.cutvokepackfrom the CutVoke home screen via "Unpack & Open" to inspect and edit the timeline yourself.
How Human + AI Hybrid Editing Works
CutVoke uses a non-destructive, declarative timeline model shared across the visual editor, CLI, HTTP API, and Model Context Protocol (MCP) server:
┌───────────────────────────┐ ┌───────────────────────────┐
│ Human Creator │ │ AI Agent │
│ (Desktop / Web UI Editor)│ │ (Claude / Cursor / Skill) │
└─────────────┬─────────────┘ └─────────────┬─────────────┘
│ Visual Drag, Transcript Cut & VFX │ MCP Tools / CLI / HTTP API
▼ ▼
┌─────────────────────────────────────────────────┐
│ Shared Editable Timeline (JSON) │
│ Tracks · Clips · Captions · VFX · Keyframes │
└────────────────────────┬────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Local-First FFmpeg Render Pipeline │
│ Hardware-Accelerated MP4/WebM + Project File │
└─────────────────────────────────────────────────┘
While an agent holds an editing lease, the editor shows its owner and remaining time. Use Take over editing to end that specific lease and refresh the project before continuing. Completed edits are preserved; requests using the old lease are rejected.
Example Prompts You Can Give Your AI Agent
Once CutVoke is connected to Claude Desktop, Cursor, or any MCP client, you can hand off tedious tasks while keeping full creative control in the UI:
"Inspect my current CutVoke timeline, remove silent pauses longer than 0.6s, add a smooth dissolve transition between scene changes, and generate English subtitles using local ASR."
"Use the
cutvoke-editordocumentary workflow to assemble the footage in./raw_clipsinto a 60-second highlight reel synced tobgm.mp3, review the rendered keyframes for any awkward cuts, and let me fine-tune the title animations in the UI."
Key Features
1. Visual Multi-Track Editor Built for Creators
- Full Multi-Track & Pre-Comp Timeline: Arrange video, audio, adjustment layers, pre-compositions, overlay stickers, motion titles, and subtitle tracks with non-destructive trimming (Basic Editing, Advanced Timeline).
- Cinematic VFX, Track Mattes & Moving Masks: Layer atmospheric overlays, Bezier keyframe animations, Alpha/Luma track mattes, and dynamic moving masks (Cinematic VFX, Moving Masks, Compositing Workflow).
- Local ASR, Transcript Editing & Audio Workbench: Generate accurate subtitles offline, cut video directly by deleting spoken words/sentences, mix multi-track audio, and duck background music (Local ASR, Audio Workbench).
- Local 3D Engine & Person Segmentation: Enhance edits with local person segmentation models (
cutvoke-person-model) and OpenGL-accelerated 3D planes, meshes, materials, and lighting (Local 3D & Models).
2. Four Flexible Ways to Use CutVoke
- Visual Desktop / Web Editor: Open the app and edit directly with mouse and keyboard shortcuts—no coding required.
- AI Agent Collaboration (MCP): Let AI agents propose creative edits, inspect rendered frame evidence, and patch specific timeline ranges via MCP (Local Delivery MCP).
- Pre-Built Agent Skills (
skills/cutvoke-editor/): Includes specialized editing guides for Music Videos (music-video.md), Documentaries & Vlogs (documentary.md), Narrative Films (narrative.md), Explainers & Tutorials (explainer.md), and Product Showcases (showcase.md). - CLI, HTTP API & Code-Video Automation: Batch-render videos, import verified code-generated animations, or integrate CutVoke into custom media pipelines.
For code-video handoffs, editable packages carry verified source ZIPs for referenced media. generated_source lists and inspects these archives and explicitly restores inputs into a new directory without executing code or certifying artistic quality. Render-cache indexes stay outside the package; keep the full project directory to retain them. See the code-video bridge and source recovery example and cached rendering.
Get Started
Option 1: Download the Portable Desktop App (Recommended for Creators)
No Python or Node.js setup required. Download the latest pre-built package for your platform from GitHub Releases (v0.3.5), extract the archive, and launch CutVoke:
| Platform | Architecture | Package Download (v0.3.5) |
|---|---|---|
| Windows | x64 (Portable) | CutVoke-0.3.5-windows-x64-portable.zip |
| macOS | Apple Silicon (M1–M4, arm64) | CutVoke-0.3.5-macos-arm64.zip |
| macOS | Intel (x64) | CutVoke-0.3.5-macos-x64.zip |
| Linux | x64 | CutVoke-0.3.5-linux-x64.tar.gz |
Note: Desktop packages include FFmpeg and ffprobe; no system FFmpeg setup is needed. Only source installs (Option 3) require
ffmpegandffprobeon PATH. See Pre-release Notes for platform launch details.
Option 2: Connect Your AI Agent (Claude Desktop / Cursor / MCP Clients)
For a visual dry-run, call preview_compare with projectId, current expectedRevision, command type/payload, and 1–3 times (seconds). It returns before/after PNG pairs from the same snapshot, including captions, without committing the edit. Times must fit both timelines; imageIndex maps each nonempty side to its image block (zero-based, excluding the JSON text block). Check the pairs, then apply with the latest revision. Local preview-cache files are created; export/audio side-effect commands are rejected. This is a same-timestamp comparison, not source-time alignment after ripple edits.
Async exports return a jobId; poll export_job after its pollAfterSeconds delay (currently 1 second while queued/running). A null hint means the job is terminal; stop polling and inspect its result or error. Use a bounded timeout.
- Launch the desktop app once. It writes
profile/mcp-config.jsonin the CutVoke data folder with the absolute path of the bundled engine and your project library. Copy itscutvokeentry into your MCP client (e.g.,claude_desktop_config.jsonor.cursor/mcp.json). It looks like this:
{
"mcpServers": {
"cutvoke": {
"command": "/path/to/CutVoke/resources/engine/cutvoke-engine",
"args": ["mcp", "--data", "/path/to/CutVoke Data/data/projects.sqlite"],
"env": { "CUTVOKE_HOME": "...", "CUTVOKE_FONT_CACHE": "...", "CUTVOKE_GPU_ACCELERATION": "1" }
}
}
}
Use the values from your own file rather than this sketch. Per-client steps: Claude Code · Codex · Cursor. (From a source checkout, python -m cutvoke mcp --data <path> or cutvoke-mcp --data <path> also works; see Option 3.)
- Load the built-in
cutvoke-editorSkill into your coding or creative agent so it understands CutVoke's timeline schema, genre pacing guides, and effect catalogs. Full instructions are available in the Agent Skill Guide.
Option 3: Run from Source (For Developers & Power Users)
Prerequisites: Python 3.10+, Node.js 20+ (CI uses Node.js 24), and ffmpeg / ffprobe installed in system PATH. See installation and tested environments for required codecs and platform details.
# 1. Clone the repository
git clone https://github.com/frankShan001/CutVoke.git
cd CutVoke
# 2. Create a virtual environment
python -m venv .venv
Before continuing, activate it with source .venv/bin/activate on Linux/macOS, or .\.venv\Scripts\Activate.ps1 in Windows PowerShell. Then:
python -m pip install -e .
# 3. Build the Web Editor and start the local service
cd apps/editor
npm ci
npm run build
cd ../..
cutvoke doctor --json
cutvoke serve
Open http://127.0.0.1:8787 in your browser. Windows users can alternatively run start-cutvoke.cmd --web to start the browser workflow. This serves the built editor and its API together. npm run dev starts only Vite, not the CutVoke backend, so it is not the standalone installation flow. For contributor dependencies and checks, see CONTRIBUTING.md.
Built-in CLI Commands
| Command | Description |
|---|---|
cutvoke |
Main CLI for inspecting projects, editing timelines, and triggering local renders |
cutvoke-mcp |
Start the CutVoke Model Context Protocol (MCP) server |
cutvoke-person-model |
Download and configure local person segmentation models |
cutvoke-resource-pack |
Verify, package, and sign reusable resource & effect packs |
Community Effects & Open-Source Contributions
One of CutVoke's core design goals is building an open, reusable ecosystem of video effects, transitions, motion titles, and creative assets. Instead of locking effects inside compiled binary plugins, CutVoke defines effects as inspectable, parameterized recipes inside effects/ and resources/.
Especially Wanted: Contribute Reusable Effects!
- Transitions (
effects/transitions/): Smooth wipes, zooms, Whip Pans, glitch cuts, light leaks, or film burns. - Cinematic VFX & Overlays (
docs/cinematic-vfx.md): Color grading looks, retro CRT/VHS shaders, procedural noise, or lighting recipes. - Motion Titles & Resource Packs (
docs/title-motion.md,resources/source/): Kinetic typography templates, sticker atlases, and texture overlays.
One-Step Prompt to Contribute an Effect with Your AI Agent
Fork and clone this repository, open it in Claude Code, Cursor, or Codex, and paste this prompt—your AI agent will read the repo rules, build the effect, run all checks, and prepare your PR:
Read CONTRIBUTING.md and inspect `effects/transitions/` and `src/cutvoke/catalogs/builtin_presets.json`.
Help me build and submit a new reusable CutVoke effect: [describe your effect idea here, e.g., a VHS glitch transition].
Follow the repository conventions to create the effect package, register the preset, run `audit_effect_presets.py` and `pytest` until all checks pass, and prepare a Pull Request.
Prefer manual setup? Read CONTRIBUTING.md for full details.
Repository Architecture
CutVoke/
├── apps/
│ ├── editor/ # React 19 + TypeScript + Vite visual timeline UI
│ └── desktop/ # Cross-platform desktop packaging & launcher runtime
├── src/cutvoke/ # Core Python Engine, CLI & MCP Server
│ ├── assets/ & catalogs/ # Media asset resolution & effect/transition catalogs
│ ├── domain/ # Declarative timeline, track, clip & keyframe models
│ ├── editing/ # Non-destructive cutting, transcript editing & composition
│ ├── interfaces/ # MCP server, HTTP API & CLI entry points
│ ├── rendering/ # FFmpeg filtergraph, 3D/OpenGL & background render workers
│ └── storage/ # Project isolation, caching & resource pack signing
├── effects/ # Reusable declarative transitions & visual effect recipes
├── resources/ # Brand assets, sticker atlases & overlay textures
├── skills/cutvoke-editor/ # Pre-built AI Agent skills, genre guides & demo scripts
├── examples/ # Showcase projects, creative workflows & generated media demos
└── docs/ # User manuals, VFX guides, release notes & architecture docs
Documentation Hub
| Category | Guides |
|---|---|
| Editing & Timeline | Basic Editing · Heavy Editing · Advanced Timeline · Production Workflow |
| VFX, Motion & 3D | Cinematic VFX · Moving Masks · Title Motion · Animation Workflow · Compositing Workflow · Local 3D & Models |
| Audio & Captions | Audio Workbench · Local ASR (Offline Captions) |
| AI Agent & MCP | Local Delivery MCP · Agent Skill Setup · CutVoke Editor Skill |
| Release Notes & Dev | v0.3.5 Release Notes · v0.3.4 Release Notes · Project Layout · Render Performance |
License & Security
- License: Distributed under the MIT License.
- Security: Please review
SECURITY.mdfor reporting vulnerabilities. - Changelog: See
CHANGELOG.mdanddocs/development/for complete release history.