mcp-video

Servidor MCP de edición de video nativo con IA para flujos de trabajo con FFmpeg.

Documentación

Kinocut - guardrailed video editing for AI agents

Kinocut

Servidor MCP de edición de video con protecciones para agentes de IA.
Herramientas FFmpeg locales primero, Recibos de Video, controles de calidad, Hyperframes y reutilización para Shorts/Reels: para Claude Code, Cursor y cualquier cliente MCP. Gratuito, Apache-2.0. Anteriormente mcp-video.

LobeHub MCP PyPI kinocut.dev GitHub CI 203 MCP tools on development tip 177 CLI commands on development tip Python 3.11+ Apache 2.0

Demo • Estado • 1.15.2 • 1.15.1 • Registro de cambios • Más allá • Instalación • Inicio rápido • Herramientas • Referencia de herramientas • Rescate • Ensamblaje 360 • Video con IA • Habilidad de agente • kinocut.dev • ¿Qué es Kinocut? • Preguntas frecuentes • llms.txt

Kinocut es un servidor MCP de edición de video gratuito y de código abierto, además de un motor de flujo de trabajo para agentes de IA (con cliente Python y CLI kino) que permite a los agentes de IA recortar, subtitular, reutilizar y controlar la calidad de medios de video locales con herramientas tipadas y Recibos de Video, no con banderas FFmpeg inventadas.

Tabla de contenidos


¿Qué es Kinocut?

En resumen: Kinocut es un servidor MCP de edición de video gratuito y local primero (con cliente Python y CLI kino) para que los agentes de IA puedan recortar, subtitular, reutilizar y controlar la calidad de medios con herramientas tipadas y Recibos de Video, no con banderas FFmpeg inventadas.

Kinocut es un servidor del Protocolo de Contexto de Modelo (MCP) gratuito y de código abierto, una biblioteca de Python y una CLI kino que brinda a los agentes de IA una superficie de edición de video local con protecciones. Envuelve FFmpeg (y extras opcionales de Hyperframes / Whisper) con herramientas tipadas, validación previa, procedencia de Recibos de Video y puntos de control de calidad/versión para que los medios producidos por agentes puedan inspeccionarse antes de publicarse.

También conocido comokino (CLI); anteriormente mcp-video / mcp_video
Última versión publicada1.16.0 (2026-10-02)
Sitio del productokinocut.dev
PyPIkinocut
Registro MCPio.github.KyaniteLabs/kinocut
Código fuenteGitHub (código canónico, problemas, PRs, CI y versiones) · Forgejo (espejo descendente; corte de sincronización automatizada pendiente de verificación)
LicenciaApache-2.0
Se ejecuta enTu máquina (macOS, Linux, Windows) — FFmpeg requerido en PATH
No esUn editor en la nube alojado, SaaS con medidor de créditos o un envoltorio de shell FFmpeg sin tipar

Búsquedas de mejor ajuste: servidor MCP de edición de video · edición de video con agentes de IA · FFmpeg MCP · herramientas de video para Claude Code · video MCP para Cursor · automatización de Shorts/Reels · flujo de trabajo de video local con IA · medios agénticos con protecciones.

Resumen legible por máquina para agentes y rastreadores: llms.txt · guía extendida para agentes · sitio: kinocut.dev/llms.txt.

Verlo en acción

Dile al agente lo que quieres en lenguaje natural:

"Recorta esta entrevista a los 45 segundos más fuertes, agrega subtítulos quemados, hazla vertical y verifica su calidad antes de exportarla."

Kinocut convierte eso en llamadas de herramientas tipadas y con protecciones, sin banderas FFmpeg que adivinar y sin exportaciones rotas en silencio:

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

Trabajo principal: convertir una entrevista o podcast local en clips verticales subtitulados con un Recibo de Video que los agentes puedan re-ejecutar y los humanos puedan aprobar.

Tres cosas para las que se usa

  • Reutilización — una grabación en paquetes de Shorts, Reels y TikTok subtitulados con manifiestos y artefactos de revisión.
  • Cortes de podcasts y entrevistas — encontrar el segmento más fuerte, normalizar el audio, agregar capítulos y exportar.
  • Medios impulsados por agentes en CI — ediciones repetibles y revisables desde Claude Code, Cursor, clientes estilo Codex o scripts.

Rutas: Matriz de instalación · Ruta dorada · Indicaciones · Tutorial · Comparar · Cuándo recomendar

Estado y versiones

SuperficieVersión / puntaQué significa
PyPI / npm1.16.0 (2026-10-02)Última versión publicada de Kinocut. Instalar con pip install kinocut.
Última versión de GitHub / Registro MCP1.16.0Verificado 2026-10-02, junto con PyPI/npm. Metadatos del sitio verificados por última vez en 1.15.3; la actualización/aceptación renderizada del sitio y el despliegue masivo siguen siendo separados.
Este repositorio (master)1.16.0 · 203 MCP / 177 CLICoincide con el paquete publicado en la versión; el trabajo futuro de la punta sigue documentado por separado.
Próxima versión públicaPendienteLos residuales humanos (directorios, publicaciones de lanzamiento) permanecen restringidos; nuevos aumentos necesitan una nueva aprobación.

Instala desde PyPI para el paquete estable, incluido el extra opcional de mate de objeto. Clona master cuando quieras cambios de desarrollo local más allá del paquete publicado; consulta docs/PRODUCT_MATTE.md para el flujo de trabajo publicado de mate de objeto.

Qué hay en 1.16.0

Publicado 2026-10-02: 203 herramientas MCP / 177 comandos CLI; mcp-video==1.6.15 instala kinocut==1.16.0. Paridad de operador, controles acotados de calidad/recursos y reparación de propiedad canónica se describen en las notas de versión. El procesamiento compartido móvil/web, el despliegue masivo, la aceptación de MCPB Desktop y la actualización del sitio siguen siendo trabajo separado.

Qué hay en 1.15.2

