Design & Frontend

capcut-cli: Edit CapCut/JianYing Drafts from the Terminal

Create and edit real CapCut/JianYing projects from any terminal or LLM agent — subtitles, timing, speed, templates, long-form-to-shorts — no API, no server, and every track stays editable in CapCut.

69/ 100
Recommended

Generally reliable with disclosed limitations; trial as directed and keep a rollback path.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 891
Last updated
11d ago
License
MIT
video-editingcapcutjianyingcli
+4subtitlesdraft-content-srt-exportvideo-to-shorts

What does this skill do, and when should you use it?

capcut-cli is an independent, unofficial MIT-licensed CLI that reads and writes the local CapCut/JianYing draft store (draft_content., draft_info., and related files) directly: JSON in, JSON out, no uploads. It covers both CapCut and JianYing enum namespaces, and since v0.11 detects and synchronizes edits across every readable timeline target. Install via npm with Node >= 18; there is also a zero-dependency typed library, a JSONL queue runner (capcut serve), and an experimental zero-capability Wasm component for read-only agent review. The companion Agent Skill (skills/capcut-edit/SKILL.md) teaches agents to inspect drafts with progressive disclosure, route multi-step recipes through deterministic scripts, and respect invariants like closing the project and .bak backups.

  • Reads local draft JSON and inspects projects via info/tracks/materials/segments, outputting JSON by default or tables with -H
  • Edits video/audio/text tracks: trim, speed, volume, opacity, transitions, masks, keyframes (ken-burns, fade animations)
  • Handles subtitles: Whisper transcription with word-level karaoke timing, SRT/VTT import-export, multi-language draft cloning via translate
  • Commits batch writes transactionally via capcut batch (one failure writes nothing), conflict-checking and syncing every readable timeline with .bak snapshots
  • Cuts long-form to shorts: cut combined with detect-scenes, detect-silence, and detect-retakes, stamping titles and CTA text
  • Builds editable drafts from JSON specs via quickstart/compile; render produces a low-res FFmpeg proxy preview, not a final export
Good fit
  • Short-form creators who need to batch-fix subtitle text, normalize volume, or shift timing without clicking through the CapCut UI
  • Builders of LLM pipelines who want raw recordings turned into styled, editable drafts — with the final publish click kept human
  • Users cutting long interviews or documentaries into shorts: use cut, detect-silence, and detect-retakes to find usable segments and stamp titles/CTAs
  • Teams running multilingual channels: clone drafts into other languages with translate and export SRTs
  • Automation operators on n8n/Make/Coze feeding JSONL jobs to capcut serve for queue-based processing
  • Anyone wanting a least-privilege AI review pass before editing: the Wasm inspect/diff/lint tools are read-only with no ambient capabilities
Not a fit
  • Anyone expecting a final rendered export: render is a low-res FFmpeg proxy only; the real render happens inside CapCut/JianYing
  • Environments without Node.js >= 18; caption needs Whisper and render needs FFmpeg, so missing optional tools disable those commands
  • Teams requiring official support or warranty: the project is explicitly unaffiliated with ByteDance, with priority support only via sponsorship tiers ($25/mo and up)

How do you install this skill?

Before you use it
  • Close the project in CapCut/JianYing before any write or your edits may be overwritten; recovery relies on .bak (one step) and capcut restore.
  • anim.sh hardcodes a macOS-only effect cache path; cross-platform cloning to Windows is self-documented as unverified.
  • SKILL.md self-describes as v0.11 while the repo is at 0.22.0 — the skill docs lag the current command set; publisher identity is unverified by FollowSkills.
  • A valid JSON write is not proof an effect renders (pitfalls.md warns alpha keyframes do nothing); visually confirm in CapCut.
  • First use of a not-locally-cached animation/effect requires CapCut to fetch resources from its online catalogue.
  • --force-license bypasses the license refusal and puts copyright responsibility on the user; fixtures from versions ≤0.17.2 contain device identifiers — always run the latest version.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
  • Local filesystem
