The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Kinocut listing page.
Guardrailed video editing MCP server for AI agents.
Local-first FFmpeg tools, Video Receipts, quality gates, Hyperframes, and Shorts/Reels repurposing —
for Claude Code, Cursor, and any MCP client. Free, Apache-2.0. Formerly mcp-video.
Demo • Status • 1.15.1 • Changelog • Beyond • Install • Quick Start • Tools • Tool Reference • Rescue • 360 assembly • AI-video • Agent Skill • kinocut.dev • What is Kinocut? • FAQ • llms.txt
Kinocut is a free, open-source video editing MCP server and AI agent workflow engine (plus Python client and
kinoCLI) that lets AI agents trim, caption, repurpose, and quality-gate local video media with typed tools and Video Receipts — not invented FFmpeg flags.
TL;DR: Kinocut is a free, local-first video editing MCP server (plus Python client and kino CLI) so AI agents can trim, caption, repurpose, and quality-gate media with typed tools and Video Receipts — not invented FFmpeg flags.
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.15.1 (2026-08-31) |
| Product site | kinocut.dev |
| PyPI | kinocut |
| MCP Registry | io.github.KyaniteLabs/kinocut |
| Source | GitHub (canonical code, issues, PRs, CI, and releases) · Forgejo (downstream mirror; automated sync cutover pending verification) |
| 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:
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.15.1 (2026-08-31) | Latest published Kinocut. Install with pip install kinocut. |
This repository (master) | Development tip · 201 MCP / 172 CLI | Adds four guarded local Revideo operations and verified sound mastering; not yet published. |
| Next public release | TBD | Human residuals (directories, launch posts) stay gated; further bumps need a new go-ahead. |
Install from PyPI for the stable package, including the optional object-matte extra. Clone master when you want development-tip work such as the guarded Revideo operations; see docs/PRODUCT_MATTE.md for the published object-matte workflow.
Kinocut 1.15.1 is a maintenance release on top of 1.15.0: the mcp-video compatibility shim 1.6.12 carries the registry ownership marker, the legacy io.github.KyaniteLabs/mcp-video registry entry was republished so directory listings (Glama, PulseMCP) point at living metadata (#469), and the object-matte engine now streams decode with scratch-directory caps — bounded memory on large inputs (#414). Surface stays 196 MCP / 167 CLI — no new public tool name.
Kinocut 1.15.0 (2026-08-19) was the Windows/diagnostics release: first-class Windows support and honest diagnostics on top of 1.14.x (same 360 dual-cam assembly and performance surface), driven by a community bug report. Surface stays 196 MCP / 167 CLI — no new public tool name.
kino --mcp keeps the "requires the 'mcp' package" hint only when mcp is genuinely absent; every other server-tree import failure now prints its real cause (filesystem paths redacted, markup-safe) and exits non-zero. Reported in #445.mcp-server-import check imports the same server tree --mcp uses, so kino doctor can no longer report OK while MCP mode is broken.kino --mcp importable on Windows; lock errors follow a contention-only contract; kino --help no longer crashes on legacy cp1252 consoles; and a windows-latest CI smoke job (lint, import checks, kino doctor, public-surface tests) guards the platform on every change.360_assembly_plan (desk / table / front_back, split / switch / PiP / single) → approve → FFmpeg v360 render. MCP: video_intent goal= + video_review_decide. Python: Client.propose_360_assembly / decide_360_assembly / render_360_assembly. Raw .insv / .360 rejected. Director is a plug (local first; cloud opt-in). Not an optimized-AI claim. Guide: docs/360_ASSEMBLY.md.filter_complex (source audio kept); sampled quality-gate analyze window; SHA-256 path/mtime cache; merge can skip re-probe when infos= is supplied; batched 360 storyboard stills; lazy mcp_video / CLI / Client.search_tools; doctor skips npx --yes unless Hyperframes is already on PATH.import kinocut no longer eagerly loads Client/engines (PEP 562). from kinocut import Client and kinocut.Client is mcp_video.Client still hold.repurpose default --min-score 80; shorts-package fail-closed unless --allow-fail; durable MCP video_repurpose does not apply min_score.mcp-video==1.6.12 installs kinocut==1.15.1. mcp_video imports, MCP_VIDEO_* env vars, ~/.mcp-video data, mcp-video:// resources, and legacy receipt keys remain supported on the 1.14.x+ line.Also already on the published line from 1.13.x:
video_intent / intent (~10 verbs) to dry-run plans without silent media mutationsvideo_review_run / video_review_decide (blackdetect/LUFS + first-15s inspection)Full notes: CHANGELOG.md · published v1.15.1
1.15.1 is the latest published release. Live directory submissions and launch posts remain operator/human residual (docs/HUMAN_GATES.md) and are not claimed complete.
While the core FFmpeg editing, 360 assembly, workflow engine, still/plate editing, AI-video review/salvage, and thin sound join are integrated on the published 1.15.x line, the following surfaces remain gated, partial, or unreleased:
mcpb/) is labeled user-configured-local-access. It requires local Node/Python/Kinocut/FFmpeg, is not a sandbox, and is distinct from future native-runtime work. See docs/MCPB.md.kinocut_sound): The shipped public boundary remains the thin S12 join; S13 packages and host joins exist as deeper internals. The historical July S14 receipt records two synthetic hardware classes, while the later August rerun records Apple Silicon and an explicit external_host_unavailable x86 residual. Its 64 clips of 0.15 seconds prove bounded plumbing, not a full episode and not human listening approval.sound_voice_batch request and retain audio for mixing. Caption speech does not translate text or promise neural voice quality. No generation adapter exists; credentials or discovery alone do not establish execution.hyperframes-remove-background command (--model birefnet-general, optional extra kinocut[object-matte]). Default remains people. Not a new MCP/CLI name. Published in 1.15.1 (streaming decode + scratch caps, #414); the ONNX extra installs via kinocut[object-matte]. Guide: docs/PRODUCT_MATTE.md.Product checklist: ROADMAP.md.
Agents can plan, validate, render, recover, and prove a multi-step local video job from
a single JSON job-spec — through MCP (video_workflow_*), the CLI (workflow-*), or the
Python client (Client.workflow_*) — with receipts strong enough for another agent or a
human to trust before and after a render. Ops are a small allowlist
(probe | trim | resize | convert | merge | add_text | composite_layers) mapped 1:1 to the same vetted engine
functions the individual tools use; media references are symbolic and workspace-confined;
everything fails closed.
The render receipt records per-step input/output hashes, a resume cursor, and a cleanup manifest, all with workspace-relative paths:
--all-variants emits N distinct outputs from one declaration, and --resume continues a
job that failed with its intermediates kept (fail-closed on a changed spec). Full schema,
@ref grammar, variants, resume, and cleanup are in
docs/WORKFLOWS.md; a runnable spec is in
examples/workflows/.
In Kinocut, a contract-first path is provided for agent-edited media that must stay attributable and reviewable:
video_ingest / video-ingest)video_preflight, video_inspect_temporal)video_verdict, video_acceptance_eval)video_body_swap, video_salvage), each with lineage and a fresh non-approved review slotThere is no force/bypass flag. Analyzer output alone cannot approve. Stale, aliased, or protected inputs fail closed. Operating guide: docs/AI_VIDEO_REVIEW_AND_SALVAGE.md. These surfaces are fully integrated in the published 1.15.x line — see Status and releases.
For "fix this clip" requests where the story and timeline must remain unchanged, use the review-first rescue pipeline. Plan and inspect the diagnosis, approve only safe repair IDs, render, then inspect the verified package. The source stays immutable; master and universal sharing copy are always verified; optional captions remain sidecars. See docs/RESCUE.md for CLI, MCP, Python, cancellation, resume, and stable errors.
composite-layers / video_composite_layers adds a spec-driven ordered layer stack for agents that need more than two-shot overlay primitives. It supports image, video, and solid layers; normal alpha compositing; per-layer opacity; x/y placement; transform sizing; timing windows; and mask/matte alpha sources — plus full-canvas blend modes (multiply, screen, overlay, darken, lighten) and rotation with a new pivot reference point. Dry-run plans and deterministic layer_plan v2 receipts capture source, filtergraph, and output hashes.
Use composite-layers when an agent needs a planned stack of overlays, mattes, lower thirds, blurback plates, or platform variants that should be reviewed before rendering. A non-normal blend layer must be full-canvas (position {0,0}, full opacity, no scale/mask/timing) or it fails closed; output is video-only. Positioned/scaled/masked/timed blend, rotation + mask, and per-layer effect routing are tracked as later phases so this surface stays deterministic and preflightable.
Any stitched equirect 360 MP4 (Insta360, Ricoh Theta, GoPro MAX, DJI, …) can become a two-cam 16:9 or 9:16 edit without a new tool name. Export from the camera app first — Kinocut does not stitch .insv or GoPro .360.
Agents: video_intent with a 360/desk/table goal and source=, then video_review_decide. Full contract: docs/360_ASSEMBLY.md.
Kinocut treats multi-still packages as first-class media — plan → receipt → fail-closed gate, same safety posture as video rescue. Requires pip install "kinocut[image]"; run kino doctor to verify the image stack.
Workflow: establish a hero plate → edit beats toward it → match shared WB/exposure → grade (optional signal LUT) → cohesion gate.
still-gate fails closed on luma spread and shadow green/cyan metrics; every tool writes a JSON receipt with hashes and gains. Paid generative backends stay off by default (prefer=edit, allow_paid_gen=false). Full guide: docs/STILL_PLATES.md.
Kinocut is built to be findable and citable by both search engines and AI answer engines:
llms.txt with entity facts, install commands, and safety rulesio.github.KyaniteLabs/kinocut| Kinocut | Raw FFmpeg in agent shell | Typical cloud editor API | |
|---|---|---|---|
| Interface | Typed MCP / Python / CLI | Free-form flags | Hosted HTTP API |
| Preflight | Guardrails before render | Agent invents flags | Vendor-specific |
| Provenance | Video Receipts + hashes | Ad-hoc logs | Vendor dashboard |
| Media location | Local-first | Local | Upload required |
| Core cost | Free (Apache-2.0) | Free | Often metered |
AI agents can write FFmpeg commands, but they should not have to guess flags, parse brittle stderr, or silently publish broken media. Kinocut gives agents typed operations, inspectable tool metadata, structured results, preflight guardrails, and quality checkpoints so a video workflow can be automated and reviewed without turning into shell-command roulette.
Use it when you want an AI assistant to:
Prerequisite: FFmpeg must be installed and available on PATH.
Run without a global install:
Or install with pip:
For Claude Desktop-style MCPB installs, Kinocut includes a staged local package at
mcpb/ and a local build script:
This unsigned user-configured-local-access package launches an existing Python environment with the exact Kinocut version and still requires local Node, FFmpeg, and ffprobe. It is not a sandbox. Native self-contained bundles remain separate future work. See docs/MCPB.md.
Optional C2PA signing for final MP4 exports is available on the development tip when
c2patool and a manifest/signer are configured. Signing is off by default and only reports
signed after a verification read succeeds. See docs/C2PA_PROVENANCE.md.
Hyperframes tools additionally need Node.js 22+ and a resolvable Hyperframes CLI. Install/pin Hyperframes in the active Node package layout, add hyperframes to PATH, or set MCP_VIDEO_HYPERFRAMES_COMMAND.
The core install covers all FFmpeg editing tools. Optional features ship as extras — install only what you use:
| You want | Install | Approx. extra size |
|---|---|---|
| Speech-to-text subtitles (Whisper) | pip install "kinocut[transcribe]" | ~1 GB (torch) |
| Image analysis (colors, layout, contrast) | pip install "kinocut[image]" | ~50 MB |
| Vocal/instrument stem separation | pip install "kinocut[stems]" | ~2 GB (torch + demucs) |
| AI upscaling | pip install "kinocut[upscale]" | ~2 GB (Python ≤3.12) |
| Procedural audio/music tools | pip install "kinocut[audio]" | ~30 MB (numpy) |
| Everything AI | pip install "kinocut[ai]" | several GB |
Mix freely, e.g. pip install "kinocut[transcribe,image]". Run kino doctor afterward — it reports exactly which features are available and what is missing.
Kinocut preserves the original surface during the rename window. Existing installs can upgrade without changing code:
Published mcp-video==1.6.12 is a metadata-only compatibility installer for kinocut==1.15.1. The mcp_video import, mcp-video command, MCP_VIDEO_* environment variables, ~/.mcp-video data directory, mcp-video:// resource URIs, and existing receipt keys remain supported on the 1.14.x+ line. New integrations should use kinocut, from kinocut import Client, and the kino command.
Kinocut es un servidor MCP de edición de video para agentes de IA. La última versión publicada es 1.15.1 (pip install kinocut, 196 herramientas MCP / 167 CLI). Incluye ensamblaje 360 de dual-cam desde un MP4 equirectangular ya stitched (no .insv), import perezoso PEP 562 y el mismo surface FFmpeg tipado para recortar, unir, subtitular, mezclar audio, efectos y reutilizar contenido (Shorts, Reels, TikTok), motor de flujos (workflow) con recibos verificables, rescate de video, revisión AI-video gobernada y barreras de seguridad antes de renderizar. Programas humanos residuales (directorios, lanzamiento) no se reclaman completos.
Requisito: FFmpeg instalado y disponible en el PATH.
Para Claude Code:
kino doctor informa qué funciones están disponibles y qué falta instalar. La documentación completa está en inglés; los mensajes de error principales son bilingües.
Prove the install works before wiring an agent host:
Success criteria and failure recovery: docs/GOLDEN_PATH.md.
Shareable pack (receipt + quality + media): python scripts/generate_golden_pack.py → demo/golden-pack/.
From a clone of this repo, run the smallest confidence workflow before wiring an agent host:
The workflow generates a tiny source clip, creates a checked vertical video, runs quality/release checkpoint steps, and writes workflows/05-confidence-baseline/output/video_receipt.json.
Proof notes live in docs/proofs/. Public marketing claims (version, tool counts, URLs) live in docs/public_claims.json and are CI-guarded.
Then ask your agent:
Trim this interview into a 45-second vertical clip, add burned captions, normalize the audio, make a thumbnail, and create a release checkpoint before export.
Kinocut includes a public agent skill at skills/kinocut/SKILL.md. Use $kinocut in compatible agent hosts when you want the agent to choose between the MCP server, CLI, and Python client while preserving the inspect, edit, verify, and human-review workflow.
For path-based short-form packages from current tools only (no invented commands, no external publish), see skills/kinocut-repurpose/SKILL.md. That skill is an explicit marketing seed; the durable kernel-backed repurposing product is still on the trusted-execution roadmap.
| Workflow | Example prompt |
|---|---|
| Social clips | "Turn this landscape recording into a captioned TikTok and YouTube Short." |
| Podcast production | "Find the strongest segment, trim it, normalize audio, add chapters, and export." |
| Product demos | "Create a short launch video from screenshots, title cards, and voiceover." |
| Cinematic planning | "Create a style pack and storyboard, then render shot prompts for generation." |
| Quality review | "Compare these two exports, make thumbnails, and flag visual or audio problems." |
| Batch automation | "Convert this folder of clips to web-ready MP4 with consistent loudness." |
| Code-created video | "Scaffold a Hyperframes composition, inspect it, render it, then add subtitles and a watermark." |
| Local repurposing | "Turn this master clip into Shorts, Reels, TikTok, and YouTube assets with thumbnails and a manifest." |
| Video rescue | "Diagnose this damaged clip, propose only safe repairs, render an approved package, and verify the receipt." |
| Governed review (dev tip) | "Ingest this export into a project, run preflight and temporal inspection, write a verdict, and salvage only the broken region." |
The development tip registers 201 MCP tools and 172 CLI commands; published 1.15.1 remains 196 MCP / 167 CLI. The table summarizes core categories — search_tools discovers the exact operation without loading every description.
| Category | Count | Highlights |
|---|---|---|
| Core video editing | 32 | trim, merge, resize, crop, rotate, convert, overlays, subtitles, export, cleanup, templates, merge-compatibility guardrails |
| Project-backed inspection | 3 | content-addressed ingest, unified preflight, temporal evidence packages |
| Governed AI-video | 4 | exact-asset verdicts, acceptance evaluation, audio-preserving body swaps, lineage-bound salvage |
| Agent workflow engine | 4 | validate, plan, render, resume, inspect multi-step jobs with provenance receipts |
| Dedicated rescue | 3 | diagnose, approve, render, verify, quarantine, and resume local content-preserving repairs |
| Post-rescue planning | 8 | semantic timelines/query, EDLs, visual transforms, restoration, composition, autopilot, explicit egress |
| Cinematic creation | 4 | project scaffold, style-pack parsing, storyboard parsing, shot prompt expansion |
| AI-assisted media | 11 | transcription, scene detection, upscaling, stem separation, silence removal, color grading |
| Hyperframes | 18 | init, preview, render, snapshots, inspect, catalog, website capture, local TTS, transcription, background removal, diagnostics, benchmark, post-process |
| Revideo (development tip) | 4 | materialize the pinned bridge, install locked dependencies, render a project, or run the complete local job with a verified receipt |
| Repurposing | 2 | dry-run manifests, platform-ready variants, thumbnails, storyboards, release checkpoints |
| Procedural audio | 7 | synthesize, compose, presets, effects, sequences, generated audio, spatial audio, mix-parameter guardrails |
| Visual effects | 8 | vignette, glow, noise, scanlines, chromatic aberration, luma key, mask, shape mask, bounded filter parameters |
| Transitions | 3 | glitch, morph, pixelate |
| Layout and motion | 6 | grid, picture-in-picture, split-screen, animated text, counters, progress bars, auto-chapters, layout mismatch warnings |
| Analysis | 8 | scene detection, thumbnail, preview, storyboard, quality compare, metadata, waveform, release checkpoint |
| Image analysis | 3 | extract colors, generate palettes, analyze product images |
| Still / plate editing | 5 | still-match, still-grade, still-gate, image-edit, still-package — establish-locked color match with cohesion gate |
| Discovery | 1 | search_tools |
Full reference: docs/TOOLS.md
For autonomous agents, the intended path is inspect, edit, verify, then ask a human to review release artifacts:
Safety contract:
search_tools() and Client.inspect().MCPVideoError guidance.video_quality_check, video_release_checkpoint, and human visual/audio inspection.1.15.1 (2026-08-31):
mcp-video shim 1.6.12 + legacy registry republish (#469).mcp-video==1.6.12 installs kinocut==1.15.1.1.15.0 (2026-08-19):
kino --mcp reports real import causes; paths redacted, markup-safe (#448, from #445).mcp-server-import check — required core check; doctor can't say OK while --mcp is broken (#449).windows-latest smoke job.mcp-video==1.6.11 installs kinocut==1.15.0.1.14.1 (2026-08-13):
NoReturn on rescue cancel so GitHub Lint stays green. Same 360 + perf surface.mcp-video==1.6.10 installs kinocut==1.14.1.1.14.0 (2026-08-13):
video_intent / Client.propose_360_assembly — still 196 MCP / 167 CLI.filter_complex (audio kept), sampled QC, lazy imports, SHA cache, batched storyboard stills.mcp-video==1.6.9 installs kinocut==1.14.0.1.13.0 (2026-08-07):
video_intent / intent), Watching guardrail floor (video_review_run / video_review_decide), B-roll proposals (video_propose_broll), Caption translation ES-first (video_translate_captions), and Trusted execution (TE) quality-of-life additions.1.12.0 (2026-08-07):
still-match, still-grade, still-gate, image-edit, still-package) with fail-closed cohesion gating.1.11.x (2026-07-24):
kinocut_sound S12 public join adapters (sound-capabilities, sound-plan-validate, sound-mix-render, etc.).See CHANGELOG.md for full historical release notes, or view the GitHub Releases page.
Kinocut is a free, open-source MCP server, Python library, and kino CLI for AI-agent video editing. It wraps FFmpeg (and optional Hyperframes/Whisper extras) with preflight guardrails, Video Receipts, and quality checkpoints. It was formerly named mcp-video.
Yes. Apache-2.0, runs on your machine, no Kinocut account or API key required for the core surface, and media is not uploaded to a Kinocut cloud.
Any MCP-compatible client that can run a local stdio server (Claude Code, Cursor, Windsurf, Cline, and similar). You can also use the Python client or CLI without an agent.
Published 1.15.1 documents 196 MCP tools / 167 CLI commands. The development tip has 201 MCP tools / 172 CLI commands after adding four Revideo operations and verified sound mastering. 360 assembly still reuses video_intent and video_review_decide.
Yes — from a stitched 360 MP4, not .insv. Propose a 360_assembly_plan, approve it, then render split/switch/PiP/single. Works for other stitched equirect cameras too. See docs/360_ASSEMBLY.md.
Yes. Published mcp-video==1.6.11 installs kinocut==1.15.0. Compatibility imports, CLI name, env vars, data dir, resource URIs, and receipt keys remain supported on the 1.14.x+ line.
More answers: docs/faq.md · on-site FAQ: kinocut.dev/#faq
Development verification lives in docs/TESTING.md. Keep public-surface, media workflow, and security checks current when changing tool behavior.
Operators who want a public MCP URL without opening home-router ports can study the community Apache-2.0 reference stack that puts Kinocut + Hyperframes behind Tailscale Funnel, Caddy, and Google OAuth (mcp-auth-proxy): hyperframes-selfhost (not affiliated with KyaniteLabs; evaluate security for your threat model).
Apache 2.0. See LICENSE.
Built with FFmpeg, Hyperframes, and the Model Context Protocol.
More from KyaniteLabs. Related projects:
→ More at kyanitelabs.tech
If Kinocut is useful to you, star or watch it on GitHub — it helps other agent builders find it. If it saved you real editing hours: ko-fi.com/kyanitelabs.
Built by Simon Gonzalez De Cruz — available for Forward-Deployed / Applied-AI engineering and contract work via the public profile links above.
Kinocut is a guardrailed video editing MCP server and CLI for AI agents that helps AI agent builders, Claude Code/Cursor users, and local media operators edit, caption, repurpose, and quality-gate video with typed FFmpeg tools.
| Product | Kinocut |
| Category | guardrailed video editing MCP server and CLI for AI agents |
| Best for | AI agent builders, Claude Code/Cursor users, and local media operators |
| Not | a hosted cloud editor or untyped FFmpeg shell |
| Source | GitHub (canonical) · Forgejo (downstream mirror) |
| Keywords | video editing MCP, AI agent video, FFmpeg MCP, Shorts Reels, Insta360 360 assembly |
Kinocut is a guardrailed video editing MCP server and CLI for AI agents. It helps AI agent builders, Claude Code/Cursor users, and local media operators edit, caption, repurpose, and quality-gate video with typed FFmpeg tools.
AI agent builders, Claude Code/Cursor users, and local media operators.
Unlike raw FFmpeg scripts or unguarded agent shells, Kinocut validates tools and emits receipts.
Treat the README status and release tags as source of truth for maturity. Validate against your own requirements before production use.
Yes: export a stitched 360 MP4, then propose → approve → render. .insv is rejected. This shipped in 1.14.1 and remains in published 1.15.1.
AGENTS.md if presentllms.txt) when the repo ships oneIssues and PRs are welcome on GitHub. Keep public docs free of secrets and machine-local paths.
Kinocut improves in public, and outside contributions shape it — 1.15.0's diagnostics fixes trace directly to one excellent bug report. Reports with reproduction steps and a real traceback are contributions, and contributors are credited by name in the CHANGELOG acknowledgements and the release notes.
kino doctor Python-version floor with a visible install hint (#459), merged 2026-08-18, shipped in 1.15.0.init no longer hangs under MCP without a TTY (#361).remotion_still runtime props (#306) and the self-host Funnel + OAuth reference stack (#432).See LICENSE in this repository (or package metadata if license is package-only).