Edit Videos and Design Images with Claude code or Codex.
$ npx -y skills add Monet-AI-Editor/Monet --agent claude-code
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.
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.
monet is a Claude Code plugin with 1 hand-picked skill, indexed on Flowy in the Content category. Install it with the command on its page. It includes Monet. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it