Install first
  • Node.js >= 18 (npm package capcut-cli)
  • Optional: Whisper for caption
  • Optional: FFmpeg/ffprobe for render and media metadata

Install globally with npm (host requires Node >= 18):

npm install -g capcut-cli

Try without installing:

npx capcut-cli <command>

Build from source:

git clone https://github.com/renezander030/capcut-cli
cd capcut-cli
npm install
npm run build
npm link

For Agent Skills hosts like Claude Code, place the skill from the repo's skills/capcut-edit/SKILL.md into your host's skill directory per its convention.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Batch-fix every subtitle in project my-first replacing the wrong wording, and set all segment volumes to 0.5
  • Create a CapCut draft from clip.mp4 and captions.srt, then export an SRT for me to proofread
  • Cut interview.mp4 into a few portrait shorts, removing silent stretches and stamping a title plus subscribe CTA on each
  • Add a fade-in animation and a ken-burns scale-and-pan keyframe to the opening video clip

Start with capcut doctor to check installed media/transcription capabilities, then capcut quickstart my-first --video clip.mp4 --srt captions.srt for your first editable draft. The skill triggers when a user mentions capcut, jianying, subtitles, or draft_content.: the agent inspects progressively (info/doctor/diagnose/tracks/segments) and must route any multi-step recipe through parameterized scripts in scripts/ rather than improvising commands. Key conventions: close the project in CapCut before writing; use capcut batch for bulk writes (transactional, --continue-on-error only with explicit user consent); time formats accept 1.5s, 500ms, 1:30, and more; IDs match by the first 6+ characters of the UUID; enumerate slugs with capcut enums --<category>, adding --jianying for the JianYing namespace; capcut describe is the source of truth for agent schemas.

What are this skill's strengths and limitations?

Pros
  • Zero dependencies, no API/MCP server/HTTP daemon — works directly on the local draft store and keeps every track editable in CapCut
  • Transactional writes with .bak and rolling history snapshots, plus multi-timeline synchronization since v0.11
  • Covers both CapCut and JianYing namespaces in one binary, so Chinese-market users work natively
  • Deliberately agent-friendly: deterministic script discipline, a describe schema, and a read-only Wasm mode for least-privilege review
Limitations
  • Draft paths are documented only for macOS and Windows — no Linux CapCut/JianYing
  • render is a low-res proxy preview only; final rendering and publishing still require a human inside CapCut
  • README warns that fixture bundles up to v0.17.2 contain unsanitized device identifiers and versions up to 0.17.0 had injection/temp-file issues — upgrade to 0.18.0+/0.17.1+
  • Key features depend on optional tools: Whisper (transcription), FFmpeg (render/scene detection), ANTHROPIC_API_KEY (translation)

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
capcut-cli: Edit CapCut/JianYing Drafts from the Terminal this page 69 · Recommended ★ 891 11d ago MIT
Narrator AI Skill 56 · Use with care ★ 3.1k 3mo ago MIT
OfficeCLI Morph-PPT Skill 60 · Recommended ★ 32k 12d ago Apache-2.0
Codex Image Generation Skill (imagegen) ✓ OpenAI · Official 56 · Use with care ★ 129k 11d ago Apache-2.0
Video ShotCraft: Cinematic Product Video Skill 61 · Recommended ★ 12k 12d ago Apache-2.0

Unlike community MCP-based approaches (e.g. capcut-mcp), capcut-cli is single-binary and serverless, speaking JSON directly to the draft store; the sibling project draftcat (Go, MIT) carries the same no-API design into governed AI pipelines.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Recommended
69/ 100 5-point scale 3.5 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust19 / 25 · 3.8/5

