# FableCut

> A zero-dependency browser-based non-linear video editor with a JSON timeline that AI agents can drive via MCP, REST, or direct file editing.

FableCut is an open-source, Premiere-style non-linear video editor that runs entirely in the browser and exposes its entire timeline as a single JSON document. Built by ronak-create and released under the MIT license, it is designed from the ground up to be operated by AI agents — including Claude Code and Claude Desktop — while a human watches the timeline update live. The project has no npm dependencies and starts with a single `node server.js` command.

## What It Is

FableCut sits at the intersection of a capable browser video editor and an AI-agent control surface. The core idea, as the README describes it, is that "the project file is the interface": `project.json` describes media, clips, tracks, effects, keyframes, and transitions, and any process that can write JSON can edit video. The open browser UI hot-reloads within approximately 150 ms via server-sent events, so a human and an agent can work on the same timeline simultaneously. It supports 4 video tracks and 3 audio tracks, drag/trim/split/snap, undo/redo, multi-select, beat and cue markers, real decoded audio waveforms, and canvas aspect presets for 16:9, 9:16 reels, 4:5, and 1:1.

## AI Agent Control Surfaces

FableCut exposes three equivalent ways for an agent to drive the editor:

- **MCP server** — a bundled, zero-dependency stdio MCP server registers with Claude Code or Claude Desktop via one command. Tools include `fablecut_status`, `fablecut_docs`, `fablecut_get_project`, `fablecut_set_project`, `fablecut_patch_project`, `fablecut_import_media`, and `fablecut_analyze_reference`. The surface is described as "token-efficient by design": agents patch the timeline with small ops rather than round-tripping the whole document.
- **Direct file editing** — read `project.json`, modify, bump the `revision` counter, write. The UI live-reloads automatically.
- **REST API** — `GET/PUT /api/project`, `POST /api/upload`, `GET /api/library`, and a server-sent events stream at `/api/events`.

Conflict-safe concurrent editing is built in: a `revision` counter causes conflicting writes to return a 409 instead of silently overwriting changes, and the UI surfaces agent-write conflicts as a toast notification.

## Visual and Motion Capabilities

Beyond the agent-first architecture, FableCut ships a substantial set of editing features:

- **Look**: 12 one-click filter presets (cinematic, teal-orange, noir, vintage, cyberpunk), adjustment layers, full grade controls (brightness/contrast/saturation/hue, temperature/tint, blur, vignette, animated film grain), blend modes, per-edge cropping, corner radius, flip H/V, chroma key with spill suppression, and in-browser AI background removal via MediaPipe.
- **Motion**: keyframe animation on ~25 properties with easing, speed ramps with time-remapped audio, camera shake, RGB-split/chromatic aberration, and 17 transitions including glitch and pop.
- **Text**: kinetic captions (typewriter, word-pop, word-slide, karaoke, letter-pop, wave, bounce, shake), neon glow, Google Fonts loaded by name, gradient fills, outline, background pills, and soft shadows.
- **Animated SVG clips**: a first-class `svg` clip kind where CSS `@keyframes`-animated SVGs render frame-accurately in preview and export; agents can author their own vector overlays as plain `.svg` files.

## Reference Video Remake

A standout feature is the reference-video analyzer (`analyze.js` / `POST /api/analyze` / `fablecut_analyze_reference` MCP tool). Given a reference edit, it returns an edit blueprint: shot boundaries, music beats and BPM, a loudness curve, per-shot energy, the drop, and the reference's music track extracted into the project's media folder. The README describes the workflow as: give an agent a reference reel, have it call `fablecut_analyze_reference`, receive the blueprint, and rebuild the structure shot-for-shot with the user's own footage. This requires no extra dependencies beyond ffmpeg for decoding.

## Update: v1.3.0 — Reference Remake + Demo Video

The latest release, v1.3.0 (published 2026-07-09), is titled "FableCut v1.3.0 — reference remake + demo video," indicating the reference-video analysis and remake workflow is a recent addition to the project. The repository was created in July 2026 and last pushed on 2026-07-09, showing active early development. The project had accumulated 315 stars and 18 forks within days of creation, reflecting strong early community interest in the AI-agent-driven editing concept.

## Features
- Browser-based non-linear video editor (Premiere-style)
- JSON timeline as the primary interface (project.json)
- MCP server for AI agent control (Claude Code, Claude Desktop)
- REST API and server-sent events for live UI updates
- 4 video tracks + 3 audio tracks
- Drag, trim, split, snap, undo/redo
- Timeline multi-select with rubber-band marquee
- Beat and cue markers with edge snapping
- Real decoded audio waveforms on clips
- Canvas aspect presets (16:9, 9:16, 4:5, 1:1)
- 12 one-click filter presets
- Adjustment layers
- Full grade controls (brightness, contrast, saturation, hue, temperature, tint)
- Vignette and animated film grain
- Blend modes, fit modes, per-edge cropping, corner radius, flip H/V
- Chroma key (green screen) with spill suppression
- AI background removal via MediaPipe (in-browser)
- Keyframe animation on ~25 properties with easing
- Speed ramps with time-remapped audio
- Camera shake and RGB-split/chromatic aberration
- 17 transitions including glitch and pop
- Kinetic captions (typewriter, word-pop, word-slide, karaoke, letter-pop, wave, bounce, shake)
- Neon glow text effect
- Google Fonts loaded by name
- Animated SVG clips with frame-accurate rendering
- Reference video analyzer (shot boundaries, BPM, energy, music extraction)
- Edit blueprint generation for reference remake
- Asset library (elements, sound FX, SVG, fonts)
- Fast export via browser compositor + ffmpeg (CRF-18 MP4)
- MediaRecorder fallback export
- Conflict-safe concurrent editing via revision counter
- Zero npm dependencies
- Live-reloading UI via server-sent events (~150ms)

## Integrations
Claude Code, Claude Desktop, MCP (Model Context Protocol), ffmpeg, MediaPipe, Google Fonts

## Platforms
WEB, CLI, API

## Pricing
Open Source

## Version
v1.3.0

## Links
- Website: https://github.com/ronak-create/FableCut
- Documentation: https://github.com/ronak-create/FableCut/blob/main/CLAUDE.md
- Repository: https://github.com/ronak-create/FableCut
- EveryDev.ai: https://www.everydev.ai/tools/fablecut
