0xsline/OpenChatCut
Open-source, local-first conversational AI video editor with a professional multi-track timeline, Agent Skills, MCP integration, and Remotion rendering.
About 0xsline/OpenChatCut
0xsline/OpenChatCut is an open-source project on GitHub, mainly written in TypeScript. Open-source, local-first conversational AI video editor with a professional multi-track timeline, Agent Skills, MCP integration, and Remotion rendering. It currently holds 1,850 stars and 0 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
AI Homed tracks it on the AI Video Projects board and on the AI AI Video Projects list.
GitHub Repository Details
README
OpenChatCut
简体中文 · English
Open-source ChatCut alternative · agent-native · local-first AI video editor
Let Codex, Claude Code, and the built-in agent read, edit, and export real video projects that remain fully editable. Website: openchatcut.com
Introduction · Product Tour · Quick Start · Agent / MCP · Community · Sponsors · Changelog · Star Growth · Contributing
From a single instruction to a real timeline: agents, media, previews, motion graphics, transitions, effects, and multitrack audio all work together in one project.
---
Sponsors
OfoxAI: Text, image, and video AI in one platform
OfoxAI is a unified API platform for text, image, and video AI, with video models from the Seedance, MiniMax (Hailuo), and Wan families. Choose models for AI applications, agents, creative ideation, image generation, and video assets through one platform. Explore OfoxAI models and APIs →
If OpenChatCut helps you, you can support its continued development on Ko-fi or Afdian.
---
What is OpenChatCut?
OpenChatCut is an open-source ChatCut alternative: a video editor that brings conversational agents and professional timeline editing into the same workspace. It is independent open source (AGPL), not affiliated with the commercial ChatCut product.
OpenChatCut = local video projects + multitrack timeline + AI agents + MCP + production-ready exports.
It does not merely generate a video that can no longer be changed. Every edit is written to real tracks, clips, transitions, captions, effects, and media inside the project. You can continue editing manually, undo or redo changes, save versions, or hand the project to another agent.
OpenChatCut is built for creators and developers who want AI to participate in the actual editing workflow without giving up professional control, rather than starting over from an empty chat box or an immutable generated result.
- Website: https://openchatcut.com
- Open-source ChatCut alternative guide: https://openchatcut.com/blog/open-source-chatcut-alternative
- ChatCut vs OpenChatCut: https://openchatcut.com/blog/chatcut-vs-openchatcut
- 🤖 Agent-native: the built-in agent and external MCP agents share the same editing tools.
- 🎞️ Real timeline: multiple video and audio tracks, transitions, effects, LUTs, zooms, and keyframes.
- 📝 Transcript-driven editing: word-level transcription, text-based cuts, pause handling, speakers, and linked captions.
- ✨ Generation and media: images, video, speech, music, sound effects, and online media search.
- 🧩 Motion Graphics and WebGL: editable motion templates, custom shaders, visual effects, and transitions.
- 👁️ Visual geometry: in-browser person segmentation and face-safe zones — captions avoid the speaker automatically, reframe follows the subject, and overlay graphics land in empty space.
- 📦 Production-ready exports: MP4, audio, captions, FCPXML, and complete project data.
- 🖥️ Local-first: projects and media stay on your machine by default, while API keys remain server-side.
Community
Join the OpenChatCut community to discuss workflows, share feedback, and follow development:
- Join Discord
- Scan the QR code below with WeChat.
---
Product Tour
The following screenshots show real OpenChatCut projects and editor states, not static mockups.
![]() Local project management — Create, import, duplicate, export, and continue editing multiple real projects. |
![]() Complete agent-driven editing — Generate music, invoke tools, and write transitions, captions, and multitrack media directly to the timeline. |
![]() Motion Graphics and agents — Browse motion templates or let an agent generate and assemble editable MG clips. |
![]() WebGL visual effects — Apply pixelation, duotone, fisheye, kaleidoscope, softening, light leaks, and more directly to clips. |
![]() Camera movement and zoom — Push, pull, slow zoom, fast zoom, and eased camera effects work directly with the timeline. |
![]() LUTs and color styles — Compare camera transforms and film looks in real time against a consistent reference frame. |
---
Why OpenChatCut?
Traditional editors excel at precise control. One-shot AI video generators excel at producing results quickly. OpenChatCut connects both approaches through one continuously editable project:
| Capability | Traditional timeline editor | One-shot AI video generation | OpenChatCut | |---|:---:|:---:|:---:| | Track- and clip-level precision | ✅ | ❌ | ✅ | | Modify a project with natural language | ❌ | ✅ | ✅ | | Inspectable and undoable changes | ✅ | Usually unavailable | ✅ | | Linked transcript and visuals | Partial | ❌ | ✅ | | Direct control from Codex / Claude Code | ❌ | ❌ | ✅ MCP | | Built-in and external agent collaboration | ❌ | ❌ | ✅ Shared tools | | Local projects and BYOK | Product-dependent | Usually cloud-based | ✅ |
The core editing loop:
Describe the goal → Agent reads the project → Produces verifiable edits → Writes to the timeline
→ Preview / adjust / undo → Captions and mixing → Export
---
Core Capabilities
| Area | Implemented capabilities | |---|---| | Timeline | Multitrack editing, move, trim, split, ripple edits, snapping, keyframes, markers, undo, and redo | | Visuals | WebGL effects, LUTs, chroma key, zoom, transitions, and custom shaders | | Audio | Multiple audio tracks, sound effects, background music, voice-over recording, loudness, auto-ducking, and vocal isolation | | Transcript | Transcription jobs, word-level editing, pause compression, search, speakers, and clip views | | Captions | Automatic captions, named styles, translation, timeline overlays, and SRT export | | Motion Graphics | Built-in templates, a secure sandbox, custom templates, and video rendering | | AI generation | Image, video, speech, music, and sound-effect jobs with progress tracking | | Media | Uploads, folders, online image/video/audio search, and Firecrawl visual-media fallback | | Export | MP4, audio, captions, FCPXML, project import/export, export history, hardware-aware H.264 acceleration, and resource-aware export queueing | | Agent | Built-in conversational agent, skills, proposal-based edits, and external Streamable HTTP MCP |
---
Community Resources
The OpenChatCut resource library is a shared catalog for reusable MG animations, sound effects, transitions, visual effects, zooms, and LUTs.
Discover and install
- Hover visual cards to watch the complete result, or play audio resources before downloading.
- Copy a resource's install URL into OpenChatCut's Extension Center, or download its original package.
- Browse the website catalog inside the editor and manage installed extensions locally.
Contribute a resource
1. Open Contribute a resource and choose its category. 2. Upload the resource and the category-specific preview inputs; the site renders the published preview. 3. Add the creator and license information, then submit it for review and publication.
Installable visual resources use the editor's openchatcut-plugin@1 format and runtime validation. Official OpenChatCut resources use the MIT license; community contributors select a license during submission, and each published card identifies its creator and license.
---
Use Cases
- Talking-head and interview editing: transcribe audio or video, remove mistakes, pauses, and repetition through text, then generate captions automatically.
- Fast multiformat assembly: import video, images, and audio, then let an agent create the rough cut, transitions, soundtrack, and pacing.
- Short-form and social content: reframe the canvas and generate titles, captions, voice-over, music, and visual packaging.
- Motion Graphics: use built-in templates or ask an agent to create editable motion-graphics clips.
- Developer automation: use MCP to let Codex, Claude Code, or another compatible client inspect and modify a real project.
Workflow
1. Create a project and import local media. 2. Edit manually on the timeline or describe the result you want. 3. The agent reads project context and invokes editing tools. 4. Review the proposal and preview the result, then apply, adjust, or undo it. 5. Finish captions, audio, effects, and color. 6. Export video, audio, captions, FCPXML, or the complete project.
---
Quick Start
Desktop installers
Download the latest macOS, Windows, and Linux builds from GitHub Releases. The release currently includes DMG installers for Apple Silicon and Intel Macs, an x64 Windows installer, and an x64 Linux AppImage.
These are early builds. The macOS packages are not yet signed or notarized, so the operating system may require manual approval on first launch.
Run from source
Requires Node.js 24.x and npm. The supported Node.js range is enforced by package.json, and .nvmrc selects the matching major version for Node version managers.
git clone https://github.com/0xsline/OpenChatCut.git
cd OpenChatCut
npm install
cp .env.example .env.local
npm run dev
Open:
http://localhost:5199
Only add the model or media-service credentials you actually use to .env.local. Features without configured third-party credentials report the missing key explicitly; local timeline editing, built-in media, and other configured capabilities continue to work.
Development launches are isolated per Git checkout/worktree by default. npm run dev and
npm run desktop:dev keep that checkout's projects, imported media, generation jobs,
credentials, settings, and local authorization state under its own profile in
~/.openchatcut/dev-profiles/. Use npm run dev:shared only when you intentionally need
the legacy shared development store.
Built-in Agent authentication
- API keys: open Settings → Agent model, choose a provider, and save its API key and model. Keys remain server-side.
- ChatGPT subscription: install the official Codex CLI 0.146.0 or newer, then open Settings → Agent model → OpenAI · Codex. Sign in through the browser or device-code flow, load the account's models, choose a model-specific reasoning effort (or keep its default), and select Codex from the chat model picker. OpenChatCut uses a dedicated Codex profile; the official CLI owns credential storage, token renewal, and logout, while OAuth tokens are never exposed to the browser.
- Claude subscription: OpenChatCut does not collect Claude OAuth credentials. Use Claude Code through the local MCP connection below. The built-in Agent can use Anthropic through an API key.
Agent local-path access (advanced)
Desktop agents can browse any local directory allowed by the operating system by default, including mounted media drives. browse_local_media lists folders and supported media, searches by filename or relative path and media type, and returns paginated results without importing. The agent can then use import_assets for up to 100 selected paths, import_asset for one path, or import_folder for a whole folder. Imports reuse media probing and reference registration, preserve source files, and skip duplicate content, including duplicates within one batch. Document files such as TXT, Markdown, DOCX, and PDF should be attached to chat instead. These tools require the desktop app.
To restrict local access, set a comma-separated value such as AGENT_IMPORT_ROOTS=/Volumes/Media,D:\Projects in .env.local; leave it empty for default unrestricted directory access. Explicit restrictions apply to both browsing and import. Source checkouts read the repository file at startup. Packaged desktop builds read it from Electron's user-data directory: ~/Library/Application Support/OpenChatCut/ on macOS, %APPDATA%\OpenChatCut\ on Windows, and $XDG_CONFIG_HOME/OpenChatCut/ (normally ~/.config/OpenChatCut/) on Linux. Restart after editing the file.
Local H.264 exports automatically prefer VideoToolbox on macOS and NVENC on compatible Windows systems, then fall back to software encoding. Tune render concurrency and the heavy-export limit with OPENCHATCUT_RENDER_CONCURRENCY and OPENCHATCUT_MAX_ACTIVE_EXPORTS, disable hardware encoding with OPENCHATCUT_DISABLE_HARDWARE_ENCODING, or override FFmpeg-side encoder selection with OPENCHATCUT_H264_ENCODER; see .env.example.
Desktop development
npm run desktop:dev
The desktop app uses an Electron shell with the same embedded services. The web development build and desktop build share project, agent, generation, and export logic.
---
Project Status
OpenChatCut is under active development. The editor, project format, and agent tools will continue to evolve. Prebuilt macOS, Windows, and Linux installers are published on GitHub Releases; running from source remains the most transparent option for development and troubleshooting.
The core timeline, local projects, built-in media, and manual editing do not depend on cloud services. Connected features such as AI models, online media, generation, and transcription are enabled only after you configure the corresponding services.
---
Using OpenChatCut with Codex / Claude Code
Install the single OpenChatCut Agent Skill:
npx skills add 0xsline/OpenChatCut
Then tell the agent Set up OpenChatCut. The installed router registers the
local MCP connection and loads the editor's 26 specialized skills on demand,
so the agent's skill list stays compact.
Custom skills live in a user-visible directory with the same layout as
~/.codex/skills / ~/.claude/skills:
~/.openchatcut/skills//SKILL.md (Windows: %USERPROFILE%\.openchatcut\skills\...)
Ask the agent to manage_skill create (or use the bundled skill-creator
workflow) and it writes the SKILL.md there — editable and shareable by hand.
Dropping a SKILL.md into that directory makes it available to the agent, and
selecting a workflow from the chat's / command or the creative-mode picker
activates it for the next message.
OpenChatCut exposes a Streamable HTTP MCP endpoint:
http://localhost:5199/api/external-mcp/mcp
The repository's root .mcp.json already contains the local connection. Before using timeline tools, run OpenChatCut and open the target project. Project listing, creation, and navigation tools do not require the editor to remain open.
Codex app/CLI and Claude Code use the same session workflow:
1. Call begin_edit_session and keep the returned editSessionId. Set approvalMode to manual (the default) or auto.
2. Pass that id to every project read/edit tool. Changes are applied only to an isolated draft.
3. Call review_edit_session when the draft is ready.
4. In manual mode, review, preview, select, and approve or reject the proposal inside the open OpenChatCut project. In auto mode, review_edit_session applies the complete draft immediately. The client can poll get_edit_session for applied, rejected, or discarded status.
Approval in Codex or Claude controls whether the client may call a tool. OpenChatCut project approval is required only for manual sessions; auto sessions explicitly bypass that review. Either mode commits the applied operations atomically as one undo step.
If an auto session becomes stale, it returns an error instead of falling back to manual approval; discard it and start a new session.
Only draft-safe project read/edit tools are exposed in these sessions. Generation, export, project deletion, and other immediate side-effect tools stay unavailable because a rejected proposal could not roll them back.
Codex
Add the following to your Codex configuration:
[mcp_servers.openchatcut]
url = "http://localhost:5199/api/external-mcp/mcp"
Claude Code
claude mcp add --transport http openchatcut \
http://localhost:5199/api/external-mcp/mcp
You can then describe an editing task directly to the agent:
Start an OpenChatCut edit session. Read the draft, add a scratch sound effect
at 8 seconds on the second audio track, and add a glitch transition between
the adjacent video clips. Submit the draft for review and wait for the user to
approve it in OpenChatCut before reporting that the edit was applied.
External agents invoke the same internal editing tools and EditorCore commands as the editor itself. There are no separate project formats that can drift apart, and the live timeline is not changed while an external draft is being prepared.
Protecting MCP access
When exposing the MCP endpoint yourself, configure:
OPENCHATCUT_MCP_TOKEN=your-token
OPENCHATCUT_EDITOR_URL=https://your-editor.example.com
Clients must send Authorization: Bearer . The current bridge is designed for a single user on one machine, not as a multi-tenant service.
---
Architecture
One shared set of agent tools and EditorCore commands connects the built-in agent, external MCP clients, the real timeline, local data, and production exports.
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript 6, Vite 8 |
| Editing core | Immutable timeline state, command layer, and proposal-based application |
| Agent | Vercel AI SDK 7 (Anthropic, OpenAI, Gemini, Kimi, Qwen, GLM, DeepSeek, MiniMax, Xiaomi MiMo, Mistral, xAI Grok by API key or SuperGrok/X Premium+ subscription sign-in, OpenRouter, OrcaRouter, OFox, and compatible APIs), Agent Skills, MCP SDK |
| Preview and visuals | Remotion Player, WebGL / GLSL |
| Server | Dual-host Vite / Electron plugins and a server-side keystore |
| Persistence | Shared local project store under ~/.openchatcut, IndexedDB cache, configurable local media directory, optional Cloudflare R2 |
| Desktop | Electron 43 |
| Export | Remotion, FFmpeg, FCPXML, SRT |
Directory Overview
| Directory | Responsibility |
|---|---|
| src/editor/ | Timeline state and commands, independent of UI and LLMs |
| src/agent/ | Agent assembly, tools, skills, progress, and settings |
| src/library/ | Library UI for Motion Graphics, sound effects, transitions, effects, LUTs, and more |
| src/transcript/ | Transcript