Kinocut 1.15.2 incluye la línea de sonido verificada y un motor endurecido contra adversarios. El masterizado de sonido ahora preserva el estéreo a través de la cadena de masterizado medida con perfiles reales de distancia entre subtítulos y voz, y sound-qa-asr falla cerrado sin una solicitud real de reconocimiento. Cuatro operaciones locales protegidas de Revideo se unen a la superficie pública con validación de formato renderizado, y release-checkpoint pasa la puerta de versión MCP desde la CLI. Endurecimiento de la auditoría adversaria: el apretón de manos MCP informa la versión real de kinocut, un guardián central rechaza salidas que aliasan las entradas de una operación, y los ecos de error sobredimensionados se truncan. La superficie crece a 201 herramientas MCP / 173 comandos CLI — el shim mcp-video==1.6.13 instala kinocut==1.15.2.

Qué hay en 1.15.1

Kinocut 1.15.1 es una versión de mantenimiento sobre 1.15.0: el shim de compatibilidad mcp-video 1.6.12 lleva el marcador de propiedad del registro, la entrada de registro heredada io.github.KyaniteLabs/mcp-video se republicó para que los listados de directorios (Glama, PulseMCP) apunten a metadatos vivos (#469), y el motor de mate de objeto ahora transmite decodificación con límites de directorio temporal — memoria acotada en entradas grandes (#414). La superficie se mantiene en 196 MCP / 167 CLI — sin nuevo nombre de herramienta pública.

Qué hay en 1.15.0

Kinocut 1.15.0 (2026-08-19) fue la versión de Windows/diagnósticos: soporte de primera clase para Windows y diagnósticos honestos sobre 1.14.x (misma superficie de ensamblaje de doble cámara 360 y rendimiento), impulsado por un informe de error de la comunidad. La superficie se mantiene en 196 MCP / 167 CLI — sin nuevo nombre de herramienta pública.

  • Fallos de inicio MCP honestos — kino --mcp mantiene la pista "requiere el paquete 'mcp'" solo cuando mcp está genuinamente ausente; cualquier otro fallo de importación del árbol del servidor ahora imprime su causa real (rutas de sistema de archivos redactadas, seguro para marcado) y sale con código distinto de cero. Reportado en #445.
  • doctor verifica la importación del servidor MCP — el nuevo chequeo requerido mcp-server-import importa el mismo árbol del servidor que usa --mcp, por lo que kino doctor ya no puede informar OK mientras el modo MCP está roto.
  • Soporte de primera clase para Windows — bloqueo de archivos portátil del projectstore (#446, aterrizado con crédito) hace que kino --mcp sea importable en Windows; los errores de bloqueo siguen un contrato solo de contención; kino --help ya no falla en consolas heredadas cp1252; y un trabajo de CI windows-latest (lint, cheques de importación, kino doctor, pruebas de superficie pública) protege la plataforma en cada cambio.
  • Ensamblaje de doble cámara 360 — cualquier MP4 equirectangular cosido (Insta360, Ricoh Theta, GoPro MAX, DJI Osmo 360, …) → 360_assembly_plan revisable (escritorio / mesa / front_back, dividido / alternar / PiP / único) → aprobar → render FFmpeg v360. MCP: video_intent goal= + video_review_decide. Python: Client.propose_360_assembly / decide_360_assembly / render_360_assembly. .insv / .360 crudos rechazados. El director es un complemento (local primero; nube opcional). No es una afirmación de IA optimizada. Guía: docs/360_ASSEMBLY.md.
  • Ruta 360 e importación más rápida — filter_complex de dividido/PiP/alternar de una sola pasada (audio fuente conservado); ventana de análisis de control de calidad muestreada; caché SHA-256 de ruta/mtime; la fusión puede omitir la re-sonda cuando se proporciona infos=; storyboards 360 por lotes; mcp_video / CLI / Client.search_tools perezosos; doctor omite npx --yes a menos que Hyperframes ya esté en PATH.
  • Importación pública perezosa — import kinocut ya no carga Client/motores con avidez (PEP 562). from kinocut import Client y kinocut.Client is mcp_video.Client siguen en pie.
  • Honestidad en la costura de envío — CLI/Client repurpose predeterminado --min-score 80; shorts-package falla cerrado a menos que --allow-fail; el video_repurpose MCP durable candidato aplica min_score antes del éxito del trabajo.
  • Ventana de compatibilidad — mcp-video==1.6.14 instala kinocut==1.15.3. mcp_video importaciones, variables de entorno MCP_VIDEO_*, datos ~/.mcp-video, recursos mcp-video:// y claves de recibo heredadas siguen siendo compatibles en la línea 1.14.x+. El par anterior fue mcp-video==1.6.12 → kinocut==1.15.1.

También ya en la línea publicada desde 1.13.x:

  • Superficie de verbo de intención — video_intent / intent (~10 verbos) para ejecutar planes en seco sin mutaciones silenciosas de medios
  • Piso de protección de vigilancia — video_review_run / video_review_decide (blackdetect/LUFS + inspección de primeros 15 segundos)
  • Propuestas de B-roll, traducción de subtítulos ES-primero, editor de fotogramas/placas, render de cutfile, metric-qc
  • Motor de flujo de trabajo para agentes, rescate de video dedicado, composición en capas, Hyperframes, reutilización de Shorts/Reels
  • Conteos en la versión 1.15.0 — 196 herramientas MCP y 167 comandos CLI

Notas completas: CHANGELOG.md · 1.16.0 publicado en PyPI

Los contratos de calidad publicados y de audio de archivo plano están documentados en evidencia de calidad, mezcla de audio y ciclo de vida del projectstore. Consulta No publicado para cambios locales futuros más allá del paquete publicado.

Más allá de 1.16.0 (borrador / restringido)

El instalador de compatibilidad publicado mcp-video==1.6.15 fija kinocut==1.16.0. Las instrucciones de actualización de flota y verificación de procesos en ejecución están en docs/FLEET_UPGRADE.md.

1.16.0 es la última versión publicada. El trabajo preliminar/controlado más allá de esto permanece fuera de las afirmaciones de lanzamiento hasta que se materialice un corte. Los envíos de directorios en vivo y las publicaciones de lanzamiento siguen siendo residuales de operador/humano (docs/HUMAN_GATES.md) y no se declaran completos.

Superficies Escalonadas y Controladas

Si bien la edición principal de FFmpeg, el ensamblaje 360, el motor de flujo de trabajo, la edición de fotogramas fijos/placas, la revisión/recuperación de video con IA y la unión de audio delgada están integrados en la línea publicada 1.15.x, las siguientes superficies permanecen controladas, parciales o no publicadas:

  • Empaquetado MCPB de escritorio: El paquete escalonado sin firmar (mcpb/) está etiquetado como acceso local configurado por el usuario. Requiere Node/Python/Kinocut/FFmpeg local, no es un sandbox y es distinto del trabajo futuro de tiempo de ejecución nativo. Ver docs/MCPB.md.
  • Audio Sonic World (kinocut_sound): El límite público enviado sigue siendo la unión delgada S12; los paquetes S13 y las uniones de host existen como internos más profundos. El registro histórico de julio S14 registra dos clases de hardware sintéticas, mientras que la repetición posterior de agosto registra Apple Silicon y un residual x86 explícito external_host_unavailable. Sus 64 clips de 0,15 segundos demuestran una plomería limitada, no un episodio completo ni aprobación de escucha humana.
  • Núcleo de ejecución confiable: El núcleo de ejecución confiable de línea de tiempo protegida es posterior al programa/controlado y no se ejecuta sin el contrato ascendente nombrado y el control humano (docs/plans/2026-07-09-kinocut-trusted-execution-layer.md).
  • Planes generativos y habla de subtítulos local: Los registros de límite de gasto generativo y los candidatos TTS heredados siguen siendo planes no ejecutables. Un motor eSpeak NG instalado puede renderizar habla de subtítulos EN/ES real de stock a través de una solicitud hash sound_voice_batch y retener audio para mezclar. Habla de subtítulos no traduce texto ni promete calidad de voz neuronal. No existe adaptador de generación; las credenciales o el descubrimiento por sí solos no establecen ejecución.
  • Mate de producto/objeto: Recortes de catálogo y tienda en el comando hyperframes-remove-background existente (--model birefnet-general, extra opcional kinocut[object-matte]). El valor predeterminado sigue siendo personas. No es un nombre nuevo de MCP/CLI. Publicado en 1.16.0, enviado por primera vez en 1.15.1 (decodificación de transmisión + límites de scratch, #414); el extra ONNX se instala vía kinocut[object-matte]. Guía: docs/PRODUCT_MATTE.md.

Lista de verificación de producto: ROADMAP.md.

Motor de flujo de trabajo de agente

Los agentes pueden planificar, validar, renderizar, recuperar y probar un trabajo de video local de múltiples pasos desde una sola especificación de trabajo JSON — a través de MCP (video_workflow_*), el CLI (workflow-*) o el cliente Python (Client.workflow_*) — con recibos lo suficientemente sólidos para que otro agente o un humano confíe antes y después de un render. Las operaciones son una lista de permitidos pequeña (probe | trim | resize | convert | crop | merge | add_text | composite_layers | burn_in) mapeada 1:1 a las mismas funciones de motor validadas que usan las herramientas individuales; las referencias de medios son simbólicas y confinadas al espacio de trabajo; todo falla cerrado.

{
  "schema_version": 1,
  "name": "captioned-vertical-short",
  "sources": { "hero": { "path": "input/hero.mp4" } },
  "steps": [
    { "id": "trim-hero", "op": "trim", "inputs": { "src": "@sources.hero" },
      "params": { "start": 0, "duration": 6 }, "output": "@work/hero_trim.mp4" },
    { "id": "vertical", "op": "resize", "inputs": { "src": "@work/hero_trim.mp4" },
      "params": { "width": 1080, "height": 1920 }, "output": "@work/hero_vertical.mp4" },
    { "id": "caption", "op": "add_text", "inputs": { "src": "@work/hero_vertical.mp4" },
      "params": { "text": "Watch this", "position": "bottom-center" }, "output": "@outputs.master" }
  ],
  "outputs": { "master": { "path": "output/final.mp4" } }
}
kino workflow-validate --spec job.json    # cheap structural gate, no render
kino workflow-plan     --spec job.json --save-plan plan.json     # dry-run op graph + hashes
kino workflow-render   --spec job.json --save-receipt receipt.json   # execute + provenance receipt
kino workflow-inspect  --receipt receipt.json    # read-only integrity re-check

El recibo de render registra hashes de entrada/salida por paso, un cursor de reanudación y un manifiesto de limpieza, todo con rutas relativas al espacio de trabajo:

{
  "receipt_kind": "workflow",
  "versions": { "mcp_video": "1.13.2", "ffmpeg": "8.1" },
  "spec_hash": "sha256:be2f3a9b...",
  "steps": [
    { "id": "trim-hero", "op": "trim", "status": "completed",
      "input_hashes": { "src": "sha256:3b976d49..." },
      "output": "work/be2f3a9b-2effedb3/mcp_video_hero_trim.mp4", "output_hash": "sha256:00727499..." },
    { "id": "caption", "op": "add_text", "status": "completed",
      "output": "output/final.mp4", "output_hash": "sha256:8633ad2a..." }
  ],
  "cleanup_manifest": { "cleaned": true, "policy": "clean-on-success" },
  "resume_cursor": { "last_completed_step": "caption", "next_step": null },
  "status": "completed",
  "render_determinism_scope": "spec/input/output hashes are deterministic; rendered bytes may vary across FFmpeg builds"
}

--all-variants emite N salidas distintas de una declaración, y --resume continúa un trabajo que falló con sus intermedios conservados (falla cerrada en una especificación cambiada). Esquema completo, gramática @ref, variantes, reanudación y limpieza están en docs/WORKFLOWS.md; una especificación ejecutable está en examples/workflows/.

Revisión de video con IA gobernada

En Kinocut, se proporciona una ruta de contrato primero para medios editados por agentes que deben permanecer atribuibles y revisables:

  1. Ingesta la fuente en un proyecto privado con direccionamiento de contenido (video_ingest / video-ingest)
  2. Preflight + inspección temporal en el activo almacenado (video_preflight, video_inspect_temporal)
  3. Veredicto + aceptación con evidencia humana exacta (video_verdict, video_acceptance_eval)
  4. Solo derivados limitados — intercambio de cuerpo que preserva audio o recetas de recuperación en lista de permitidos (video_body_swap, video_salvage), cada uno con linaje y una ranura de revisión nueva no aprobada

No hay bandera de fuerza/omisión. La salida del analizador por sí sola no puede aprobar. Entradas obsoletas, con alias o protegidas fallan cerradas. Guía operativa: docs/AI_VIDEO_REVIEW_AND_SALVAGE.md. Estas superficies están completamente integradas en la línea publicada 1.15.x — ver Estado y lanzamientos.

Rescate de video dedicado

Para solicitudes de "arregla este clip" donde la historia y la línea de tiempo deben permanecer sin cambios, use el pipeline de rescate de revisión primero. Planifique e inspeccione el diagnóstico, apruebe solo ID de reparación seguros, renderice, luego inspeccione el paquete verificado. La fuente permanece inmutable; la copia maestra y universal de uso compartido siempre se verifican; los subtítulos opcionales permanecen como archivos laterales. Ver docs/RESCUE.md para CLI, MCP, Python, cancelación, reanudación y errores estables.

Composición en capas

composite-layers / video_composite_layers agrega una pila de capas ordenada impulsada por especificación para agentes que necesitan más que primitivas de superposición de dos tomas. Admite capas de imagen, video y sólidas; composición alfa normal; opacidad por capa; colocación x/y; tamaño de transformación; ventanas de tiempo; y fuentes alfa de máscara/mate — además de modos de fusión de lienzo completo y posicionados (multiply, screen, overlay, darken, lighten) y rotación con un nuevo punto de referencia pivot. Los planes de ejecución en seco y los recibos deterministas layer_plan v2 capturan fuente, gráfico de filtros y hashes de salida.

kino composite-layers --spec layers.json --dry-run --save-layer-plan layer-plan.json
kino composite-layers --spec layers.json -o out.mp4 --save-layer-plan layer-plan.json

Use composite-layers cuando un agente necesite una pila planificada de superposiciones, mates, tercios inferiores, placas de desenfoque o variantes de plataforma revisadas antes de renderizar. Las fusiones no normal admiten opacidad y ventanas start/duration en dos geometrías: lienzo completo en {0,0} sin tamaño explícito, o un rectángulo posicionado con ambos enteros positivos width y height y una posición integral no negativa dentro del lienzo. La fusión RGB evita aplicar aritmética de color a planos de croma submuestreados. Escala, rotación/pivote, máscara/mate, posiciones fraccionarias y rectángulos fuera del lienzo permanecen diferidos y fallan cerrados con unsupported_blend_geometry. Las capas de video y las máscaras comienzan la reproducción en el inicio de capa declarado. Mantenga las fuentes y máscaras dentro del directorio de especificación, colocando la especificación en un padre común de sus medios. La salida sigue siendo solo video.

Ensamblaje de doble cámara 360

Cualquier MP4 360 equirect cosido (Insta360, Ricoh Theta, GoPro MAX, DJI, …) puede convertirse en una edición de dos cámaras 16:9 o 9:16 sin un nuevo nombre de herramienta. Exporte desde la aplicación de la cámara primero — Kinocut no cose .insv ni GoPro .360.

from kinocut import Client

video = Client()
plan = video.propose_360_assembly("x4-export.mp4", goal="desk 360 split 9:16")
approved = video.decide_360_assembly(plan, "approve")
video.render_360_assembly(approved, "desk-split.mp4")

Agentes: video_intent con un objetivo 360/escritorio/mesa y source=, luego video_review_decide. Contrato completo: docs/360_ASSEMBLY.md.

Edición de fotogramas fijos / imágenes

Kinocut trata los paquetes de múltiples fotogramas fijos como medios de primera clase — plan → recibo → compuerta de falla cerrada, misma postura de seguridad que el rescate de video. Requiere pip install "kinocut[image]"; ejecute kino doctor para verificar la pila de imágenes.

Flujo de trabajo: establezca una placa hero → edite los ritmos hacia ella → iguale el WB/exposición compartido → gradúe (LUT de señal opcional) → compuerta de cohesión.

# Image analysis: extract colors, generate palettes, analyze products
kino image-extract-colors product.jpg -n 8
kino image-generate-palette scene.png --harmony triadic
kino image-analyze-product listing.jpg --use-ai

# Still/plate editing: match package to hero, grade, gate
kino still-match --hero establish.png --inputs beat1.png beat2.png --output-dir out/matched
kino still-grade --inputs out/matched/*.png --hero establish.png --output-dir out/graded
kino still-gate  --inputs out/graded/*.png --output-dir out/gate

# Establish-locked edit with plan/receipt (dry-run first)
kino image-edit --source beat.png --reference establish.png \
  --intent "match establish world and light" --output-dir out/edit --dry-run

# Or run the full pipeline in one shot
kino still-package --establish establish.png --beats beat1.png beat2.png --output-dir out/pkg
from kinocut import Client

c = Client()
c.still_match(hero="establish.png", inputs=["a.png", "b.png"], output_dir="out/m")
c.still_gate(inputs=["out/m/a_matched.png", "out/m/b_matched.png"], output_dir="out/g")

still-gate falla cerrado en la dispersión de luma y métricas de sombra verde/cian; cada herramienta escribe un recibo JSON con hashes y ganancias. Los backends generativos pagados permanecen desactivados por defecto (prefer=edit, allow_paid_gen=false). Guía completa: docs/STILL_PLATES.md.

Descubrimiento público

Kinocut está construido para ser encontrable y citable tanto por motores de búsqueda como por motores de respuesta de IA:

  • URL canónica del producto: https://kinocut.dev/
  • README de GitHub + llms.txt con hechos de entidad, comandos de instalación y reglas de seguridad
  • Registro oficial del MCP Registry bajo io.github.KyaniteLabs/kinocut
  • Respuestas de FAQ en este README y docs/faq.md (primero la respuesta, afirmaciones versionadas)

Kinocut vs FFmpeg crudo (y vs editores en la nube)

KinocutFFmpeg crudo en shell de agenteAPI típica de editor en la nube
InterfazMCP / Python / CLI tipadosBanderas de forma libreAPI HTTP alojada
PreflightProtecciones antes del renderEl agente inventa banderasEspecífico del proveedor
ProcedenciaRecibos de video + hashesRegistros ad-hocPanel del proveedor
Ubicación de mediosLocal primeroLocalCarga requerida
Costo principalGratis (Apache-2.0)GratisA menudo medido

Por qué existe

Los agentes de IA pueden escribir comandos FFmpeg, pero no deberían tener que adivinar banderas, analizar stderr frágil o publicar silenciosamente medios rotos. Kinocut les da a los agentes operaciones tipadas, metadatos de herramientas inspeccionables, resultados estructurados, protecciones de preflight y puntos de control de calidad para que un flujo de trabajo de video pueda automatizarse y revisarse sin convertirse en ruleta de comandos de shell.

Úselo cuando quiera que un asistente de IA:

  • recorte, fusione, redimensione, recorte, rote, transcodifique o exporte video;
  • agregue texto, subtítulos, marcas de agua, superposiciones, filtros, fundidos, efectos y transiciones;
  • extraiga audio, normalice audio, sintetice audio, agregue audio generado o cree formas de onda;
  • detecte escenas, haga miniaturas, genere guiones gráficos, compare calidad y cree puntos de control de lanzamiento;
  • iguale, gradúe y controle paquetes de fotogramas fijos con cohesión de color bloqueada por establecimiento, o analice imágenes de producto para colores y paletas;
  • andamie proyectos cinematográficos, lea bloques STYLE_/NEG_, analice tablas de guiones gráficos y expanda indicaciones de tomas;
  • cree nuevos proyectos Hyperframes, inspeccione diseños renderizados, capture sitios web, genere habla local, elimine fondos y posprocese el resultado con herramientas FFmpeg;
  • reutilice un video fuente en paquetes de entrega locales verticales, horizontales y cuadrados con manifiestos y artefactos de revisión;
  • impulse flujos de trabajo de medios repetibles desde Claude Code, Cursor, clientes estilo Codex, scripts o CI.

Instalación

Requisito previo: FFmpeg debe estar instalado y disponible en PATH.

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

Ejecute sin una instalación global:

uvx --from kinocut kino doctor

O instale con pip:

pip install kinocut
kino doctor

Para instalaciones MCPB estilo Claude Desktop, Kinocut incluye un paquete local escalonado en mcpb/ y un script de compilación local:

python3 scripts/build-mcpb.py

Este paquete sin firmar de acceso local configurado por el usuario lanza un entorno Python existente con la versión exacta de Kinocut y aún requiere Node, FFmpeg y ffprobe locales. No es un sandbox. Los paquetes nativos autocontenidos siguen siendo trabajo futuro separado. Ver docs/MCPB.md.

El firmado opcional C2PA para exportaciones MP4 finales está disponible en la punta de desarrollo cuando c2patool y un manifiesto/firmante están configurados. El firmado está desactivado por defecto y solo reporta signed después de que una lectura de verificación tenga éxito. Ver docs/C2PA_PROVENANCE.md.

Las herramientas Hyperframes adicionalmente necesitan Node.js 22+ y un CLI Hyperframes resoluble. Instale/fije Hyperframes en el diseño de paquete Node activo, agregue hyperframes a PATH, o establezca MCP_VIDEO_HYPERFRAMES_COMMAND.

¿Qué extra necesito?

La instalación principal cubre todas las herramientas de edición FFmpeg. Las características opcionales se envían como extras — instale solo lo que use:

QuiereInstalarTamaño extra aproximado
Subtítulos de voz a texto (Whisper)pip install "kinocut[transcribe]"~1 GB (torch)
Análisis de imágenes (colores, diseño, contraste)pip install "kinocut[image]"~50 MB
Separación de pistas vocal/instrumentopip install "kinocut[stems]"~2 GB (torch + demucs)
Escalado de IApip install "kinocut[upscale]"~2 GB (Python ≤3.12)
Herramientas de audio/música proceduralpip install "kinocut[audio]"~30 MB (numpy)
Todo IApip install "kinocut[ai]"varios GB

Mezcle libremente, p. ej. pip install "kinocut[transcribe,image]". Ejecute kino doctor después — reporta exactamente qué características están disponibles y qué falta.

Actualización desde mcp-video

Kinocut conserva la superficie original durante la ventana de renombrado. Las instalaciones existentes pueden actualizarse sin cambiar código:

pip install --upgrade 'mcp-video==1.6.15'
pip install --force-reinstall --no-deps 'kinocut==1.16.0'
mcp-video doctor

Los registros antiguos del instalador shim pueden eliminar el ejecutable compartido durante una actualización, incluso cuando las comprobaciones de dependencias pasan. La reinstalación canónica restaura la propiedad; use el pin de versión previsto y conserve las extensiones configuradas en despliegues bloqueados. Consulte instrucciones de migración de flota para la secuencia fijada.

El mcp-video==1.6.15 publicado es un instalador de compatibilidad solo de metadatos para kinocut==1.16.0. La importación mcp_video, el comando mcp-video, las variables de entorno MCP_VIDEO_*, el directorio de datos ~/.mcp-video, los URI de recursos mcp-video:// y las claves de recibo existentes siguen siendo compatibles en la línea 1.14.x+. Las nuevas integraciones deben usar kinocut, from kinocut import Client y el comando kino.

En español

Kinocut es un servidor MCP de edición de video para agentes de IA. La última versión publicada es 1.16.0 (pip install kinocut, 203 herramientas MCP / 177 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.

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

# Instalación y diagnóstico
pip install kinocut
kino doctor

Para Claude Code:

claude mcp add kinocut -- uvx --from kinocut kino --mcp

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.

Quick Start

Golden path (60 seconds)

Prove the install works before wiring an agent host:

pip install -e .          # or: pip install kinocut
kino doctor               # required checks must pass
python scripts/golden_path.py

Success criteria and failure recovery: docs/GOLDEN_PATH.md.
Shareable pack (receipt + quality + media): python scripts/generate_golden_pack.py → demo/golden-pack/.

Try the receipt-backed proof first

From a clone of this repo, run the smallest confidence workflow before wiring an agent host:

uv run --no-project --with kinocut python workflows/05-confidence-baseline/workflow.py
uv run --no-project --with kinocut python workflows/benchmarks/run_confidence_benchmark.py

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.

Claude Code

claude mcp add kinocut -- uvx --from kinocut kino --mcp

Claude Desktop

{
  "mcpServers": {
    "kinocut": {
      "command": "uvx",
      "args": ["--from", "kinocut", "kino", "--mcp"]
    }
  }
}

Cursor

{
  "mcpServers": {
    "kinocut": {
      "command": "uvx",
      "args": ["--from", "kinocut", "kino", "--mcp"]
    }
  }
}

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.

Agent Skill

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.

Python Client

from kinocut import Client

editor = Client()

clip = editor.trim("interview.mp4", start="00:02:15", duration="00:00:45")
caption_file = "captions.srt"
editor.ai_transcribe(clip.output_path, output_srt=caption_file)
captioned = editor.subtitles(clip.output_path, subtitle_file=caption_file)
vertical = editor.resize(captioned.output_path, aspect_ratio="9:16")
checkpoint = editor.release_checkpoint(vertical.output_path)

print(checkpoint["thumbnail"])
print(checkpoint["storyboard"])

CLI

kino info interview.mp4
kino trim interview.mp4 -s 00:02:15 -d 45
kino video-ai-transcribe clip.mp4 --output captions.srt
kino subtitles clip.mp4 captions.srt
kino resize clip.mp4 --aspect-ratio 9:16
kino video-quality-check clip.mp4
kino repurpose clip.mp4 --platforms youtube-shorts instagram-reel tiktok
kino image-extract-colors product.jpg
kino still-package --establish hero.png --beats shot1.png shot2.png --output-dir out/stills

What Agents Can Do

WorkflowExample 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."

MCP Tools

Published 1.16.0 registers 203 MCP tools and 177 CLI commands (the matching development checkout has the same surface at release). The table summarizes core categories — search_tools discovers the exact operation without loading every description.

CategoryCountHighlights
Core video editing32trim, merge, resize, crop, rotate, convert, overlays, subtitles, export, cleanup, templates, merge-compatibility guardrails
Project-backed inspection3content-addressed ingest, unified preflight, temporal evidence packages
Governed AI-video4exact-asset verdicts, acceptance evaluation, audio-preserving body swaps, lineage-bound salvage
Agent workflow engine4validate, plan, render, resume, inspect multi-step jobs with provenance receipts
Dedicated rescue3diagnose, approve, render, verify, quarantine, and resume local content-preserving repairs
Post-rescue planning8semantic timelines/query, EDLs, visual transforms, restoration, composition, autopilot, explicit egress
Cinematic creation4project scaffold, style-pack parsing, storyboard parsing, shot prompt expansion
AI-assisted media11transcription, scene detection, upscaling, stem separation, silence removal, color grading
Hyperframes18init, preview, render, snapshots, inspect, catalog, website capture, local TTS, transcription, background removal, diagnostics, benchmark, post-process
Revideo4materialize the pinned bridge, install locked dependencies, render a project, or run the complete local job with a verified receipt
Repurposing2dry-run manifests, platform-ready variants, thumbnails, storyboards, release checkpoints
Procedural audio7synthesize, compose, presets, effects, sequences, generated audio, spatial audio, mix-parameter guardrails
Visual effects8vignette, glow, noise, scanlines, chromatic aberration, luma key, mask, shape mask, bounded filter parameters
Transitions3glitch, morph, pixelate
Layout and motion6grid, picture-in-picture, split-screen, animated text, counters, progress bars, auto-chapters, layout mismatch warnings
Analysis8scene detection, thumbnail, preview, storyboard, quality compare, metadata, waveform, release checkpoint
Image analysis3extract colors, generate palettes, analyze product images
Still / plate editing5still-match, still-grade, still-gate, image-edit, still-package — establish-locked color match with cohesion gate
Discovery1search_tools
from kinocut import Client

editor = Client()
matches = editor.search_tools("subtitle")
print(matches["tools"])

Full reference: docs/TOOLS.md

Agent-Safe Workflow

For autonomous agents, the intended path is inspect, edit, verify, then ask a human to review release artifacts:

from kinocut import Client

client = Client()

print(client.inspect("trim"))

result = client.pipeline(
    [
        {"op": "trim", "input": "source.mp4", "start": "00:01:00", "duration": "00:00:45"},
        {"op": "add_text", "text": "Launch clip", "position": "top-center"},
        {"op": "normalize_audio"},
        {"op": "resize", "aspect_ratio": "9:16"},
        {"op": "export", "quality": "high"},
        {"op": "release_checkpoint"},
    ],
    output_path="final-short.mp4",
)

Safety contract:

  • Media-producing calls return structured results with output paths.
  • High-risk edit paths now run preflight guardrails before FFmpeg execution: filter bounds, merge compatibility, audio mix volume/timing, overlay/watermark/chroma opacity and similarity, animated text timing/overflow, and grid/split-screen mismatch warnings.
  • Analysis and discovery calls return structured JSON reports.
  • Tool discovery is available through search_tools() and Client.inspect().
  • Unexpected keyword errors are converted into actionable MCPVideoError guidance.
  • Do not publish agent-generated video without video_quality_check, video_release_checkpoint, and human visual/audio inspection.
  • For governed AI-video derivatives, require stored identities, active human decision evidence, and a fresh review slot after every salvage or body-swap — never raw FFmpeg workarounds labeled as governed.

Changelog

1.15.2 (2026-09-24):

  • Verified stereo sound mastering through the measured mastering chain (#523/#525/#526); real caption speech processed with distance profiles; sound-qa-asr fails closed without a real recognition request (#432).
  • Guarded local Revideo operations exposed on the public surface with rendered-format validation (#508); release-checkpoint passes through the MCP release gate from the CLI.
  • Adversarial hardening: the MCP handshake reports the real kinocut version (F1), a central self-overwrite guard rejects outputs aliasing inputs (F2), error echoes truncate oversized values (F4).
  • Absolute trim-end semantics preserved (#493); Windows drive paths keep their prefix (#496); empty/blank ASS caption tracks fail closed instead of rendering empty output.
  • Surface grows to 201 MCP / 173 CLI; mcp-video==1.6.13 installs kinocut==1.15.2.

1.15.1 (2026-08-31):

  • Registry ownership: mcp-video shim 1.6.12 + legacy registry republish (#469).
  • Object-matte streaming decode with scratch caps (#414).
  • mcp-video==1.6.12 installs kinocut==1.15.1.

1.15.0 (2026-08-19):

  • Honest MCP startup failures — kino --mcp reports real import causes; paths redacted, markup-safe (#448, from #445).
  • doctor mcp-server-import check — required core check; doctor can't say OK while --mcp is broken (#449).
  • First-class Windows support — portable projectstore file locking (#446), contention-only lock contract, UTF-8 stdio, windows-latest smoke job.
  • Community-driven release — @gerardoscaglia-creator credited in Contributing and the CHANGELOG acknowledgements.
  • mcp-video==1.6.11 installs kinocut==1.15.0.

1.14.1 (2026-08-13):

  • Patch on 1.14.0: pyright 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):

  • Published 360 dual-cam assembly from a stitched equirect MP4 (camera-agnostic; not X4-only) via video_intent / Client.propose_360_assembly — still 196 MCP / 167 CLI.
  • Landed the performance committee top-10: single-pass 360 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):

  • Added Intent-verb surface (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.
  • Expanded published surface to 196 MCP tools and 167 CLI commands (fully synchronized across standard, test, and client interfaces).
  • Hardened path validation for caption translation, brand kit, and OTIO exports.

1.12.0 (2026-08-07):

  • Added Still/plate editor surface (still-match, still-grade, still-gate, image-edit, still-package) with fail-closed cohesion gating.

1.11.x (2026-07-24):

  • Added thin kinocut_sound S12 public join adapters (sound-capabilities, sound-plan-validate, sound-mix-render, etc.).
  • Post-theme security hardening to prevent absolute host-path leaks and ensure all discovered operations have fail-closed invoke paths. See CHANGELOG.md para las notas de versión históricas completas, o consulta la página de GitHub Releases.

FAQ

¿Qué es Kinocut?

Kinocut es un servidor MCP gratuito y de código abierto, una biblioteca de Python y un CLI de kino para la edición de video con agentes de IA. Envuelve FFmpeg (y extras opcionales de Hyperframes/Whisper) con salvaguardas de verificación previa, recibos de video y puntos de control de calidad. Anteriormente se llamaba mcp-video.

¿Cómo lo instalo?

brew install ffmpeg   # or apt install ffmpeg
pip install kinocut
kino doctor
claude mcp add kinocut -- uvx --from kinocut kino --mcp

¿Es gratuito y local primero?

Sí. Licencia Apache-2.0, se ejecuta en tu máquina, no se requiere cuenta de Kinocut ni clave API para la superficie principal, y los medios no se cargan a una nube de Kinocut.

El cómputo y almacenamiento local aún tienen costos. Los proveedores opcionales y el agente anfitrión pueden cobrar por separado, y las indicaciones o resultados de herramientas pueden llegar al proveedor de modelos del anfitrión. La ejecución local por sí sola no establece una salida de datos cero.

¿Qué agentes funcionan con él?

Cualquier cliente compatible con MCP que pueda ejecutar un servidor stdio local (Claude Code, Cursor, Windsurf, Cline y similares). También puedes usar el cliente de Python o el CLI sin un agente.

¿Cuántas herramientas hay?

La versión publicada 1.16.0 proporciona 203 herramientas MCP / 177 comandos CLI. Esta rama tiene la misma superficie registrada en la versión. Consulta los esquemas de herramientas del servidor instalado para conocer los parámetros exactos. El ensamblaje 360 aún reutiliza video_intent y video_review_decide.

¿Puede Kinocut editar video 360 de Insta360 X4?

Sí — desde un MP4 360 cosido, no .insv. Propón un 360_assembly_plan, apruébalo y luego renderiza split/switch/PiP/single. También funciona para otras cámaras equirectangulares cosidas. Consulta docs/360_ASSEMBLY.md.

¿Se llamaba mcp-video?

Sí. El mcp-video==1.6.15 publicado actualmente instala kinocut==1.16.0; el mcp-video==1.6.11 histórico instalaba kinocut==1.15.0. Las importaciones de compatibilidad, el nombre del CLI, las variables de entorno, el directorio de datos, los URI de recursos y las claves de recibos siguen siendo compatibles en la línea 1.14.x+.

Más respuestas: docs/faq.md · FAQ en el sitio: kinocut.dev/#faq

Documentación

Pruebas

La verificación de desarrollo vive en docs/TESTING.md. Mantén actualizadas las comprobaciones de superficie pública, flujo de trabajo de medios y seguridad al cambiar el comportamiento de las herramientas.

Desarrollo

git clone https://github.com/KyaniteLabs/kinocut.git
cd kinocut
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest tests/ -v -m "not slow and not hyperframes"

Comunidad

Despliegues comunitarios

Los operadores que quieran una URL MCP pública sin abrir puertos del router doméstico pueden estudiar la pila de referencia comunitaria Apache-2.0 que coloca Kinocut + Hyperframes detrás de Tailscale Funnel, Caddy y Google OAuth (mcp-auth-proxy): hyperframes-selfhost (no afiliado a KyaniteLabs; evalúa la seguridad según tu modelo de amenazas).

Licencia

Apache 2.0. Consulta LICENSE.

Construido con FFmpeg, Hyperframes y el Model Context Protocol.


Parte de KyaniteLabs

Más de KyaniteLabs. Proyectos relacionados:

  • Epoch — servidor MCP de estimación de tiempo (PERT) para agentes de IA
  • DialectOS — servidor MCP y CLI de localización de dialectos españoles
  • checkyourself — comprobaciones de preparación para producción local primero para código construido con IA

→ Más en kyanitelabs.tech


Si Kinocut te resulta útil, marca con estrella o sigue el proyecto en GitHub — ayuda a que otros constructores de agentes lo encuentren. Si te ahorró horas reales de edición: ko-fi.com/kyanitelabs.

Construido por Simon Gonzalez De Cruz — disponible para ingeniería Forward-Deployed / Applied-AI y trabajo por contrato a través de los enlaces de perfil público anteriores.

¿Qué es Kinocut?

Kinocut es un servidor MCP y CLI de edición de video con salvaguardas para agentes de IA que ayuda a constructores de agentes de IA, usuarios de Claude Code/Cursor y operadores de medios locales a editar, subtitular, reutilizar y controlar la calidad del video con herramientas FFmpeg tipadas.

ProductoKinocut
Categoríaservidor MCP y CLI de edición de video con salvaguardas para agentes de IA
Mejor paraconstructores de agentes de IA, usuarios de Claude Code/Cursor y operadores de medios locales
No esun editor de nube alojado o un shell FFmpeg sin tipar
FuenteGitHub (canónico) · Forgejo (espejo descendente)
Palabras claveMCP de edición de video, video de agentes de IA, MCP FFmpeg, Shorts Reels, ensamblaje 360 Insta360

Para quién es

  • Principal: constructores de agentes de IA, usuarios de Claude Code/Cursor y operadores de medios locales
  • Úsalo cuando necesites editar, subtitular, reutilizar y controlar la calidad del video con herramientas FFmpeg tipadas
  • Omítelo si necesitas un editor de nube alojado o un shell FFmpeg sin tipar

FAQ

¿Qué es Kinocut?

Kinocut es un servidor MCP y CLI de edición de video con salvaguardas para agentes de IA. Ayuda a constructores de agentes de IA, usuarios de Claude Code/Cursor y operadores de medios locales a editar, subtitular, reutilizar y controlar la calidad del video con herramientas FFmpeg tipadas.

¿Quién debería usar Kinocut?

Constructores de agentes de IA, usuarios de Claude Code/Cursor y operadores de medios locales.

¿En qué se diferencia Kinocut?

A diferencia de los scripts FFmpeg crudos o shells de agentes sin protección, Kinocut valida herramientas y emite recibos.

¿Es Kinocut software de producción?

Trata el estado del README y las etiquetas de versión como fuente de verdad para la madurez. Valida según tus propios requisitos antes del uso en producción.

¿Puede Kinocut convertir un archivo Insta360 X4 en una edición de dos cámaras?

Sí: exporta un MP4 360 cosido, luego propón → aprueba → renderiza. .insv se rechaza. Esto se incluyó en 1.14.1 y permanece en la versión publicada 1.16.0.

Estado

  • Mantenido a partir de 2026 en la rama predeterminada
  • Prefiere las etiquetas de versión al fijar dependencias
  • Reporta problemas en el repositorio de GitHub canónico

Superficie de agentes

  • Agentes de codificación: lee este README primero, luego los docs/AGENTS.md del repositorio si están presentes
  • Prefiere resúmenes legibles por máquina (llms.txt) cuando el repositorio incluya uno
  • Los puntos de entrada MCP o de habilidades están documentados en el repositorio cuando corresponde

Contribuciones

Los problemas y PRs son bienvenidos en GitHub. Mantén los documentos públicos libres de secretos y rutas locales de máquina.

Colaboradores

Kinocut mejora en público, y las contribuciones externas lo moldean — las correcciones de diagnósticos de 1.15.0 se remontan directamente a un excelente informe de error. Los informes con pasos de reproducción y un traceback real son contribuciones, y los colaboradores reciben crédito por nombre en los agradecimientos del CHANGELOG y en las notas de versión.

  • @gerardoscaglia-creator — su investigación del modo MCP en Windows (#445) expuso ambas brechas de diagnósticos corregidas en 1.15.0, y su corrección de bloqueo de archivos portátil (#446) llegó en 1.15.0 con crédito. Gracias.
  • @pedropaav-art — escape de rutas de opciones de filtro en Windows (#458), fusionado el 2026-08-18, incluido en 1.15.0.
  • @linhaixin45-cmyk — kino doctor piso de versión de Python con una pista de instalación visible (#459), fusionado el 2026-08-18, incluido en 1.15.0.
  • @WohaibHasan — manejo de fin de recorte absoluto (#493), preservación de unidades de Windows (#496) y captura de pruebas CLI UTF-8 portátil (#498).
  • @betsmayank — primera corrección externa fusionada: Hyperframes init ya no se cuelga bajo MCP sin un TTY (#361).
  • @austinwmson y @ismailkattakath — informes externos que cerraron brechas reales: propiedades de tiempo de ejecución de remotion_still (#306) y la pila de referencia autohospedada Funnel + OAuth (#432).
  • @Dodothereal y @OyaAIProd — primeros PRs externos (ASS PlayRes para quemados verticales #378, insignias SafeSkill).

Licencia

Consulta LICENSE en este repositorio (o los metadatos del paquete si la licencia es solo del paquete).

Arquitectura multiplataforma y evidencia de soporte actual: paridad de plataformas. El procesamiento compartido web/móvil y los clientes nativos no están implementados en esta versión.