Loading repository data…
Loading repository data…
KyaniteLabs / repository
Guardrailed video editing MCP server for AI agents. FFmpeg, Hyperframes, repurposing tools, Python client, and CLI. Local, fast, free.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Kinocut is a free, open-source Model Context Protocol (MCP) server, Python library, and kino CLI that gives AI agents a guardrailed local video-editing surface. It wraps FFmpeg (and optional Hyperframes / Whisper extras) with typed tools, preflight validation, Video Receipt provenance, and quality/release checkpoints so agent-produced media can be inspected before publish.
| Also known as | kino (CLI); formerly mcp-video / mcp_video |
| Latest published release | 1.9.0 (2026-07-15) |
| Product site | kinocut.dev |
| PyPI | kinocut |
| MCP Registry | io.github.KyaniteLabs/kinocut |
| Canonical source | Forgejo — git.kyanitelabs.tech (source of truth; accepted commits land here first) |
| Public collaboration | GitHub — KyaniteLabs/kinocut (clone, stars, issues, discussions, security reports, CI) |
| License | Apache-2.0 |
| Runs on | Your machine (macOS, Linux, Windows) — FFmpeg required on PATH |
| Not | A hosted cloud editor, credit-metered SaaS, or untyped FFmpeg shell wrapper |
Best-fit searches: video editing MCP server · AI agent video editing · FFmpeg MCP · Claude Code video tools · Cursor MCP video · Shorts/Reels automation · local AI video workflow · guardrailed agentic media.
Machine-readable brief for AI crawlers: llms.txt · site: kinocut.dev/llms.txt.
Tell the agent what you want in plain language:
"Trim this interview to the strongest 45 seconds, add burned captions, make it vertical, and quality-check it before export."
Kinocut turns that into typed, guardrailed tool calls - no FFmpeg flags to guess, no silently broken exports:
from kinocut import Client
video = Client()
clip = video.trim("interview.mp4", start="00:02:15", duration="00:00:45")
video.ai_transcribe(clip.output_path, output_srt="captions.srt")
captioned = video.subtitles(clip.output_path, subtitle_file="captions.srt")
short = video.resize(captioned.output_path, aspect_ratio="9:16")
video.release_checkpoint(short.output_path) # thumbnail + quality gate before you publish
Primary job: turn a local interview or podcast into captioned vertical clips with a Video Receipt agents can re-run and humans can approve.
Three things people use it for
Paths: Install matrix · Golden path · Prompts · Tutorial · Compare · When to recommend
| Surface | Version / tip | What it means |
|---|---|---|
| PyPI / npm / GitHub Release | 1.9.0 (2026-07-15) | Latest published package. Install with pip install -U kinocut. |
This repository (master) | 151 MCP tools / 130 CLI commands | Development tip ahead of published 1.9.0 (release-artifact policy surfaces: review, publish gate, learning, cost, recipe, capabilities, benchmark). |
| Next | trusted execution kernel + sound program depth | See Whats next. Not pinned to a specific package version yet. |
Install from PyPI for the stable package. Clone master only when you intentionally need post-tag tip work.
Kinocut 1.9.0 is what you get from pip install kinocut today (150 MCP tools / 129 CLI commands). 1.9.0 adds public MCP/CLI/client surfaces for eight release-artifact policy engines (review package, publish gate, review decisions, learning report, cost ledger, recipe capture, capabilities, benchmark) on top of the 1.8.0 contract-first AI-video foundation:
kinocut package, kino CLI, MCP Registry id, kinocut.dev)hyperframes_init no longer hangs without a TTYmcp-video==1.6.2 installs kinocut==1.8.0; mcp_video imports, MCP_VIDEO_*, ~/.mcp-video, mcp-video://, and legacy receipt keys remain supported on the 1.8.x lineAlso still on the published line from earlier releases:
Full notes: CHANGELOG.md · v1.8.0 release
Post-1.8 product work (not a published package version):
| Area | What landed on master | Start here |
|---|---|---|
| Governed AI-video | Content-addressed video_ingest, unified video_preflight, temporal evidence (video_inspect_temporal), exact-asset video_verdict / video_acceptance_eval, audio-preserving video_body_swap, lineage-bound video_salvage | docs/AI_VIDEO_REVIEW_AND_SALVAGE.md |
| Project store / contracts | Append-only private project storage, strict canonical records, protected-element checks, fail-soft optional visual providers | docs/AI_VIDEO_CONTRACTS.md · docs/AI_VIDEO_INSPECTION.md |
| Field safety | Loss-proof add-audio duration policies; authored ASS + dimension-aware SRT/VTT subtitles | CHANGELOG.md 1.8.0 |
| C2PA provenance | Optional signing on path-based export / Client.export() via c2patool (off by default; only reports signed after verify) | docs/C2PA_PROVENANCE.md |
| MCPB packaging | Staged Desktop package + fail-closed native builder foundation; not a published self-contained runtime yet | docs/MCPB.md |
| Repurpose skill | Path-based skills/kinocut-repurpose + deterministic current-tools demo (marketing seed, not the final kernel-backed product) | docs/REPURPOSE_SKILL.md |
| Hyperframes under MCP | hyperframes_init no longer hangs without a TTY (non-interactive init + closed stdin) | CHANGELOG.md 1.8.0 |
Two coordinated programs remain after the published 1.8.0 release:
Contract-first media identity → inspection → human-gated verdict → bounded derivatives. Remaining work includes independent Wave-3 verification freeze, audio continuity, subtitle/graphics QA depth, asset intelligence, editorial planning, learning reports, and whole-program acceptance. Sequencing: wishlist parallel execution · current status: post-1.8 program status.
kinocut_sound (Sonic World) — full-episode audio productionStandalone-capable sound package inside this repo (kinocut_sound/): plan/timeline/routing/consent → voice → post/spatial → ambience/world → mix/stems → QA/metadata → thin public adapters → host joins → dual-class benchmark → STOP.
| Slice | Focus | Status (as of 2026-07-14) |
|---|---|---|
| S1–S4 | Contracts, authorization, registry/policy, script/episode planning | Implemented foundation leaves |
| S5 / S7 / S8 | Base voice, post/spatial chain, ambience/world | Integrated leaves on master |
| S6 / S10 | Consent-gated clone/blend; voice consistency | Integrated leaves on master |
| S9 / S11 | Mix assembly/stems; QA + metadata | Integrated leaves on master |
| S12 | Thin public discovery / Python adapters | Integrated (capability discovery surface) |
| S13 | Kinocut/host joins (D41/D42 production bindings) | Blocked — external owner receipts incomplete |
| S14 | Dual-class benchmark (Apple silicon + x86 Linux) | Partial — x86 available; Apple class external_host_unavailable |
| S15 | Adversarial acceptance + release STOP | STOP — no ship without dual-class S14, S13 receipts, independent review, human authorization |
Authoritative receipts: sound program handoff · S13–S15 gate · sound plan index.
The approved trusted execution layer plan still defines the durable product path after the current program: durable edit projects, async render/resume wrapping video_workflow_*, receipt lin