Evidence shows strong safety design: every write is conflict-checked, atomic, with .bak plus rolling history snapshots and a `capcut restore` command; `--force-write` requires explicit user acceptance; `--dry-run` previews mutations; batch writes are transactional by default; Wikimedia downloads are license-classified with restrictive licenses refused unless `--force-license`; non-Wikimedia URLs refused before any network call. Deductions: writes directly to user project files (broad write surface, mitigated by backups); anim.sh hardcodes a macOS-only JianYing cache path with cross-platform behavior unverified; publisher identity unverified. No red-line risk found.

2Reliability15 / 20 · 3.8/5

The repo ships a real CI workflow (Node 18/20/22 matrix, build+test+lint) plus a committed smoke-test suite (_test.sh) covering the skill's key paths — animations, ken-burns, masks, text-ranges, import-srt, --jianying namespace, Wikimedia refusal and the license classifier — with JSON-level assertions including negative (rejection) branches, so the static ceiling is lifted. Deductions: nothing was executed in this review; the type-detection test passes with a fake .jpg, indicating lenient validation; pitfalls.md itself flags the Windows effect-cache path rewrite as 'unverified', and the hardcoded macOS EFFECT_CACHE_BASE is a diagnosability gap.

3Adaptability12 / 15 · 4.0/5

Trigger conditions are explicit in the description (capcut, jianying, subtitles, draft_content., etc.); scenarios are clear (subtitles, timing, speed, templates, long-to-short); JianYing/Chinese namespace support is strong (--jianying, Chinese member-name slugs, Chinese docs, JianYing-first quickstart); core function is fully local with no dependency on overseas services (Wikimedia is an optional input). Deductions: some boundaries live in externally linked docs (e.g., JianYing encryption support); the first-open online effect-catalogue fetch is not adequately declared as an environment constraint.

4Convention11 / 15 · 3.7/5

Documentation is well layered (SKILL.md → references → scripts → assets progressive disclosure), MIT license explicit, versioned 0.22.0 with CI, changelog references, trademark disclaimer and demonstrated maintenance responsiveness. Deductions: SKILL.md self-describes as v0.11 while the repo is 0.22.0 — the skill lags the current command set (compile/diagnose paths), a versioning inconsistency; private project names like `knossos-recon` appear unexplained; the sponsor-tier governance model can fork docs from free functionality.

5Effectiveness7 / 15 · 2.3/5

The value claim is clear: no API, zero runtime deps, output is a real CapCut/JianYing draft that stays editable — high marginal value over hand-editing JSON; tests assert structurally correct outputs (animation entries, keyframes, text segments). Scored at the static ceiling of 7: direct usability was not independently executed, and pitfalls.md itself warns that a valid JSON write is not proof an effect renders, so visual confirmation is still needed.

6Verifiability5 / 10 · 2.5/5

Primary material is auditable: committed test script, CI workflow, reproducible assertions, and pitfalls.md distinguishes 'verified (CapCut macOS 8.5.0 beta)' from 'unverified' claims — a good fact/inference separation. Deductions: no independent execution in this static review; key claims such as the 'empirically-verified effect_ids' rest on the author's account of a third-party project, with limited cross-source corroboration.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 10, 2026 Reviewed revision a9f46e111ea9 Review evidence[1][2][3][4][5][6][7][8][9][10][11][12][13]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does it cost anything?
No — MIT licensed and free forever. Sponsorship tiers ($5/$25/$100 per month) buy release notes, Pro template packs, and team commercial-use confirmation, but all core functionality works without paying.
Are my projects uploaded anywhere?
No. All commands read and write local draft files with no upload and no background service; only a few commands need the network, such as Wikimedia media downloads in add-video and translate (which requires ANTHROPIC_API_KEY).
What if an edit corrupts my draft?
Every write is conflict-checked, prepared atomically, and given .bak plus rolling history snapshots per timeline target; always close the project in CapCut first and avoid --force-write.
Which CapCut/JianYing versions are supported?
The CLI uses a version-aware schema and tracks new releases (v0.22/v0.23 explicitly address CapCut 9.1/9.3 and JianYing 5.9+); see docs/version-support.md for the full matrix.

Related skills