cd /news/ai-tools/show-hn-fablecut-a-browser-video-edi… · home topics ai-tools article
[ARTICLE · art-52603] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Show HN: FableCut – A browser video editor AI agents can drive (zero deps)

FableCut, a browser-based non-linear video editor, exposes its entire timeline as a JSON document, allowing AI agents to edit video via MCP/REST while humans work simultaneously. The zero-dependency tool features Premiere-style editing, keyframe animation, AI background removal, and reference video analysis, with live timeline updates through server-sent events.

read6 min views1 publishedJul 9, 2026
Show HN: FableCut – A browser video editor AI agents can drive (zero deps)
Image: source

A browser video editor that AI agents can drive.

FableCut is a Premiere-style non-linear video editor that runs entirely in your browser — and exposes its whole timeline as one JSON document. Edit it by hand, from the UI, or let an AI agent (Claude Code, Claude Desktop, or anything that speaks MCP/REST) cut your video for you while you watch the timeline update live.

Zero npm dependencies. One node server.js

. That's it.

Most "AI video" tools hide the edit behind an API. FableCut flips that: the project file is the interface. project.json

describes media, clips, tracks, effects, keyframes and transitions — any process that can write JSON can edit video, and the open browser UI hot-reloads within ~150 ms via server-sent events. A human and an agent can work on the same timeline at the same time.

Editing

  • 4 video tracks + 3 audio tracks, drag/trim/split/snap, undo/redo Timeline multi-select— rubber-band marquee (drag on empty track area),Ctrl/Cmd/Shift+click to add/remove clips,Ctrl+A to select all,Esc to deselect. Drag any selected clip to move the whole group;Delete removes all selected;S splits all selected at the playhead. Inspector shows an "N clips selected" banner.- Beat & cue markers (tap M on the beat during playback) with edge snapping - Real decoded audio waveforms on clips
  • Canvas aspect presets (16:9, 9:16 reels, 4:5, 1:1) + safe-area guides

Look

  • 12 one-click filter presets (cinematic, teal-orange, noir, vintage, cyberpunk…) Adjustment layers— one clip grades everything below it, Premiere-style- Full grade controls: brightness/contrast/saturation/hue, temperature & tint, blur, grayscale/sepia/invert,** vignette**, animated** film grain** - Blend modes (screen, multiply, overlay…), fit modes (contain/cover/stretch), per-edge cropping, corner radius, flip H/V Chroma key(green screen) with tolerance/softness + spill suppression** AI background removal**(person cut-out, in-browser via MediaPipe)

Motion

  • Keyframe animation on ~25 properties with easing Speed ramps— keyframespeed

and the engine time-remaps videoandthe export audio mix (the fast-into-slow-mo reel move)Camera shake andRGB-split/chromatic aberration, both animatable- 17 transitions: fades, slides, wipes (4 directions), zoom, iris, spin, blur, whip-pan, glitch,** pop**

Text

  • Kinetic captions: typewriter, word-pop, word-slide, karaoke, letter-pop,** wave**,** bounce**,** shake** Neon glow for that TikTok caption look- Font editor: system fonts, drop-in custom fonts ( library/fonts/

), andany Google Font by name— loaded automatically - Gradient fills, outline, background pills, letter-spacing, line-height, weights, italic, uppercase, alignment, soft shadows

Animated SVG clips

  • A first-class svg

clip kind: CSS-@keyframes

-animated SVGs renderframe-accurately in preview and export (the compositor freezes the animation at any time). Agents can author their own vector overlays — lower-thirds, confetti, sparkles — as plain.svg

files. Starters included.

Remake a reference video

  • Give it a reference edit (a reel you like) and get back an edit blueprint: shot boundaries, music beats + BPM, a loudness curve, per-shot energy, the drop — plus the reference's** music track extracted**into your media, ready to rebuild the same idea with your own footage. Zero extra dependencies (ffmpeg does the decoding; onset/tempo detection is plain Node).node analyze.js ref.mp4

,POST /api/analyze

, or thefablecut_analyze_reference

MCP tool.

Asset library

library/

folders surface as tabs in the UI:Elements(overlay art),** Sound FX**,** SVG**— drop files in, the open editor refreshes live

