$git clone https://github.com/ronak-create/FableCutA browser video editor that AI agents can drive.
| 1 | # FableCut |
| 2 | |
| 3 | **A browser video editor that AI agents can drive.** |
| 4 | |
| 5 | <a href="https://trendshift.io/repositories/77702?utm_source=trendshift-badge&utm_medium=badge&utm_campaign=badge-trendshift-77702" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/77702/daily?language=JavaScript" alt="ronak-create%2FFableCut | Trendshift" width="250" height="55"/></a> |
| 6 | |
| 7 | [](https://news.ycombinator.com/item?id=48845422) |
| 8 | [](https://dev.to/devteam/top-7-featured-dev-posts-of-the-week-815) |
| 9 | [](https://registry.modelcontextprotocol.io/v0/servers?search=fablecut) |
| 10 | [](https://github.com/punkpeye/awesome-mcp-servers) |
| 11 | [](https://glama.ai/mcp/servers/ronak-create/FableCut) |
| 12 | |
| 13 | <https://github.com/user-attachments/assets/2430b854-168b-4a9a-af2e-489e5efa7543> |
| 14 | |
| 15 | FableCut is a Premiere-style non-linear video editor that runs entirely in your |
| 16 | browser — and exposes its whole timeline as one JSON document. Edit it by hand, |
| 17 | from the UI, or let an AI agent (Claude Code, Claude Desktop, or anything that |
| 18 | speaks MCP/REST) cut your video for you while you watch the timeline update |
| 19 | live. |
| 20 | |
| 21 | Zero npm dependencies. One `node server.js`. That's it. |
| 22 | |
| 23 |  |
| 24 | |
| 25 | ## Why it's interesting |
| 26 | |
| 27 | Most "AI video" tools hide the edit behind an API. FableCut flips that: the |
| 28 | **project file is the interface**. `project.json` describes media, clips, |
| 29 | tracks, effects, keyframes and transitions — any process that can write JSON |
| 30 | can edit video, and the open browser UI hot-reloads within ~150 ms via |
| 31 | server-sent events. A human and an agent can work on the same timeline at the |
| 32 | same time. |
| 33 | |
| 34 | ## Features |
| 35 | |
| 36 | **Editing** |
| 37 | |
| 38 | - 3 video tracks + 4 audio tracks, drag/trim/split/snap, undo/redo |
| 39 | - **Direct manipulation on the monitor** — click a clip or title on the preview to |
| 40 | move, resize (corner handles), or rotate (top handle, Shift-snap) it directly |
| 41 | - **Timeline multi-select** — rubber-band marquee (drag on empty track area), |
| 42 | <kbd>Ctrl/Cmd/Shift+click</kbd> to add/remove clips, <kbd>Ctrl+A</kbd> to |
| 43 | select all, <kbd>Esc</kbd> to deselect. Drag any selected clip to move the |
| 44 | whole group; <kbd>Delete</kbd> removes all selected; <kbd>S</kbd> splits all |
| 45 | selected at the playhead. Inspector shows an "N clips selected" banner. |
| 46 | - Beat & cue markers (tap <kbd>⇧m</kbd> on the beat during playback) with edge snapping |
| 47 | - Press <kbd>Alt+t</kbd> to add an in/out transition based on the playhead position over the selected clip. The last used transition is remembered as the default. Drag the overlay triangle to adjust duration; <kbd>Delete</kbd> clears the focused transition. |
| 48 | - Real decoded audio waveforms on clips |
| 49 | - Canvas aspect presets (16:9, 9:16 reels, 4:5, 1:1) + safe-area guides |
| 50 | - Preview playback speed — shuttle the monitor through 1×/1.5×/2×/4× with **J**/**K**/**L** |
| 51 | (from a stop <kbd>J</kbd>/<kbd>L</kbd> start playback; while playing <kbd>L</kbd> steps faster |
| 52 | and <kbd>J</kbd> slower, <kbd>K</kbd> toggles play/pause and resets to 1×); affects the |
| 53 | preview player only, never the export |
| 54 | - Resizable workspace: drag the divider between monitor and timeline (double-click resets), plus S/M/L timeline track-density presets (S hides thumbnails for compact tracks) |
| 55 | - **Zoom to selection** (<kbd>⇧Z</kbd>) frames all selected clips, not just one |
| 56 | - **IN/OUT work area** — set markers with <kbd>i</kbd> and <kbd>o</kbd> (<kbd>⇧I</kbd> / <kbd>⇧O</kbd> to clear). Enabling **Limit** con |