A free, open-source CapCut for iPhone and Android — full mobile video editor, no account, no watermark, no subscription
AI runs on your computer
not yet reviewed by publik. It is live now; the founder has not reviewed this version yet.
kneecap
open source · on publik
Prices are for one typical use: one request of about 1,500 words sent and 375 words back. A higher quality score is better.
| Model | Quality | Per 1,000 uses |
|---|---|---|
| On your computer (Ollama, 4-bit download size) | ||
| Granite 4.2 3B2.2 GB | 9 | $0 |
| Phi-4 Mini2.5 GB | 6 | $0 |
| Llama 3.1 8B4.9 GB | 7 | $0 |
| gpt-oss 20B14 GB | 9 | $0 |
| Gemma 4 31B20 GB | 19* | $0 |
| Qwen3.5 35B-A3B24 GB | 19* | $0 |
| publik API | ||
| publik-fastGLM-5.3 Flash | 42 | $1.00 |
| publik-balancedMiMo-V2.6-Pro · kneecap | 46 | $10.00 |
| publik-smartGPT-6 Sol | 48 | $18.00 |
Quality: Artificial Analysis Intelligence Index v4.3.2, read 2026-09-22 (publik API models 2026-09-25); * = estimated by Artificial Analysis. Sizes: the Ollama library, read 2026-09-22.
Every step written out. No terminal experience needed. Pick your setup.
A local-first, fully offline mobile video editor, built for CapCut-mobile feature and visual parity.
kneecap is an independent, community fork. It is not affiliated
with, endorsed by, or sponsored by OpenCut, OpenCut-app, CapCut,
ByteDance, or TikTok Pte. Ltd. "CapCut" is referenced in this repo's
planning docs only as a functional/visual parity target for the editor
we're building — no CapCut trademarks, marks, or copyrighted assets are
bundled, redistributed, or reproduced here. See docs/DECISIONS.md for
the full attribution and naming posture.
kneecap is forked from
OpenCut-app/opencut-classic
— the archived-but-complete Next.js/Rust engine behind the original
OpenCut web editor — licensed under the MIT License. The original
copyright notice and license are preserved verbatim in LICENSE; see
NOTICE for the attribution statement and docs/THIRD_PARTY_NOTICES.md
for a full inventory of bundled third-party assets and dependency
licenses.
opencut-classic was archived by its maintainers on 2026-05-16. This
fork receives no upstream commits and owns its entire dependency and
security surface going forward — see docs/DECISIONS.md for what that
means in practice. It is unrelated to and not a redistribution of
the separate, actively-developed OpenCut-app/OpenCut rewrite.
kneecap strips the inherited engine down to its headless editing core — timeline, ripple/placement, effects, storage — and is being rebuilt as a touch-first, CapCut-mobile-shaped editor for iOS and Android, running fully on-device:
docs/DECISIONS.md §8.5.The full architecture and milestone plan lives outside this repo in the
project's planning documents; docs/DECISIONS.md is the in-repo record
of what's been ratified and why.
This repo is mid-fork: the inherited codebase is a Next.js 16 web app
(apps/web/) with the original desktop shell (apps/desktop/, GPUI) and
Rust/WASM compositor (rust/) still present.
M2 landed the headless engine extraction. The editing engine now
lives in packages/editor-core — EditorCore and its 12 managers,
timeline/placement/ripple/retime, the command system, storage and its
31 migrations, the renderer graph, and the frozen EDL v1 bridge
contract (docs/EDL.md). It contains no React, Next, or UI-library
imports, enforced two ways: the package type-checks standalone with
@/* mapped to its own src only, and scripts/check-headless.mjs
scans every file. apps/web consumes it and keeps working.
The mobile shell (apps/mobile/) does not exist yet — see the plan's
milestone list for sequencing. Treat what remains under apps/web/src
as inherited UI code being progressively adapted, not as the shipped
mobile product.
packages/editor-core/ — the headless editing engine. Framework-
agnostic TypeScript: no React, no DOM-desktop assumptions, no server.
Its react/ subdirectory holds the one React-aware file, the
useSyncExternalStore bridge. schema/edl-v1.json is the frozen
native-export contract; see docs/EDL.md.apps/web/ — inherited Next.js web application. Now the UI host for
packages/editor-core, and the dev harness for engine work.apps/desktop/ — inherited native desktop shell (GPUI), not a build
target for this project.rust/ — the Rust/wgpu compositor compiled to WASM (rust/wasm) and
its supporting crates (rust/crates/{gpu,compositor,effects,masks,time}).docs/ — architecture notes, EDL.md (the frozen EDL v1 bridge
contract — read this before writing a native exporter), DECISIONS.md
(ratified founder decisions), THIRD_PARTY_NOTICES.md,
RELEASING.md (how signed direct-distribution releases are cut —
plan M13's no-app-store section), and guides/ + publik-listing.md
(draft install guides and listing copy; repo docs only, not yet
published anywhere).scripts/ — offline-audit.{sh,mjs} (the CI gate that keeps the app
network-free), invariants.sh (the merge gate), check-headless.mjs
(the packages/editor-core import gate), and
generate-third-party-notices.mjs.MIT — see NOTICE for the required upstream attribution and
docs/THIRD_PARTY_NOTICES.md for third-party asset and dependency
licenses.