QA

quriosity-agent/qcut

Developer tools
41 stars Quality 40 Trend 40

QCut Open-source desktop video editing for people and AI agents. Edit on a multitrack timeline, generate media, or let Codex and Claude Code control QCut through its structured CLI.

Overview

QCut Open-source desktop video editing for people and AI agents. Edit on a multitrack timeline, generate media, or let Codex and Claude Code control QCut through its structured CLI. Download QCut · Watch the demo · Agent plugins · Build from source Most video editors are designed for either manual work or closed automation. QCut supports both. - Work in a familiar desktop editor with a live preview, multitrack timeline, text, audio, filters, stickers, transitions, and precise clip controls. - Generate images, video, speech, music, and avatars with the provider you choose, then add the results directly to the timeline. - Use the official or to inspect projects, edit timelines, generate media, transcribe footage, and export video. - QCut is free and open source. Timeline editing and export run on your machine, while optional AI features clearly use the external provider you select. Download the newest packaged build from the latest QCut release.

README

Why QCut?

Most video editors are designed for either manual work or closed automation. QCut supports both.

  • Edit by hand: Work in a familiar desktop editor with a live preview, multitrack timeline, text, audio, filters, stickers, transitions, and precise clip controls.
  • Create with AI: Generate images, video, speech, music, and avatars with the provider you choose, then add the results directly to the timeline.
  • Automate with agents: Use the official QCut Codex Plugin or QCut Claude Code Plugin to inspect projects, edit timelines, generate media, transcribe footage, and export video.
  • Own your workflow: QCut is free and open source. Timeline editing and export run on your machine, while optional AI features clearly use the external provider you select.

Download

Download the newest packaged build from the latest QCut release.

Platform Package
Windows x64 .exe installer
macOS Apple Silicon .dmg
Linux x64 .AppImage or .deb

QCut can also check for updates inside the desktop app or from the bundled CLI (see QCut CLI for how to run it):

qcut update --check
qcut update --yes

Agent Plugins

QCut ships one agent toolkit with manifests for both OpenAI Codex and Anthropic Claude Code. Both integrations use the same QCut CLI and editor-control skills, so agent actions stay visible and reproducible.

Codex Plugin

Install from the public repository:

codex plugin marketplace add Quriosity-agent/qcut
codex plugin add qcut@qcut

codex plugin add requires a recent Codex CLI (verified with 0.144.5). If the subcommand is missing, update the Codex CLI first.

Start a new Codex task after installation. Example requests:

Open my QCut project, inspect the timeline, and add captions.
Generate three B-roll options and place the best one on the timeline.
Check for the latest QCut release and update the app after I confirm.

Claude Code Plugin

Run these commands inside Claude Code:

/plugin marketplace add Quriosity-agent/qcut
/plugin install qcut@qcut
/reload-plugins

The equivalent non-interactive commands are:

claude plugin marketplace add Quriosity-agent/qcut
claude plugin install qcut@qcut

Editor-control tasks require the QCut desktop app to be running. CLI-only generation, analysis, and transcription can run without an open editor. The plugin never bundles API credentials; configure optional provider keys through QCut settings or its interactive CLI setup.

See the QCut plugin documentation for setup, diagnostics, local development, privacy, and update behavior.

QCut CLI

Every QCut build ships a structured command-line interface. It has 285 commands in 14 groups, every command accepts --json and returns a consistent envelope (status, command_id, duration_ms, data; the one exception is an async job, which answers { "status": "pending", "jobId": ... } for you to poll), and --help --json works at the root, group, command, and flag level.

qcut --help --json                                   # groups, commands, global flags
qcut gen image -t "A cinematic portrait" --json      # generate media
qcut analyze transcribe -i interview.mp4 --srt       # transcribe to SRT
qcut editor timeline export --project-id  --json # inspect a running editor
qcut compose render --config edit.qcut-compose.json --output final.mp4
qcut filter-lab catalog-independent --json           # filters QCut's own Metal renderer supports
Group What it covers
editor Control a running editor: projects, media, tracks, timeline, stickers, export, snapshots, pointer and keyboard input
gen Images, video, avatars, speech, music, voice conversion and cloning
analyze Video analysis and review, scene indexing, transcription, translation, consistency checks
edit AutoClip, upscaling, motion transfer, subtitles, audio cleanup, portrait presets, deflicker, sticker and sound search
compose Snapshot, plan, validate, apply, render, and package multi-resource edits from a manifest
filter-lab, effect-lab, text-lab, sticker-lab, transition Local labs that browse, render, and verify filters, effects, flower text, sticker references, and transitions from caches on the same machine; nothing third-party is bundled
draft Guarded import, verification, and export of Jianying Professional drafts
flow YAML pipelines and ViMax idea-to-video, script-to-video, and novel-to-movie stages
instances, system Pick the editor the CLI talks to; update QCut, manage keys, list models, estimate cost, run diagnostics

