capcut-cli: A Deterministic Boundary, Running in Public

September 6, 2026 · 3 min read · open-source, automation, cli
For decision-makers, in 20 seconds

Problem: AI pilots stall in the same place. Nobody drew the line between what the model is allowed to decide and what the code has to guarantee, so there is nothing to test, nothing to audit, and no way back when a decision turns out wrong.

Solution: capcut-cli is that line, drawn in public. Timing, track layout, cut points and subtitle placement are code that returns the same result on every run and can be diffed, linted and rolled back. The model only chooses and phrases. The publish click stays with a person.

Business value: Around 3,100 people a month depend on that boundary holding: 415 stars, 11,877 npm installs in the last 30 days, 1,147 unique clones in the last two weeks, zero runtime dependencies. Five months in the open, with security fixes named in public rather than quietly patched.

Frame: Same rule I build into client systems that carry more risk than a video timeline. The tool is the evidence, not the offer.

415
GitHub-Sterne GitHub stars
seit April 2026 since April 2026
11,877
npm-Installationen npm installs
letzte 30 Tage last 30 days
1,147
Eindeutige Clones Unique clones
letzte 14 Tage last 14 days
0
Laufzeit-Abhängigkeiten Runtime dependencies
nur Node-Built-ins Node built-ins only

Where the model has to stop

The interesting question in an AI pipeline is never whether a model can do the work. It is where the model is required to stop.

Timing, subtitle placement, track layout and cut points are arithmetic. They belong in code that returns the same output on every run, that can be diffed against the last version, linted before it ships, and rolled back when it is wrong. Segment selection and hook copy are judgment calls, and those belong to a model or a person. Almost every stalled pilot I get called into has those two halves mixed together, which is why nobody can say what broke.

capcut-cli draws the line in the tooling itself, where it cannot be argued away: the CLI owns the deterministic half and hands back structured JSON, the model supplies only structured input, and the publish click stays with a person. That constraint is the reason an agent can drive it at all without anyone losing sleep.

The same split runs through client systems that carry more risk than a video timeline. PII redaction behind deterministic masking follows it exactly: rules first, the model only for what rules cannot decide.

What the tool actually is

capcut-cli creates and edits real CapCut and JianYing projects from the command line, working directly on the local draft store. No upload, no API key, no server in the background. The result opens in CapCut with every track still editable, not as a flattened export.

One install, four ways to drive it:

  • CLInpm install -g capcut-cli, then capcut <command> <project>
  • Library — typed imports (loadDraft, lintDraft, saveDraft), zero runtime dependencies
  • Queue runnercapcut serve reads JSONL jobs from stdin, for n8n, Make, or Coze
  • Agent sandbox — an experimental WebAssembly component with no filesystem, network, clock, or process access, so a model can inspect a draft without being able to touch anything else

What public adoption forces the project to do

Roughly 12,000 installs a month means other people’s pipelines break when I am careless. So the repository runs what I would expect from a system in operation:

  • CI on every push, with the WebAssembly build proving it has zero host imports before it ships
  • Versioned releases and a maintained changelog, currently v0.22.0
  • Security issues disclosed and fixed in public, with the affected versions named in the README instead of quietly patched
  • Both the CapCut and JianYing namespaces in one binary, and detection of newer CapCut layouts rather than assuming a single file is the only source of truth

None of that is glamorous. It is the difference between something that demos and something people can run unattended, which is also the difference I am usually hired to close.

Start here

Star, install and clone figures read from GitHub and npm on 6 September 2026. This is an independent project and is not affiliated with, sponsored by, or endorsed by CapCut, JianYing, or ByteDance Ltd.

Stack Stack

  • Node.js 18+, built-ins only (no native modules)
  • Direct read/write on the CapCut / JianYing draft store
  • Typed library exports (loadDraft, lintDraft, saveDraft)
  • JSONL queue runner for n8n / Make / Coze
  • WebAssembly component (experimental) with zero host imports
  • MIT, released as v0.22.0

Ähnliches Projekt auf dem Tisch? Similar project on your desk?

Am schnellsten klärt das ein Gespräch. Termin direkt hier wählen: The fastest way to scope it is a conversation. Pick a slot right here:

Scope in 24h · Fixed price before start · Pay per accepted milestone

From pilot to production

Running an AI pilot that is not production-ready yet? That is exactly what I do: audit, fixed-price scope, delivery in 2–6 weeks. That includes the part a pilot never shows: state that survives between runs and stays auditable, approvals where ownership is required, and a way back when a decision turns out wrong.

Scope my automation in 24h

Two fields. I reply within 24h with a written scope: either “yes, fixed price X, duration Y” or “no, here’s why not”.

See what you get first: sample scope →

Your details are used only to answer this request — no sharing, no newsletter. Privacy

Not ready to write it up? Book a 30-min call instead →

Request received

You’ll hear from me within 24h with an honest assessment.

Prefer to talk? 30-min roadmap call →
Get your AI pilot checked