Export

  • Fast export: browser renders every frame + an offline audio mix, ffmpeg encodes a frame-accurate CRF-18 MP4 (keeps rendering if you switch tabs)
  • Realtime MediaRecorder fallback when ffmpeg isn't available
git clone https://github.com/ronak-create/FableCut.git
cd FableCut
node server.js        # → http://localhost:7777

Requirements: Node 18+ and a Chromium-based browser. ffmpeg on PATH is optional but recommended (fast export + upload remuxing). AI background removal fetches its model from a CDN on first use.

Drop media into the window (or ./media/

), drag clips onto the timeline, edit, export.

Everything an agent needs is in ** CLAUDE.md** — the complete schema, semantics and recipes. Point any capable model at that file and it can operate the editor end to end.

Three equivalent control surfaces:

MCP(best for Claude Code / Claude Desktop) — register the bundled zero-dependency MCP server once:

claude mcp add -s user fablecut -- node "<path-to>/fablecut/mcp-server.js"

Tools:

fablecut_status

(auto-starts the editor),fablecut_docs

,fablecut_get_project

,fablecut_set_project

,fablecut_patch_project

,fablecut_import_media

,fablecut_analyze_reference

.The surface is

token-efficient by design: agents patch the timeline with small ops (fablecut_patch_project

) instead of round-tripping the whole document, read a compact one-line-per-clip summary (fablecut_get_project {compact:true}

), and fetch only the manual sections they need (fablecut_docs {section:"props"}

). - The file— readproject.json

, modify, bumprevision

, write. The UI live-reloads. - RESTGET/PUT /api/project

,POST /api/upload

,GET /api/library

, SSE at/api/events

. See CLAUDE.md for the full list.

Example: ask Claude Code "cut these six clips to the beat markers, add a teal-orange grade, put a word-pop caption on top and a whoosh on every cut" — and watch the timeline rebuild itself.

Or hand it a reference: "here's a reel I like — analyze it and remake it with my clips, same music". The agent calls fablecut_analyze_reference

, gets the blueprint (cuts, beats, BPM, energy, drop, extracted music), and rebuilds the structure shot-for-shot with your footage.

Conflict-safe concurrent editing: the UI, the MCP tools, and direct project.json

writes all agree on a revision

counter. If you edit a clip in the UI while an agent is mid-task, the agent's next write is rejected (409 from the REST API / a conflict error from fablecut_set_project

) instead of silently overwriting your change. The UI similarly detects when an agent write supersedes a not-yet-saved local tweak and tells you with a toast instead of dropping it silently.

server.js        zero-dependency HTTP server: static hosting, REST API, SSE,
                 ffmpeg export pipeline
app.js           the editor: timeline UI, compositor, keyframes, text engine,
                 SVG rasterizer, chroma key, exporters
index.html       single-page UI
style.css        dark editor theme
mcp-server.js    stdio MCP server exposing the editor to AI agents
analyze.js       reference-video analyzer: shots, beats/BPM, energy, drop,
                 music extraction (module + CLI)
CLAUDE.md        the agent manual (schema + recipes) — also served by fablecut_docs
project.json     your timeline (created on first run; gitignored)
media/           project footage (gitignored)
analysis/        cached edit blueprints from /api/analyze (gitignored)
library/         default assets: elements/ sfx/ svg/ fonts/
exports/         finished renders (gitignored)

SVGs animate with plain CSS @keyframes

. One convention: never hardcode animation-delay

— set --d: 0.4s

instead, and the compositor drives time by pausing all animations and rebasing their delays. Full rules + a skeleton in CLAUDE.md; working examples in library/svg/.

  • The repo ships with 20 Google Fonts(library/fonts/

, OFL — seeLICENSES.md

there) and a set of self-authored SVG overlays and animated elements (library/elements/

,library/svg/

, MIT like the rest of the repo). library/sfx/

is yours to fill (gitignored): sound-effect sites typically don't allow redistributing their files in a public repo, so FableCut doesn't —library/sfx/README.md

lists good free sources.- Export runs in the browser because the compositor isthe browser; agents ask you to click Export (or render directly with ffmpeg frommedia/

).

── more in #ai-tools 4 stories · sorted by recency
── more on @fablecut 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-fablecut-a-b…] indexed:0 read:6min 2026-07-09 ·