Running it. The agent plugins locate the CLI for you. To use it directly:

  • From a source checkout: cd qcut/qcut && bun install && bun run qcut -- --help. After bun run build, dist/electron/native-pipeline/cli/cli.js is the qcut entry declared in package.json.
  • From an installed desktop app: the same cli.js is embedded in the app bundle. Run it through the app’s executable with ELECTRON_RUN_AS_NODE=1, for example on macOS:
ELECTRON_RUN_AS_NODE=1 "/Applications/QCut AI Video Editor.app/Contents/MacOS/QCut AI Video Editor" \
  "/Applications/QCut AI Video Editor.app/Contents/Resources/app.asar/electron/native-pipeline/cli/cli.js" --help

On Windows and on Linux .deb installs the file lives at /resources/app.asar/electron/native-pipeline/cli/cli.js next to the executable (/opt/QCut AI Video Editor/ for the .deb). A Linux AppImage has no reachable app.asar: extract it once with ./QCut*.AppImage --appimage-extract and use squashfs-root/resources/app.asar/... with squashfs-root/qcut as the executable, or build the CLI from a source checkout. Wrap that command in a shell alias or script named qcut, or point the plugins at it with QCUT_CLI_PATH.

Editor commands need the desktop app running; generation, analysis, labs, and compose rendering do not. The full command reference is the bundled native-cli skill.

Authentication. The editor HTTP API always requires a bearer token. Set QCUT_API_TOKEN before launching the app to choose it; otherwise the app mints one per launch and publishes it, readable only by your user account, in ~/.local/state/qcut-pipeline/instances/.json (%LOCALAPPDATA%\qcut-pipeline\state\instances\.json on Windows). The CLI, the agent plugins, and the built-in MCP server pick that file up by port; other HTTP clients read it or pass --token.

Demo

Watch QCut in action

Product Tour

Text animation

Build typewriter entrances, wave loops, rotating exits, and other editable text motion directly in the timeline.

Full promo: English · 2K60 · 中文版 · 2K60

Multitrack editing

Arrange video, audio, text, captions, stickers, and effects on a professional timeline with live preview and precise clip controls.

AI media generation

Generate video from text, images, or avatars, compare supported AI models, and add the result directly to your edit.

Highlights

Area Capabilities
Editing Multitrack timeline, trim and split, text and text animations, captions, stickers, filters, transitions, masks, speed controls, portrait retouching with per-face adjustments, project covers, live preview
AI media Text-to-image, text-to-video, image-to-video, speech, music, voice cloning, avatars and presenters, transcription, translation, and media analysis
Automation 280-command QCut CLI with JSON envelopes, Codex Plugin, Claude Code Plugin, editor inspection and control, compose manifests that build editable projects
Media workflow Searchable media workspace, sound and sticker libraries, project organization, guarded Jianying Professional draft import, local filter, effect, text, and sticker labs
Desktop Windows, macOS, and Linux builds with native file access, bundled FFmpeg processing, and a QCut-owned Metal filter renderer on macOS

Privacy

QCut is local-first, not “every feature is offline.”

  • Manual editing, project storage, timeline operations, and FFmpeg export run locally.
  • Optional AI generation may upload the inputs you select to the configured provider. If you are signed in without your own provider key, those requests — including the media you select — are relayed through the QCut license server, which holds provider keys on behalf of authenticated users.
  • AI provider keys are not bundled; bring your own or sign in. One exception: QCut ships a shared Freesound API key so sound-effect search works out of the box until you configure your own.
  • Packaged builds check GitHub for updates at startup and then hourly.
  • The agent plugins use QCut’s structured CLI and visible editor state rather than a hidden cloud copy of your project.

Build From Source

Requirements

  • Bun
  • Node.js 18 or newer
  • Git

Run the desktop app

git clone https://github.com/Quriosity-agent/qcut.git
cd qcut/qcut
bun install
bun run electron:dev

Create distribution packages

bun run dist:win      # Windows installer
bun run dist:mac      # macOS DMG, run on macOS
bun run dist:linux    # Linux AppImage and deb

Documentation

Technology

  • Application: Electron, TypeScript, React, Vite, and TanStack Router
  • Media: Native and WebAssembly FFmpeg pipelines
  • UI: Tailwind CSS and Radix UI
  • Repository: Bun and Turborepo monorepo

Contributing

Issues and pull requests are welcome. Build QCut from source, create a focused branch, include tests for behavioral changes, and explain the user-facing result in the PR.

License

QCut is available under the MIT License.

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add quriosity-agent/qcut