# Reported issues for mcp-video

Pod holds 17 of 62 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [mcp-video](/mcp/mcp-video).

## Most discussed

### Spec: Product and object matte on hyperframes-remove-background

# Spec: Product and object matte on existing hyperframes-remove-background

**Status:** agent-ready
**Date:** 2026-08-19
**Public guide:** `docs/PRODUCT_MATTE.md`
**Example:** `examples/product-matte/`

## Who this is for

Kinocut users who shoot **things**, not people: product photographers, shop operators, catalog studios, UGC sellers, marketplace listings. Jewelry on a turntable, shoes on a sweep, bottles on a lightbox, phones on a table, ceramics on a banding wheel, boxed SKUs on a kitchen t

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/461) · 2026-08-19 · closed · 7 comments

### Product/object matte: operator guide, doctor, composite-layers recipe

## Parent

#461 — Spec: Product and object matte on hyperframes-remove-background

## Type

AFK

## Who it is for

Strangers discovering Kinocut: product photographers, shop operators, UGC sellers, and agents. They must be able to go from README/skill/`--help` to a working cutout without reading an internal plan.

## What to build

Docs + doctor. Object matte is `--model`, not a new verb.

**Public operator guide (required):** `docs/PRODUCT_MATTE.md` in the 360-assembly voice: who it is for, mod

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/465) · 2026-08-19 · closed · 5 comments

### Product/object matte: fail-closed dispatcher + Kinocut-owned --info

## Parent

#461 — Spec: Product and object matte on hyperframes-remove-background

## Type

AFK

## Who it is for

Any Kinocut user (photographer, shop, agent) who needs to **choose** people vs product cutouts on the command they already have. This slice does not yet run BiRefNet; it makes the choice honest and fail-closed.

## What to build

Fail-closed dispatcher on the existing `hyperframes-remove-background` command.

- Default / `u2net_human_seg` still shells Hyperframes with **no** `--mode

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/462) · 2026-08-19 · closed · 4 comments

### Make the projectstore test suite portable to Windows

## Parent

#447

## What to build

The projectstore test suite collects and runs on Windows. The lock-failure security test stops importing the POSIX lock module bare (it targets the portable lock seam introduced by PR #446 — coordinate with that PR, whose review already requests the seam fix), and the executable ffmpeg/ffprobe test stubs that rely on shebang lines and exec bits are invoked through the current interpreter instead, or skip explicitly where a stub cannot be made portable. After th

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/450) · 2026-08-15 · closed · 4 comments

### Spec: Insta360 X4 360 dual-cam assembly

# Spec: Insta360 X4 360 dual-cam assembly

**Status:** ready-for-agent  
**Date:** 2026-08-13  
**Design companion:** `docs/superpowers/specs/2026-08-13-x4-360-assembly-design.md`

## Test seams (highest, existing first)

One compiler seam: **propose → validate → approve → render** a `360_assembly_plan`.

Hook it through existing surfaces only:

- **Intent** — `video_intent` with `goal=` emits the plan (no new MCP name).
- **Review** — same approve/reject contract as shorts/EDL review.
- **Rende

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/443) · 2026-08-13 · closed · 4 comments

### Product/object matte: birefnet-general extra and hole-cut plate

## Parent

#461 — Spec: Product and object matte on hyperframes-remove-background

## Type

AFK

## Who it is for

Shop and catalog users who already picked `--model birefnet-general` and need the cutout to actually run: jewelry, bottles, shoes, electronics, ceramics, boxed SKUs, any non-person object.

## What to build

`kinocut[object-matte]` extra + `kinocut/object_matte/` module that runs pinned BiRefNet-general ONNX. Same public command. Never call HF for this model in v1.

**Pin (frozen):*

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/463) · 2026-08-19 · closed · 3 comments

### Wayfinder map: first-class Windows support and honest diagnostics

## Destination

The spec **[first-class Windows support and honest diagnostics](https://github.com/KyaniteLabs/kinocut/issues/447)** implemented and merged: the MCP entry point reports real import failures, doctor exercises the MCP server import path, the projectstore tests run on Windows, CI guards the platform on every PR, and Windows lock errors surface instead of hanging. The maintainers work these tickets themselves — the PR #446 contributor's scope ends at his own diff.

## Notes

- Domain

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/453) · 2026-08-15 · closed · 3 comments

### Add long-form stream-to-shorts repurposing workflow

## Product goal

Add a reusable operator workflow that turns a completed 30–60 minute livestream recording into several reviewable short-form candidates, approval-gated vertical drafts, and manual-publishing export packages for YouTube Shorts and Instagram Reels.

## Required workflow

1. Inspect and preserve the source recording.
2. Transcribe long-form media and discover multiple distinct moments.
3. Present candidates with timestamps, transcript context, hook/title, rationale, and review warn

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/399) · 2026-07-22 · closed · 3 comments

## Most recent

### video-ai-remove-silence produces corrupted mp4 (missing moov atom) with multiple silence regions

## Summary

`video-ai-remove-silence` (`kino video-ai-remove-silence`) produces a corrupted
output `.mp4` (missing `moov` atom, unreadable by `ffprobe`) when the chosen
`--silence-threshold` is loose enough to detect **multiple** silence regions
in a real speech recording. The command itself exits 0 and reports success.

## Environment

- kinocut 1.15.0 (installed via `pip install kinocut`)
- ffmpeg 6.1.1 (Ubuntu)
- Source: a real ~3.5min speech video, 1280x720, AV1 video / Opus audio (webm cont

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/467) · 2026-08-29 · open · external user · 0 comments

### Product/object matte: temporal interval and studio-equipment overlay

## Parent

#461 — Spec: Product and object matte on hyperframes-remove-background

## Type

AFK

## Who it is for

Catalog studios shooting on a **motorized turntable, stand, tripod, sweep, or lightbox**. A SKU cutout that still includes the wheel or clamp is unsellable. This slice is the optional gate, off by default.

## What to build

Wire temporal interval + studio-equipment overlay on **all four surfaces** (parser, `handlers_hyperframes.py`, MCP, Client). Object-backend only.

`--mask-inter

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/464) · 2026-08-19 · closed · 2 comments

