AI video editor and design canvas for coding agents

Local-first video editing, a live design canvas, terminal-native agent workflows, real timeline operations, local transcription, and export in one macOS app.
Monet is no longer just an AI video editor. Use Claude Code or Codex directly inside Monet Canvas to design vector graphics, animate, simulate physics, and drop the result straight into your video timeline.
Built by Het Patel
curl -fsSL https://raw.githubusercontent.com/Monet-AI-Editor/Monet/main/install.sh | bash
Monet is a desktop video editor designed for people who want coding agents to work on video directly, not through a fragile bridge into another editor.
The app combines:
editorctl, a local API bridge, and MCPfaster-whisperMonet is not a chat demo wrapped around a timeline. The terminal, project graph, and editor runtime are the product.
Agent-native terminalClaude Code and Codex can run inside Monet's built-in terminal with project-aware context, live editor access, and deterministic commands througheditorctl.
|
|
Real timeline editingImport media, scrub, trim, split, move, duplicate, ripple edit, generate captions, add markers, and export from a real multi-track timeline. |
|
Monet Canvas — design alongside the editorA new artboard-based design surface inside Monet. Ask Claude Code or Codex to draw with Paper.js, simulate physics with Matter.js, or build any HTML/CSS/JS frame. |
|
editorctl, local API bridge, and MCP entrypoint for inspect/edit/export operations across both timeline and canvasfaster-whisper on-device by default, with OpenAI fallback when configuredShow in FinderPaperCanvas and PhysicsScene compositions plus title cards, lower thirds, kinetic text, audio visualizers — all auto-import as timeline assetsMost AI video workflows today still depend on a human driving Premiere, Resolve, or another editor by hand. Even when tools exist, they usually stop at prompts, scripts, or rough cuts.
Monet is built around a different model:
The goal is simple: make video editing something coding agents can actually operate.
Monet is currently macOS-first. Install with one command in your terminal — no Gatekeeper prompts:
curl -fsSL https://raw.githubusercontent.com/Monet-AI-Editor/Monet/main/install.sh | bash
This fetches the latest release ZIP directly (bypassing browser quarantine), installs Monet.app to /Applications, and launches it.
For a local packaged build from source:
npm install
npm run dist:mac
That produces stable release artifact names like:
release/Monet-macOS-arm64.dmgrelease/Monet-macOS-arm64.ziprelease/mac-arm64/Monet.appRequirements:
ffmpeg on your system path.envOptional local transcription runtime:
npm run setup:local-transcription
Start the app:
npm install
npm run dev
If you want Sentry and Aptabase enabled locally or in release builds, set env vars outside git-tracked files:
cp .env.example .env
Available vars:
MONET_SENTRY_DSNMONET_APTABASE_APP_KEYVITE_MONET_SENTRY_DSNFor local use, VITE_MONET_SENTRY_DSN can usually match MONET_SENTRY_DSN.
On first launch, Monet asks for:
Claude Code and Codex installation help is shown next to the terminal when needed, instead of blocking onboarding.
Monet's embedded terminal automatically launches Codex with -s danger-full-access so that editorctl can reach the live app API on localhost:51847. Without this flag, Codex's default read-only sandbox blocks outbound localhost connections and every editorctl command falls back to file mode.
This flag is injected by Monet's wrapper script (written to userData/bin/codex on each terminal start) and only applies when Codex is launched from inside Monet. Codex sessions started from any other terminal are unaffected.
Through the embedded terminal, editorctl, API bridge, and MCP surfaces, agents can operate both the video editor and the design canvas.
paperjs, matterjs, or html mode| Surface | Used by | Purpose |
|---|---|---|
editorctl CLI |
Claude Code, Codex, terminal scripts | Deterministic timeline + canvas commands inside the embedded terminal |
| MCP server | MCP-aware agent hosts | Same operations exposed as Model Context Protocol tools |
| HTTP API bridge | Anything that can curl localhost:51847 |
Fallback path; auto-discovers a free port if the default is busy |
[MONET] UserPromptSubmit hook |
Claude Code | Injects current activeView (canvas vs editor) into the agent's context every turn |
# Video editor
editorctl get-state
editorctl search-segments "terminal workflow"
editorctl export /tmp/monet-export.mp4 high 1080p mp4
# Canvas — Paper.js, Matter.js, or raw HTML
editorctl canvas-add-frame "Paper Layout" 1440 900 paperjs
editorctl canvas-add-frame "Glitch" 1280 720 paperjs
editorctl canvas-frames
editorctl canvas-run-paperjs <id> "var c = new Path.Circle({ center: view.center, radius: 100, fillColor: '#7aa2f7' });"
editorctl canvas-render-png <id> ~/Desktop/glitch.png
editorctl canvas-export ~/Desktop/my-canvas.json
Monet is intentionally local-first.
faster-whisper by defaultffmpeg.aiveproj.json files plus autosavesIf embeddings or transcripts do not exist yet, Monet should say that directly instead of pretending otherwise.
Monet projects are structured, inspectable, and tool-friendly.
That includes:
This is what allows coding agents to operate the editor directly instead of scraping the UI.
Monet already supports:
Monet is still evolving in areas like:
Monet does not collect project content for analytics.
That means:
Anonymous usage analytics are optional. Crash reporting is handled separately.
Telemetry keys are injected from environment variables at build time and are not stored in the repository.
npm run build
Other useful scripts:
npm run dev
npm run typecheck
npm run build:cli
npm run build:mcp
npm run dist:mac
src/main — Electron main process, project store, export, transcription, terminal, updater, analyticssrc/renderer — React app UIsrc/cli — editorctlsrc/mcp-server — MCP server entrypointresources — screenshots and app icon assetsrelease — packaged macOS artifactsMonet is already usable as a real macOS app, but it is still best described as an early public alpha rather than a finished mass-market editor.
If you want to help shape it:
Monet is released under the MIT License.
$ claude mcp add Monet \
-- python -m otcore.mcp_server <graph>