AI Video Editor
  • Python 65.5%
  • JavaScript 26.3%
  • CSS 6.1%
  • HTML 1.4%
  • Shell 0.5%
  • Other 0.2%
Find a file
2026-07-16 13:44:54 -04:00
animation/story checkpoint. New tools. Needs parallelization 2026-07-16 13:44:54 -04:00
docs checkpoint. New tools. Needs parallelization 2026-07-16 13:44:54 -04:00
scripts CutWise: agentic video editor 2026-07-13 00:37:01 -04:00
server checkpoint. New tools. Needs parallelization 2026-07-16 13:44:54 -04:00
web checkpoint. New tools. Needs parallelization 2026-07-16 13:44:54 -04:00
.gitignore checkpoint. New tools. Needs parallelization 2026-07-16 13:44:54 -04:00
config.example.env checkpoint. New tools. Needs parallelization 2026-07-16 13:44:54 -04:00
LICENSE CutWise: agentic video editor 2026-07-13 00:37:01 -04:00
mcp.example.json checkpoint. New tools. Needs parallelization 2026-07-16 13:44:54 -04:00
README.md README: mermaid architecture diagram 2026-07-13 00:38:07 -04:00
requirements.txt checkpoint. New tools. Needs parallelization 2026-07-16 13:44:54 -04:00
run.sh CutWise: agentic video editor 2026-07-13 00:37:01 -04:00

CutWise

A self-hosted, agentic video editor. Describe the edit in plain English and an LLM agent cuts, layers, grades, and mixes your footage on a non-destructive timeline, with ffmpeg rendering the result. Or skip the agent entirely and edit by hand: the timeline is a full manual editor too.

What it does

  • Chat-driven editing. "Cut the dead air, speed up the b-roll 2x, add a title, crossfade everything, put me in the corner with a red border."
  • The agent can see and hear. Timestamped transcripts (Parakeet/Whisper, local CPU), frame descriptions and audio analysis via any vision model, and it can review its own renders to verify the result.
  • Instant live preview. The timeline plays in the browser immediately. No render needed until you export.
  • Manual editing. Click-to-scrub, split (S), drag to reorder, multi-select, right-click menus, draggable and resizable text on the video, picture-in-picture layers, per-clip effects with live sliders, and markers (K) that pass instructions to the agent.
  • Real rendering. Everything compiles to a single ffmpeg filter graph: trims, speed ramps, 14 transition styles, color grades, Ken Burns motion, borders, text, overlays, and music with auto-fade. Export at any resolution.
  • Bring your own model. Ollama (fully local), Anthropic, OpenAI, Google, xAI, or any OpenAI-compatible endpoint. Footage never leaves your machine; only text (and, if you opt in, frame snapshots) goes to the provider.

Quick start

Requirements: Python 3.11+, ffmpeg, and an LLM (an Ollama server with a tool-calling model, or an API key for a cloud provider).

git clone https://git.adotinthecosmos.com/kevin/CutWise.git
cd CutWise
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

cp config.example.env config.env   # point it at your Ollama / set your port
./run.sh                           # then open http://localhost:8330

Upload a video, then either edit manually or tell the agent what you want. Pick your model provider under the gear icon in the header. Run bash scripts/make_samples.sh to generate test footage if you just want to poke at it.

Press ? in the app for keyboard shortcuts.

How it works

flowchart LR
    B["Browser<br/>chat + timeline + live preview"] <-->|WebSocket| S[FastAPI server]
    S --> A[Agent loop]
    A <--> L["Your LLM<br/>Ollama / Anthropic / OpenAI / Google / xAI"]
    A --> T["25+ editing tools<br/>cut, layer, grade, listen, view"]
    T --> TL["Non-destructive timeline (JSON)"]
    TL --> F[ffmpeg filter graph]
    F --> MP4([mp4])
    P["Perception (local)<br/>Parakeet ASR + vision model"] --> A

Projects live in data/projects/<id>/. Media, timelines, renders, and transcripts all stay on your disk.

License

Elastic License 2.0: free to use, modify, and distribute, including commercially. The one restriction: you may not offer CutWise to others as a hosted or managed service.