### CI: add a Windows smoke job

## Parent

#447

## What to build

Every code-touching PR gets a Windows runner job mirroring the existing smoke pattern: lint, the canonical client-import compatibility check, doctor, and the public-surface tests. A change that breaks Windows can no longer land silently — which is exactly how #445's root cause shipped. The job respects the changes-filter conventions used by the existing workflows and stays fast and focused; widening its scope comes later, only once it is reliably green.

## Acc

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/452) · 2026-08-15 · closed · 0 comments

### projectstore: narrow Windows lock error handling to contention-only

## Parent

#447

## What to build

On the Windows file-lock backend introduced by PR #446, blocking acquisition retries indefinitely only for genuine contention (the two contention errnos), and the non-blocking lease probe reports contention only for contention errors. Every permanent error — bad descriptor, permissions, unreadable file — propagates as a platform-native error so the existing mappers surface it: a render job with a broken lease fails loudly instead of hanging forever, and a corru

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/451) · 2026-08-15 · closed · 1 comment

### doctor: verify the MCP server import path

## Parent

#447

## What to build

`kino doctor` gains a check that actually imports the MCP server tool tree and reports it as its own component. On a machine where the server tree cannot import (the #445 scenario), doctor names the failing component and does not report overall OK — "OK" starts to mean the primary integration paths work, not just the ffmpeg binaries. The check is failure-isolated (a failed check can never crash doctor) and uses the same stable, privacy-safe error mapping as the

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/449) · 2026-08-15 · closed · 1 comment

### MCP mode: surface real import failures instead of 'missing mcp package'

## Parent

#447

## What to build

When `kino --mcp` fails to start because something in the MCP server tool tree cannot import, the command prints the real cause — through the project's privacy-safe error vocabulary, with a non-zero exit — instead of today's "MCP mode requires the 'mcp' package" message. Only the genuine absence of the MCP package keeps the current install hint. The lazy-import structure of the entry point and CLI startup behavior are unchanged. (This is the second half of #445

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/448) · 2026-08-15 · closed · 1 comment

### MCP mode fails on Windows: projectstore/store.py imports Unix-only fcntl (error masked as missing 'mcp' package)

`kino --mcp` fails on Windows because `kinocut/projectstore/store.py` imports `fcntl`, which is Unix-only. The user-facing message points at the wrong cause, which makes this hard to diagnose.

## What happens

```
> kino --mcp
MCP mode requires the 'mcp' package.
Install with: pip install kinocut
```

That message is misleading: `mcp` **is** installed (1.29.0, pulled in by the package itself). The real error is swallowed by a broad `except ImportError` in `__main__.py`:

```python
if args.mcp o

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/445) · 2026-08-15 · closed · outside contributor · 1 comment

### Stream shorts slice 6: CLI, client, and MCP adapters

Child of #399; PR #400 is a non-mergeable review umbrella.

Land thin CLI, Python client, and MCP adapters over the shared orchestrator. Split registration, CLI stages, and surface-count updates into PRs under 400 changed lines as needed.

Acceptance: source-free saved-plan review; explicit proposal/review/render/package CLI stages; exact saved-plan selection; client/MCP parity; plain-language recovery errors; no posting/authentication.

Depends on the orchestrator/package slice.

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/406) · 2026-07-22 · closed · 1 comment

### Stream shorts slice 5: review-gated render and packaging

Child of #399; PR #400 is a non-mergeable review umbrella.

Land the shared review-gated shorts orchestrator and complete export packaging in dependency-sized PRs under 400 changed lines. Rendering must fail closed without approval, enforce per-platform duration, preserve safe padded composition, synchronize captions to effective bounds, persist plans, and cache unchanged rerenders.

Acceptance: approve/reject/trim/title/sensitivity records; two platforms; video/SRT/thumbnail/metadata/manifest p

[Read the thread](https://github.com/KyaniteLabs/kinocut/issues/405) · 2026-07-22 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/KyaniteLabs/kinocut/issues).
