kinocut
Descubrimiento público
mcp-video es un servidor MCP, una biblioteca de Python y una CLI para la edición de vídeo mediante agentes. Ayuda a los agentes de IA y a los scripts de automatización a inspeccionar, recortar, fusionar, subtitular, cambiar el tamaño, transcodificar, analizar y generar vídeo con FFmpeg y flujos de trabajo de creación basados en código.
Búsquedas más frecuentes: servidor MCP de edición de vídeo, edición de vídeo para agentes de IA, automatización con FFmpeg, herramientas de vídeo para Claude, vídeo MCP para Cursor, biblioteca de edición de vídeo en Python, canalización de medios para agentes, CLI de automatización de vídeo.
Related MCP server: video-editor
¿Qué es mcp-video?
Un servidor de edición de vídeo de código abierto construido sobre el Model Context Protocol (MCP). Ofrece a los agentes de IA, desarrolladores y creadores de vídeo la capacidad de editar y crear archivos de vídeo mediante programación.
Dos modos:
Editar vídeo existente con FFmpeg: recortar, fusionar, superponer texto, añadir audio, aplicar filtros, estabilizar, detectar escenas, transcribir y más.
Crear vídeo nuevo desde código con Hyperframes (nativo de HTML, Apache 2.0): crear composiciones, previsualizar en vivo, renderizar a MP4 y luego realizar postprocesamiento.
Tres interfaces:
Interfaz | Ideal para | Ejemplo |
Servidor MCP | Agentes de IA (Claude Code, Cursor) | "Recorta este vídeo y añade un título" |
Cliente Python | Scripts, automatización, canalizaciones |
|
CLI | Scripts de shell, operaciones rápidas, humanos |
|
Instalación
Requisitos previos: FFmpeg debe estar instalado. Para las funciones de Hyperframes, también necesitas Node.js 22+.
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpegInstalación:
pip install mcp-video
# or run without installing:
uvx mcp-videoVerifica tu configuración:
mcp-video doctor
mcp-video doctor --jsonInicio rápido
Como servidor MCP (para agentes de IA)
Claude Code:
claude mcp add mcp-video -- uvx mcp-videoClaude Desktop:
{
"mcpServers": {
"mcp-video": {
"command": "uvx",
"args": ["mcp-video"]
}
}
}Cursor:
{
"mcpServers": {
"mcp-video": {
"command": "uvx",
"args": ["mcp-video"]
}
}
}Luego simplemente pídele a tu agente: "Recorta este vídeo de 0:30 a 1:00, añade una tarjeta de título y cambia el tamaño para TikTok."
Como biblioteca de Python
from mcp_video import Client
editor = Client()
info = editor.info("interview.mp4")
clip = editor.trim("interview.mp4", start="00:02:15", duration="00:00:30")
video = editor.merge(clips=["intro.mp4", clip.output_path, "outro.mp4"])
video = editor.add_text(video.output_path, text="EPISODE 42", position="top-center", size=48)
result = editor.resize(video.output_path, aspect_ratio="9:16")Flujo de trabajo en Python seguro para agentes
Para agentes autónomos, prefiere la inspección, el encadenamiento de canalizaciones y un punto de control de lanzamiento:
from mcp_video import Client
client = Client()
print(client.inspect("create_from_images")) # Real params, aliases, return type
result = client.pipeline(
[
{"op": "create_from_images", "images": frames, "fps": 30},
{"op": "effect_glow", "intensity": 0.2}, # safe capped default
{"op": "add_audio", "audio_path": "soundtrack.wav", "mix": True},
{"op": "export", "quality": "high"},
],
output_path="final.mp4",
)
checkpoint = client.release_checkpoint(result.output_path)
print(checkpoint["thumbnail"], checkpoint["storyboard"])Contrato del agente:
Las llamadas del cliente que producen medios devuelven
EditResultcon.output_path.Las llamadas de análisis/descubrimiento devuelven informes tipados o diccionarios.
Client.inspect(name)expone parámetros, alias, categoría y tipo de retorno.Los errores inesperados de palabras clave se convierten en orientación procesable de
MCPVideoError.No publiques vídeos generados por agentes sin
assert_quality()orelease_checkpoint()además de una inspección visual/auditiva humana.
Como herramienta CLI
mcp-video info video.mp4
mcp-video trim video.mp4 -s 00:02:15 -d 30
mcp-video convert video.mp4 -f webm -q high
mcp-video template tiktok video.mp4 --caption "Check this out!"Herramientas MCP
87 herramientas MCP en 10 categorías, incluida la meta-herramienta search_tools para un descubrimiento rápido. Todas devuelven JSON estructurado. Consulta la referencia completa de herramientas para obtener todos los detalles.
Categoría | Cantidad | Destacados |
Vídeo principal | 32 | recortar, fusionar, texto, audio, redimensionar, convertir, filtros, estabilizar, croma, subtítulos, marca de agua, lote, limpieza, vista previa de plantilla, exportar |
Impulsado por IA | 11 | transcribir (Whisper), detección de escenas, separación de pistas (Demucs), escalado, gradación de color |
Hyperframes | 8 | iniciar, renderizar, imagen fija, vista previa, composiciones, validar, añadir bloque, canalización |
Síntesis de audio | 7 | generar formas de onda, preajustes, secuencias, efectos, audio espacial — NumPy puro |
Efectos visuales | 8 | viñeta, aberración cromática, líneas de escaneo, ruido, brillo, clave de luminancia, máscara, máscara de forma |
Transiciones | 3 | glitch, pixelar, morph |
Diseño y movimiento | 6 | cuadrícula, pip, texto animado, contadores, barras de progreso, capítulos automáticos |
Análisis | 8 | detección de escenas, miniatura, vista previa, guion gráfico, comparación de calidad, metadatos, forma de onda, punto de control de lanzamiento |
Análisis de imagen | 3 | extracción de color, generación de paleta, análisis de producto |
Meta | 1 |
|
Recursos | 4 | prompts, flujos de trabajo, plantillas, ejemplos |
Descubrimiento de herramientas:
from mcp_video import Client
editor = Client()
results = editor.search_tools("subtitle") # Find subtitle-related toolsIntegración con Hyperframes
Crea vídeos mediante programación con Hyperframes, un marco nativo de HTML para vídeo.
1. Init project -> hyperframes_init
2. Add blocks -> hyperframes_add_block
3. Preview live -> hyperframes_preview
4. Render -> hyperframes_render
5. Post-process -> hyperframes_to_mcpvideoConsulta la documentación de Hyperframes y la referencia del cliente de Python.
Cliente Python
from mcp_video import Client
editor = Client()Consulta la referencia completa del cliente de Python para todos los métodos y tipos de retorno.
Referencia de CLI
mcp-video [command] [options]Consulta la referencia completa de CLI para todos los comandos y opciones.
DSL de línea de tiempo
Para ediciones complejas de múltiples pistas, describe todo en un único objeto JSON:
editor.edit({
"width": 1080,
"height": 1920,
"tracks": [
{
"type": "video",
"clips": [
{"source": "intro.mp4", "start": 0, "duration": 5},
{"source": "main.mp4", "start": 5, "trim_start": 10, "duration": 30},
{"source": "outro.mp4", "start": 35, "duration": 10},
],
"transitions": [
{"after_clip": 0, "type": "fade", "duration": 1.0},
],
},
{
"type": "audio",
"clips": [
{"source": "music.mp3", "start": 0, "volume": 0.7, "fade_in": 2},
],
},
],
"export": {"format": "mp4", "quality": "high"},
})Plantillas
Plantillas preconstruidas para formatos comunes de redes sociales:
from mcp_video.templates import tiktok_template, youtube_shorts_template
timeline = tiktok_template(video_path="clip.mp4", caption="Check this out!", music_path="bgm.mp3")
result = editor.edit(timeline)Compatible con: TikTok, YouTube Shorts, Instagram Reels/Posts, vídeos de YouTube.
Manejo de errores
Errores estructurados y procesables con sugerencias de corrección automática:
{
"success": false,
"error": {
"type": "encoding_error",
"code": "unsupported_codec",
"message": "Codec error: vp9 — Auto-convert input from vp9 to H.264/AAC before editing",
"suggested_action": {
"auto_fix": true,
"description": "Auto-convert input from vp9 to H.264/AAC before editing"
}
}
}Flujos de trabajo
Canalizaciones por etapas al estilo ICM para producciones comunes, con contratos de etapa CONTEXT.md, configuración de fábrica references/ y scripts ejecutables workflow.py.
cd workflows/01-social-media-clip
python workflow.py /path/to/video.mp4Flujo de trabajo | Etapas | Descripción |
| 5 | Paisaje → TikTok / Short / Reel |
| 6 | Destacado con capítulos + subtítulos incrustados |
| 7 | Vídeo explicativo de marca desde cero |
| 5 | Crear desde cero con Hyperframes, luego post-procesar |
Consulta workflows/CONTEXT.md para la tabla de enrutamiento.
Arquitectura
mcp_video/
client/ # Python Client API (mixins per domain)
client/meta.py # Client discovery mixin (search_tools)
server.py # MCP server (87 tools + 4 resources)
server_tools_*.py # Tool registration by category
engine.py # Core FFmpeg engine
engine_*.py # Specialized engines (thumbnail, edit, probe, etc.)
models.py # Pydantic models
errors.py # Error hierarchy + FFmpeg stderr parser
ffmpeg_helpers.py # Shared FFmpeg utilities
audio_engine.py # Procedural audio synthesis
effects_engine.py # Visual effects + motion graphics
transitions_engine.py # Clip transitions
ai_engine.py # AI features (Whisper, Demucs, Real-ESRGAN)
hyperframes_engine.py # Hyperframes CLI wrapper
image_engine.py # Image color analysis
quality_guardrails.py # Automated quality checks
workflows/ # ICM staged pipelines
CONTEXT.md # Layer 1 routing table
01-social-media-clip/ # Stage contract + runnable script
02-podcast-clip/ # Stage contract + runnable script
03-explainer-video/ # Stage contract + runnable scriptFormatos compatibles
Vídeo | Audio (extracción) | Subtítulos |
MP4, WebM, MOV, GIF | MP3, AAC, WAV, OGG, FLAC | SRT, WebVTT |
Descubrimiento de agentes
llms.txt— mapa compacto del proyecto para agentesdocs/AI_AGENT_DISCOVERY.md— posicionamiento más rico y fragmentos de integración
Desarrollo
git clone https://github.com/KyaniteLabs/mcp-video.git
cd mcp-video
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Comunidad y soporte
Contribución: CONTRIBUTING.md
Seguridad: SECURITY.md (ruta de informe privado)
Ayuda: SUPPORT.md o GitHub Discussions
Código de conducta: CODE_OF_CONDUCT.md
Registro de cambios: CHANGELOG.md
Hoja de ruta: ROADMAP.md
Gobernanza: GOVERNANCE.md
Mantenedores: MAINTAINERS.md
Pruebas
Las pruebas están excluidas del paquete PyPI. Para ejecutar localmente:
pip install -e ".[dev]"
pytest tests/ -v -m "not slow and not hyperframes"Consulta docs/TESTING.md para conocer las categorías completas de pruebas y los detalles de CI.
Licencia
Apache 2.0 — consulta LICENSE.
Construido sobre FFmpeg, Hyperframes y el Model Context Protocol.
Consulta docs/LEGAL_REVIEW.md para notas sobre licencias de dependencias.
Available Tools
20 toolshyperframes_doctorB
Run Hyperframes environment diagnostics.
| Name | Required | Description | Default |
|---|---|---|---|
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral-disclosure burden. It does not say whether diagnostics are read-only, whether they may mutate state, what permissions are required, or what kind of checks are performed; only an output schema exists to cover return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste. It is appropriately sized for a simple diagnostic command.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and fully documented parameter reduce the need for return-value explanation. However, the absence of usage guidance and behavioral disclosure leaves gaps for an agent deciding when and how to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single optional overwrite parameter is fully documented in the schema. The description adds no parameter-level meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Run) and resource (Hyperframes environment diagnostics). It is clear what the tool does in general, but it does not distinguish itself from sibling tools like hyperframes_validate, hyperframes_inspect, or hyperframes_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusion conditions. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsA
Find registered MCP tools by name, keyword, or a supported task phrase.
Returns JSON {success, query, count, tools:[{name, description, required_params}]}. Use to find the right tool for a task without reading every description. Pass query with a term such as blur, resize, subtitle, audio, or trim, or a task such as "remove filler words", "resume render", or "keep face in frame". Exact names rank first. Discovery describes contracts, not installed backend availability.
Args: query: Search term — e.g. "blur", "resize", "subtitle", "audio", "trim".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the burden and does well: it gives the exact response shape, discloses ranking behavior ('Exact names rank first'), and warns that results describe contracts rather than installed backend availability — a real limitation an agent would otherwise misread. The unexplained 'overwrite' parameter is the one behavioral hole.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then return shape, then usage, then args — good ordering with no filler. Minor redundancy: the example terms 'blur, resize, subtitle, audio, trim' are listed in the body and then again in the Args block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so explaining return fields is a bonus rather than a requirement, and the description still does it. For a 2-param discovery tool with no annotations, it covers what to pass and what comes back; only the 'overwrite' parameter and any result-count limits remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; the description fully compensates for the undocumented 'query' by giving example terms and phrase forms, which is genuinely beyond the schema. However it never mentions 'overwrite', which is surprising for a search tool and is only described in the schema itself — an agent cannot tell from the description whether search can mutate anything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opening sentence states a specific verb and resource ('Find registered MCP tools') plus the three lookup modes (name, keyword, task phrase). Against ~190 siblings that are all concrete media operations, this is unmistakably the meta-discovery tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to reach for it ('to find the right tool for a task without reading every description') and supplies concrete query patterns, including task phrases like 'remove filler words' and 'resume render'. It does not state when NOT to use it (e.g. when the target tool name is already known), so not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_add_audioAdd or mix video audioADestructive
Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; source video and audio are read only. Pass video_path as the source video and audio_path as the audio file; set mix to combine or false to replace.
| Name | Required | Description | Default |
|---|---|---|---|
| mix | No | True mixes the new audio with existing video audio; false replaces the original audio track. | |
| volume | No | Audio gain from 0.0 to 2.0, where 1.0 preserves original loudness. | |
| fade_in | No | Non-negative fade-in duration in seconds applied to the inserted audio. | |
| fade_out | No | Non-negative fade-out duration in seconds applied near the inserted audio end. | |
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| audio_path | Yes | Absolute path to an existing local audio file such as MP3, WAV, M4A, or AAC. | |
| start_time | No | Optional start offset in seconds where the inserted audio begins. | |
| video_path | Yes | Absolute path to an existing local video file. The input file is read only. | |
| output_path | No | Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten. | |
| duration_policy | No | How to reconcile audio and video length: keep_video (default, preserves the full video/outro), pad_audio, loop_audio, trim_audio, or shortest (may trim the outro). | keep_video |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With destructiveHint=true and readOnlyHint=false already declared, the description adds real value by stating the source video and audio are read only and that a new file is rendered. It does not cover the overwrite permission or what happens to the existing output file, but the safety story is largely consistent and supplemented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the action and output behavior, and every sentence carries information. The "Returns JSON {success, output_path}" clause is mildly redundant given an output schema exists, which keeps it off a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter mutation with full schema coverage and an output schema, the description supplies the essential orientation: what is read, what is written, and the two key path parameters. The only notable omission is sibling disambiguation among the several audio-track tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all ten parameters are already documented, and the description's mapping of video_path/audio_path and mix to replace-vs-combine mostly restates the schema. Baseline 3 is appropriate; it adds no syntax, units, or edge cases beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb set (add, replace, mix) on a concrete resource (audio track in an existing video) and states that it renders a new output file, so the agent knows exactly what happens. It falls short of a 5 because it never distinguishes itself from a very close sibling, video_mix_audio, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use to score or re-voice a video" gives a genuine usage context and the mix flag adds a mode choice, so usage is implied clearly. But there are no exclusions and no routing to alternatives such as video_mix_audio, video_add_generated_audio, video_duck_audio, or video_audio_bed, which is a meaningful gap given how many audio-overlay siblings exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_add_textA
Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as the source video, text with the string to draw, and position/size/color to style it; output_path is auto-named when omitted.
Args: input_path: Absolute path to the input video. text: Text to overlay. position: Position on screen. Named (top-left, top-center, etc.), pixel" " {"x": 100, "y": 50}, or percentage {"x_pct": 0.5, "y_pct": 0.5}. font: Path to font file. Uses system default if omitted. size: Font size in pixels. color: Text color (CSS color name or hex). shadow: Add text shadow for readability. start_time: When the text appears (seconds). Null = always visible. duration: How long text is visible (seconds). Requires start_time. output_path: Where to save the output. Auto-generated if omitted. crf: Override CRF value (0-51, lower = better quality). Default 23. preset: Override FFmpeg encoding preset (ultrafast, fast, medium, slow, veryslow).
| Name | Required | Description | Default |
|---|---|---|---|
| crf | No | ||
| font | No | ||
| size | No | ||
| text | Yes | ||
| color | No | white | |
| preset | No | ||
| shadow | No | ||
| duration | No | ||
| position | No | top-center | |
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes | ||
| start_time | No | ||
| output_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return shape {success, output_path} and that output_path is auto-generated when omitted. It does not say whether the source video is modified, that the operation re-encodes (and is therefore lossy/quality-affecting), or what permissions/overwrite behavior apply beyond the crf/preset hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose lead is three tight, front-loaded sentences covering purpose, return value, and scoping. The long Args block is justified given near-zero schema description coverage, though it slightly duplicates the lead sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so restating the return JSON is minor redundancy; the description fills the real gaps with per-parameter semantics and auto-naming behavior. The remaining omission is behavioral: no disclosure that rendering re-encodes the video or how overwrite interacts with existing output files.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 8% across 13 parameters, so the description must compensate and largely does: it explains position's three syntaxes (named, pixel {x,y}, percentage {x_pct,y_pct}), that duration requires start_time, that start_time null means always visible, the CRF range and quality direction, and preset values. Only overwrite is left to the schema, which already documents it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (overlay text on video) with concrete examples (titles, captions, watermarks) and pins scope as 'a single text element', which implicitly distinguishes it from the sibling video_add_texts. It never names that sibling or other text-related tools explicitly, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use to burn a single text element into a video' hints at when this tool applies versus multi-element alternatives, but no sibling (video_add_texts, video_subtitles, video_watermark, video_text_animated) is named and no when-not guidance or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_add_textsA
Overlay multiple text elements on a video in a single FFmpeg pass.
Returns JSON {success, output_path}. Use when one video needs several captions at once. Pass input_path as the source video and texts as a list of overlay dicts (text plus optional position/size/color/timing).
Args: input_path: Absolute path to the input video. texts: List of text overlay dicts. Each dict may contain: - text (str, required) - position (str|dict, default "center") - font (str, optional) - size (int, default 48) - color (str, default "white") - shadow (bool, default True) - start_time (float, optional) - duration (float, optional) output_path: Where to save the output. Auto-generated if omitted. crf: Override CRF value (0-51, lower = better quality). Default 23. preset: Override FFmpeg encoding preset (ultrafast, fast, medium, slow, veryslow). auto_layout: Automatically distribute vertically stacked texts at the same named position. Default True.
| Name | Required | Description | Default |
|---|---|---|---|
| crf | No | ||
| texts | Yes | ||
| preset | No | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes | ||
| auto_layout | No | ||
| output_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the single-pass FFmpeg behavior, the return shape {success, output_path}, auto-generated output path, and the auto_layout default that distributes stacked texts. It does not mention overwrite semantics or permissions, though overwrite is covered in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and return shape, then a well-organized Args block. The nested texts documentation is necessarily verbose but every line earns its place; minor redundancy in restating defaults already in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 7 parameters and a nested texts list, the description covers all inputs, their defaults, sub-field structure, and the return format. An agent has everything needed to invoke it correctly; the output schema being present makes the return note a bonus rather than a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 14%, so the description must compensate, and it does: every parameter is documented with defaults (crf 0-51 lower=better default 23, preset enum values, auto_layout default True) and the texts dict sub-fields are fully enumerated with types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Overlay multiple text elements on a video in a single FFmpeg pass') and the plural/plural-batch scope distinguishes it from the singular sibling video_add_text. An agent can tell them apart without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when one video needs several captions at once,' which implies the alternative (single-text tool) for other cases. It stops short of naming video_add_text as the fallback, but the routing condition is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_convertConvert video formatADestructive
Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_export for delivery presets. Pass input_path as the source video and format as the target container; long renders stream MCP progress.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Target output format: mp4, webm, gif, mov, hevc, av1, or prores. | mp4 |
| quality | No | Encoding quality preset: low, medium, high, or ultra. | high |
| two_pass | No | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes | Absolute path to an existing local video file. The input file is read only. | |
| output_path | No | Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten. | |
| target_bitrate | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, readOnlyHint=false and non-idempotent, and the schema's overwrite parameter documents the media-protection rule. The description adds one genuinely new behavioral fact — long renders stream MCP progress — but says nothing about the destruction/overwrite risk itself, so it is modest value on top of structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with purpose before the routing rule and parameter notes. The 'Returns JSON {success, output_path}' sentence is wasted space because an output schema already exists, but overall there is little filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers purpose, the key alternative, the required parameter, and progress streaming. Gaps remain around quality/two_pass/bitrate selection and overwrite behavior, though annotations and schema partially backfill the latter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so the baseline is 3. The description restates input_path and format, which the schema already documents, and is silent on quality, two_pass, target_bitrate, and overwrite — the parameters most likely to be misused for a transcode.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (transcode) and resource (video into a different container or codec) with example formats. It also explicitly distinguishes itself from the sibling video_export, so an agent can choose between them without reading either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use for format conversion; prefer video_export for delivery presets" gives an explicit alternative and the condition that selects it. It does not address adjacent siblings such as video_resize, video_hls_segment, or video_export_frames, so routing is clear only against the one named competitor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_doctorB
Return a read-only JSON readiness verdict for the next video job.
| Name | Required | Description | Default |
|---|---|---|---|
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does say the call is read-only and returns JSON, but it never says what the verdict consists of, whether it blocks or just reports, or — critically — why a supposedly read-only check exposes an 'overwrite' option that allows replacing existing media. That internal tension is left unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. Nothing is padded or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers the return shape, so the description needn't detail the verdict fields. However, for a doctor/preflight tool with no annotations, it should say what is being checked and clarify the read-only claim against the destructive-sounding overwrite parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter and schema description coverage is 100%, so the schema already explains 'overwrite' in detail. Baseline 3 applies; the description adds nothing about the parameter and does not resolve why a read-only verdict takes an overwrite flag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource: return a readiness verdict (preflight check) for the next video job. That distinguishes it from siblings like video_trim or video_convert, though it does not explicitly contrast with the nearest peers (video_quality_check, hyperframes_doctor, video_rescue_inspect).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Readiness verdict for the next video job' implies a preflight/doctor step, but there is no statement of when to call this versus video_quality_check, hyperframes_doctor, or video_rescue_inspect, and no prerequisites or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_extract_frameA
Extract a frame using the same sampling as CLI and Python frame extraction.
Omitted timestamps use smart thumbnail selection when available, falling back to 10% of the clip duration. Pass 0 explicitly to extract the first frame.
Args: input_path: Absolute path to the video. timestamp: Explicit time in seconds, or None for automatic sampling. output_path: Where to save the frame. Auto-generated if omitted.
| Name | Required | Description | Default |
|---|---|---|---|
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| timestamp | No | ||
| input_path | Yes | ||
| output_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose non-obvious behavior: automatic output path generation and the fallback sampling strategy. It omits, however, whether the call writes a new file into the workspace, how existing files at output_path are treated (the schema's overwrite flag hints at collision protection but is never explained), and what errors occur on invalid timestamps or missing files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, followed by the sampling rules, then a compact Args block – efficient and scannable. The opening clause about matching "CLI and Python frame extraction" adds little for an MCP agent and could be cut.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the sampling logic is covered. But with zero annotations on a tool that produces a file, the agent is left to infer side effects, overwrite protection, and failure modes; that is a meaningful gap for a write-producing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, so the description must compensate, and it largely does: it explains input_path must be absolute, timestamp semantics including the None and 0 cases, and that output_path is auto-generated when omitted. The overwrite parameter is not addressed in the description, but the schema itself documents it well, so the only gap is redundancy rather than omission.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Extract a frame") and clarifies the sampling behavior, so the agent knows exactly what it produces. It does not distinguish itself from plausible siblings like video_thumbnail, video_export_frames, or video_seek_frame, and the reference to "CLI and Python frame extraction" points outside the tool catalog rather than at an alternative MCP tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful parameter-level usage rules (omit timestamp for smart selection with a 10% fallback; pass 0 explicitly for the first frame), which is more than nothing. But it never says when to choose this over video_thumbnail or video_export_frames, nor any preconditions such as path validity or video format support, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_infoA
Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimensions and length. Pass input_path as the absolute path to the existing video. Set exact=true to also get the decoded frame_count and the raw r_frame_rate/avg_frame_rate strings (slower: the whole video stream is decoded).
Args: input_path: Absolute path to the video file. exact: Also report frame_count (decoded), frame_count_source, r_frame_rate and avg_frame_rate (raw ffprobe strings, null when not measurable).
| Name | Required | Description | Default |
|---|---|---|---|
| exact | No | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden and does well: it discloses cost (exact=true decodes the whole stream, so it is slower), what extra fields result, and that raw rate strings may be null. It never states this is a read-only/no-side-effect operation explicitly, nor mentions the overwrite parameter present in the schema, leaving a small gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then return shape, then the when-to-use hint, then parameter detail — a logical order with no filler. The Args block partially duplicates the prose but earns its place by adding semantics the prose only implies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the description still usefully previews the returned fields; the performance tradeoff of exact is covered. What remains unaddressed is error/edge behavior (non-video or missing files, overwrite interaction) and differentiation from the other inspection siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, but the description compensates by explaining both key parameters: input_path must be an absolute path to an existing file, and exact triggers a full decode returning frame_count, frame_count_source and raw ffprobe rate strings. The third parameter (overwrite) is omitted from the Args block, so coverage is high but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Probe a video file for metadata") and immediately describes the return shape, so an agent can distinguish it from siblings like video_doctor or video_quality_check which analyze content rather than report container/stream metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use before any edit to learn the source's dimensions and length" gives a clear triggering condition for a typical workflow. It does not name an alternative tool or state when not to use it (e.g. versus video_doctor or video_rescue_inspect), so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_mergeMerge video clipsADestructive
Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. Pass clips as an ordered list of absolute paths (at least two); output is auto-named or written to output_path.
| Name | Required | Description | Default |
|---|---|---|---|
| clips | Yes | Ordered absolute paths to existing video clips. Provide at least two clips; inputs are validated and never modified. | |
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| transition | No | Optional xfade transition applied to every clip boundary, such as fade, dissolve, wipeleft, wiperight, slideleft, or slideright. | |
| output_path | No | Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten. | |
| transitions | No | Optional per-boundary xfade transitions. Overrides transition when provided. | |
| transition_duration | No | Duration in seconds for each transition; must fit inside neighboring clips. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and non-idempotent, so the safety bar is lower; the description still adds real context: output is auto-named or written to output_path, and concatenation produces a 'rendered output file' rather than metadata. It does not state re-run cost, processing time, or re-encoding behavior, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by usage and parameter constraints; nothing is padded. The 'Returns JSON {success, output_path}' sentence is slightly redundant given the tool has an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter mutation tool with full schema coverage and an output schema, the description covers action, ordering constraint, minimum input count, and output destination handling. Remaining gaps (failure modes on incompatible clips, transition-duration constraints) are documented in the schema, though failure behavior is nowhere stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the two most important semantics an agent could miss — clips must be an ordered list of absolute paths and at least two are required — but adds nothing about transition, transitions, or overwrite beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Concatenate two or more existing video clips into one rendered output file') and restates the join intent in a second sentence. It is immediately distinguishable from analysis siblings (video_info) and image-sourced siblings, though it never explicitly names a nearest alternative such as video_composite_layers or video_create_from_images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use to join ordered clips into a single video' implies the use case, and the ordered-list requirement adds practical setup context. There is no when-not-to-use guidance, no mention of alternatives, and no prerequisites (codec/resolution compatibility of inputs is unaddressed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_project_createB
Scaffold a cinematic video project with style, storyboard, and refs folders.
Args: slug: Project slug using lowercase letters, numbers, hyphens, or underscores. output_dir: Base directory for the projects/ folder. Defaults to the current working directory.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| output_dir | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the folder structure and output_dir default, but does not explain overwrite behavior, what happens if the project already exists, permissions needed, or other mutation safety details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: the purpose appears in the first sentence, followed by only the argument details that add value beyond the schema. No sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter scaffold tool with an output schema, the description covers the core creation behavior and two of the three parameters. The remaining overwrite behavior is documented in the schema, so the definition is largely complete, though the lack of annotations means safety context is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, but the description compensates well for two of the three parameters: it specifies the slug format (lowercase letters, numbers, hyphens, underscores) and explains output_dir as the base directory defaulting to the current working directory. The overwrite parameter is documented in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Scaffold a cinematic video project' and names the folders it creates (style, storyboard, refs). It is clear what the tool does, but it does not distinguish itself from siblings such as video_init_project or hyperframes_init.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Scaffold' implies project initialization, but the description gives no explicit when-to-use guidance, prerequisites, or alternative tools. An agent must infer that this is for starting a new project rather than any sibling create/init tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_quality_checkB
Run visual quality checks on a video.
Analyzes brightness, contrast, saturation, audio levels, and color balance. Returns quality scores and recommendations.
Args: input_path: Absolute path to video file fail_on_warning: If True, treat warnings as failures
| Name | Required | Description | Default |
|---|---|---|---|
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes | ||
| fail_on_warning | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose the analysis dimensions and that results come back as scores plus recommendations, and explains that warnings can be escalated to failures. It does not state that the operation is read-only/non-destructive, whether it writes artifacts, or how long/costly the analysis is — meaningful gaps for a media-processing tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scope, then a compact Args block; every line carries information. Slight redundancy between 'Returns quality scores and recommendations' and the presence of an output schema, but nothing wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need little explanation, and the analysis dimensions are covered. Missing: whether the call is safe/non-mutating, what happens to existing files, and why `overwrite` is a parameter at all on a 'check' tool — an agent could be surprised by write behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must compensate. It does document input_path (absolute path) and fail_on_warning (treat warnings as failures) with meaning beyond the schema, but leaves the safety-relevant `overwrite` flag entirely unexplained even though it governs whether existing media is replaced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run visual quality checks on a video') and enumerates the analyzed dimensions — brightness, contrast, saturation, audio levels, color balance — which helps distinguish it from abstract QC siblings. However, it never names or contrasts with the many closely-named siblings (video_design_quality_check, video_metric_qc, video_qc_vision, video_qc_narrative, video_compare_quality), so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives, despite an unusually crowded QC family in the sibling list. No prerequisites, no exclusions, no mention of which check suits which stage of a pipeline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_rescue_inspectC
Inspect a rescue plan or receipt and re-check artifact integrity.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | Yes | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden, but it does not disclose whether inspection is read-only, whether it can mutate artifacts, or what happens when integrity checks fail. The presence of an overwrite parameter in the schema suggests possible mutation, yet the description does not address that risk or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. The action and target are immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description is too sparse for a rescue-inspection tool that accepts an overwrite option and has no annotations. It omits mutation risk, prerequisites, and the relationship to the plan/render steps, leaving important context for safe invocation unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the overwrite parameter is documented in the schema, while the required receipt parameter is not described. The description partially clarifies that the receipt relates to a rescue plan or receipt, but it does not explain the expected format or how the receipt identifies the plan.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb and resource: inspect a rescue plan or receipt and re-check artifact integrity. It distinguishes the tool from video_rescue_plan and video_rescue_render by framing it as an inspection step, though it does not explicitly name those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as video_rescue_plan, video_rescue_render, or other inspection tools. The phrase 're-check artifact integrity' only weakly implies post-plan or post-render verification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_resizeA
Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as the source video (e.g. from video_info) and either width/height or aspect_ratio to define the target.
Args: input_path: Absolute path to the input video. width: Target width in pixels. Use with height. height: Target height in pixels. Use with width. aspect_ratio: Preset aspect ratio (16:9, 9:16, 1:1, 4:3, 4:5, 21:9). Overrides width/height. quality: Quality preset (low, medium, high, ultra). output_path: Where to save the output. Auto-generated if omitted.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| height | No | ||
| quality | No | high | |
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes | ||
| output_path | No | ||
| aspect_ratio | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose two real behavioral facts: aspect_ratio overrides width/height, and output_path is auto-generated when omitted. It does not cover re-encoding/lossiness, overwrite behavior (which the schema documents but the description omits), or what error occurs if neither width/height nor aspect_ratio is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded summary followed by a compact per-argument list; no filler sentences. Mild redundancy between 'Resize a video or change its aspect ratio' and the following 'Use to fit a video to target dimensions or a preset ratio' keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the brief return-value note is sufficient. But the combination rule between width/height and aspect_ratio is only half-stated ('Use with height'), and the overwrite safety flag present in the schema is never referenced in the description, leaving gaps for a 7-parameter mutation tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 14%, but the description compensates well: it enumerates the accepted aspect_ratio values (16:9, 9:16, 1:1, 4:3, 4:5, 21:9) and quality presets (low, medium, high, ultra), neither of which appears as an enum in the schema. Only the overwrite parameter is left to the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Resize a video or change its aspect ratio') and names the two modes of operation (target dimensions or preset ratio). It does not, however, distinguish itself from adjacent siblings like video_crop, video_rotate, or video_convert, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Offers implied usage ('Use to fit a video to target dimensions or a preset ratio') and one useful upstream hint ('input_path ... e.g. from video_info'), but never says when to prefer crop or convert instead, nor what happens when no dimension argument is supplied. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_review_packageC
Assemble a review package and publish-gate verdict for a candidate artifact.
| Name | Required | Description | Default |
|---|---|---|---|
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| project_dir | Yes | ||
| blocking_findings | No | ||
| candidate_artifact | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it does not state that the tool likely writes files, what a review package contains, whether publishing is blocked or merely reported, or what permissions are needed. The schema's overwrite parameter hints at replacing existing media, but the description never warns about destructive behavior or file-protection rules.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and free of filler. It is concise, though its brevity contributes to the larger completeness problem rather than being a virtue by itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters, no annotations, and only 25% schema coverage, so the description needed to carry substantial context. It does not explain what the package includes, what the verdict means, or how blocking_findings changes behavior. The existence of an output schema excuses it from describing return values, but not from the rest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, and the description adds no parameter-level meaning at all. Only overwrite is documented in the schema; project_dir and candidate_artifact are left to inference from their names, while blocking_findings is entirely unexplained despite likely affecting the publish-gate verdict.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb (assemble) and two outputs (review package and publish-gate verdict), giving a rough sense of the tool's job. However, "review package" and "publish-gate verdict" are undefined jargon, and it never distinguishes this tool from the many review/publish siblings such as video_publish_gate, video_review_run, video_review_decide, video_verdict, and video_acceptance_eval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. An agent seeing video_review_package next to video_review_run, video_publish_gate, and video_review_decision has no textual basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_shortsC
Trim, caption, make vertical, and export selected segments in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | ||
| segments | Yes | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes | ||
| output_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure and comes up short. It doesn't say that this writes/export media files, whether outputs overwrite by default, or what permissions/paths are required; 'export' hints at file creation but nothing about side effects is stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the sequence of operations is easy to scan. It is arguably too terse for a 5-parameter composite tool, but there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values, but for a complex 5-parameter tool with nested segment structures and zero annotations, the description leaves too much open: segment format, style semantics, output location, and overwrite behavior are all unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (just the overwrite flag), so the description needs to compensate but doesn't. It never explains what 'style' controls, the expected shape of a 'segments' entry, or how output_path is used, leaving 4 of 5 parameters semantically undocumented across both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names four concrete operations (trim, caption, make vertical, export) on a specific resource (selected segments), which tells an agent exactly what capability this composes. The phrase 'in one call' implicitly distinguishes it from the single-purpose siblings like video_trim, video_add_text, and video_resize, though it doesn't name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in one call' hints that this is the combined/batch alternative to chaining individual tools, which is useful routing context. However, it never states when to prefer this over the sibling tools or when not to use it, leaving the agent to infer the tradeoff between one-shot composition and granular control.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_speedChange video speedADestructive
Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward effects. Pass input_path as the source video and factor as the multiplier (below 1.0 slows, above 1.0 speeds up).
| Name | Required | Description | Default |
|---|---|---|---|
| factor | No | Playback speed multiplier. 2.0 is double speed, 0.5 is half speed, and 1.0 is unchanged. | |
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes | Absolute path to an existing local video file. The input file is read only. | |
| output_path | No | Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=false. The description adds useful behavioral context beyond that: it creates a new output file, leaves the source video unchanged, and returns JSON with success/output_path, though it does not discuss overwrite behavior or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core action and result, and every sentence contributes useful information. The return format is mentioned briefly without bloating the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, existing output schema, and annotations covering safety and mutation profile, the description is complete enough. It supplies the key mental model: a new video is rendered, the source is untouched, and the factor controls slowdown or speedup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the factor parameter already documents 2.0 as double speed, 0.5 as half speed, and 1.0 as unchanged. The description restates input_path as the source and clarifies above/below 1.0 behavior, but adds little meaning beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: rendering a new video with changed playback speed, while explicitly noting the source video is unchanged. It also frames the intended effect as slow-motion or fast-forward, but does not explicitly distinguish itself from siblings such as video_reverse or video_convert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context by saying to use it for slow-motion or fast-forward effects. However, it does not name alternatives or state when not to use this tool, so routing versus other video-edit siblings is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_trimA
Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pass input_path as the absolute path to the source video (e.g. from video_info), start as a timestamp, and duration or end to define the segment.
Args: input_path: Absolute path to the input video. start: Start timestamp (e.g. '00:02:15') or numeric seconds (e.g. 10.5). duration: Duration to keep (e.g. '00:00:30' or '30'). Exclusive with end. end: End timestamp. Exclusive with duration. output_path: Where to save the trimmed video. Auto-generated if omitted. accurate: Frame-accurate seeking (slower). Default False uses fast input seeking which may land on the nearest keyframe.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| start | No | 0 | |
| accurate | No | ||
| duration | No | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| input_path | Yes | ||
| output_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden, and it delivers real behavioral detail: the return shape {success, output_path}, auto-generated output paths, and the important caveat that accurate=False uses fast input seeking and 'may land on the nearest keyframe'. It omits overwrite/error behavior, but the overwrite parameter is at least documented in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and return value are front-loaded in the first two sentences, followed by practical guidance, with the Args block last. The Args block repeats some parameter names already visible in the schema, adding modest redundancy but earning its place through format examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with 14% schema coverage, the description fills nearly all the semantic gaps an agent needs: timestamp formats, exclusivity, output path defaults, and the accuracy/speed tradeoff. Output schema exists so return-value detail is not strictly required, and the overwrite guard is covered by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 14%, so the description must compensate, and it largely does: it documents input_path (absolute path), start (timestamp or numeric seconds), duration, end, output_path (auto-generated if omitted), and accurate (slower, keyframe caveat). Only overwrite is left to the schema, which does describe it adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Trim a video clip') plus the scope of the result ('cut a segment out of a longer video'), which is enough to place it apart from merge, split_screen, or crop siblings. It does not name any specific sibling it competes with (e.g. video_edit, video_export_frames), so it stops short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear operating context ('Use to cut a segment out of a longer video') and a prerequisite chain by pointing at video_info for the input path. It also flags the duration-vs-end mutual exclusivity, which prevents a common wrong call. No explicit when-not-use guidance or named alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_validate_text_layoutA
Validate a set of text overlays for visual failure modes before rendering.
Checks for: text overlap, low contrast, unsafe positioning, excessive sequential overlays, and missing shadows.
Args: overlays: List of overlay specs with keys: text, position, size, color, shadow (optional), start_time (optional), duration (optional). video_width: Video width in pixels. video_height: Video height in pixels. background_color: Background hex color for contrast checking.
Returns: dict with warnings list and clean boolean.
| Name | Required | Description | Default |
|---|---|---|---|
| overlays | Yes | ||
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| video_width | No | ||
| video_height | No | ||
| background_color | No | #000000 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden; it does disclose the checks performed and that output is a warnings list plus a clean boolean. It never says whether the tool is purely analytical or may write files, which matters because the schema exposes an `overwrite` parameter described as "allow replacing existing media" — an agent cannot tell whether this tool mutates anything. Warning severity levels are also undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and check list, then structured Args/Returns sections — each line carries information. The Args block slightly over-indents across lines and the Returns line is redundant given the output schema, costing a little economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validation tool with a loose schema, the overlay contract is well covered and the output shape need not be restated since an output schema exists. Gaps remain: the `overwrite` parameter's purpose, whether any side effects occur, and how warnings are ordered or prioritized relative to the `clean` flag.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20%, but the description compensates strongly by enumerating the overlay spec keys (text, position, size, color, shadow, start_time, duration), which the schema leaves as an untyped `additionalProperties: true` object, and by explaining what video_width/height and background_color are used for. It omits the `overwrite` parameter entirely, leaving one of five parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Validate a set of text overlays") and enumerates exactly what is checked: overlap, contrast, safe positioning, overlay density, missing shadows. It is clearly distinguishable from sibling mutators like video_add_text or video_add_texts, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "before rendering" gives a clear workflow slot for when to call it. It does not, however, state exclusions or point at the alternative (e.g., call video_add_text to apply overlays after validation passes, or video_preflight/quality_check for whole-video checks), so routing is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_workflow_inspectA
Summarize any receipt this project emits, with a read-only integrity check.
Reads a workflow render receipt, a dry-run workflow_plan artifact, or a
layer_plan receipt (v1 legacy with NO receipt_kind field, or v2) at
receipt_path and returns a NORMALIZED inspection: the kind (inferred from
the tool field when receipt_kind is absent, per legacy tolerance),
schema_version, tool, versions, a status summary (per-step statuses, failed
step + error if any), a hash presence/integrity report (which recorded
source/output hashes still match the bytes on disk NOW — a read-only re-check),
outputs, warnings, cleanup state, plus human-review pointers and known
limitations.
Nothing is rendered or modified. A malformed/unreadable receipt fails closed
with invalid_workflow_receipt.
Args: receipt_path: Absolute path to the receipt JSON file to inspect. compare_path: Optional second receipt; when set, also return a diff (N3).
| Name | Required | Description | Default |
|---|---|---|---|
| overwrite | No | Explicitly allow replacing existing media. Existing non-media files are protected. | |
| compare_path | No | ||
| receipt_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so: it declares the operation strictly read-only ('Nothing is rendered or modified'), specifies the fail-closed error surface (invalid_workflow_receipt on malformed/unreadable input), and explains that hash verification is a live re-check of recorded hashes against bytes currently on disk. It also discloses the legacy kind-inference behavior and the shape of the returned normalized report.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads a one-line summary, then a detail paragraph, then an Args block — a sensible order. It is verbose in places (reST backticks, the unexplained '(N3)' tag) but nearly every clause conveys a real behavioral fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is optional, yet the description valuably previews the normalized report fields (kind, schema_version, per-step statuses, hash integrity, warnings, cleanup state). What's missing is any statement about the orphaned overwrite parameter and any routing to the alternative validate/rescue-inspect tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33%; receipt_path and compare_path have no schema descriptions, and the description compensates well for those two (absolute path to the receipt JSON; optional second receipt producing a diff). However, the third parameter, overwrite, is never mentioned in the description, and its 'allow replacing existing media' semantics sit oddly on a tool declared read-only, leaving an unresolved ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — read and summarize a workflow render receipt / dry-run workflow_plan artifact / layer_plan receipt — and enumerates the accepted receipt variants (v1 legacy lacking receipt_kind, v2). It also states what it does not do ('Nothing is rendered or modified'), implicitly separating it from the render/plan siblings. It never names a specific sibling (e.g. video_workflow_validate or video_rescue_inspect) to disambiguate, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use: point it at a receipt_path to get a normalized inspection, optionally with compare_path for a diff (N3). It explains the legacy tolerance (kind inferred from the tool field when receipt_kind is absent), which tells the agent this is safe on older artifacts. It does not say when to prefer video_workflow_validate, hyperframes_inspect, or video_rescue_inspect instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
188 tool updates
v1.16.5- Removed
audio_compose - Removed
audio_effects - Removed
audio_preset - Removed
audio_sequence - Removed
audio_synthesize - Removed
effect_chromatic_aberration - Removed
effect_glow - Removed
effect_noise - Removed
effect_scanlines - Removed
effect_vignette - Removed
glitch_cmyk_split - Removed
glitch_datamoshing - Removed
glitch_depth_splatting - Removed
glitch_digital_feedback - Removed
glitch_macroblocking - Removed
glitch_point_cloud - Removed
glitch_rgb_shift - Removed
glitch_scanline_jitter - Removed
glitch_screen_tearing - Removed
glitch_slit_scan - Removed
glitch_turbulent_displacement - Removed
glitch_vhs_tracking - Removed
hyperframes_add_block - Removed
hyperframes_benchmark - Removed
hyperframes_capture - Removed
hyperframes_catalog - Removed
hyperframes_compositions - Removed
hyperframes_info - Removed
hyperframes_init - Removed
hyperframes_inspect - Removed
hyperframes_preview - Removed
hyperframes_remove_background - Removed
hyperframes_render - Removed
hyperframes_snapshot - Removed
hyperframes_still - Removed
hyperframes_to_mcpvideo - Removed
hyperframes_transcribe - Removed
hyperframes_tts - Removed
hyperframes_validate - Removed
image_analyze_product - Removed
image_edit - Removed
image_extract_colors - Removed
image_generate_palette - Removed
revideo_install - Removed
revideo_materialize - Removed
revideo_render - Removed
revideo_render_job - Removed
shorts_package - Removed
shorts_plan_show - Removed
shorts_render - Removed
shorts_review - Removed
shot_prompt_render - Removed
sound_capabilities - Removed
sound_master_render - Removed
sound_mix_render - Removed
sound_plan_validate - Removed
sound_qa_asr - Removed
sound_qa_loudness - Removed
sound_voice_batch - Removed
still_gate - Removed
still_grade - Removed
still_match - Removed
still_package - Removed
storyboard_read - Removed
style_pack_read - Removed
transition_glitch - Removed
transition_morph - Removed
transition_pixelate - Removed
video_acceptance_eval - Removed
video_add_generated_audio - Removed
video_ai_color_grade - Removed
video_ai_remove_silence - Removed
video_ai_scene_detect - Removed
video_ai_stem_separation - Removed
video_ai_transcribe - Removed
video_ai_upscale - Removed
video_analyze - Removed
video_apply_mask - Removed
video_audio_bed - Removed
video_audio_spatial - Removed
video_audio_waveform - Removed
video_audiogram_plan - Removed
video_auto_chapters - Removed
video_batch - Removed
video_benchmark_run - Removed
video_body_swap - Removed
video_brand_kit - Removed
video_capabilities - Removed
video_chroma_key - Removed
video_cleanup - Removed
video_compare_quality - Removed
video_composite_layers - Removed
video_composition_plan - Removed
video_cost_ledger - Removed
video_create_from_images - Removed
video_creative_autopilot_plan - Removed
video_crop - Removed
video_cutfile_render - Removed
video_cutfile_validate - Removed
video_design_quality_check - Removed
video_detect_scenes - Added
video_doctor - Removed
video_dub_plan - Removed
video_duck_audio - Removed
video_edit - Removed
video_edit_session - Removed
video_estimate_operation - Removed
video_export - Removed
video_export_frames - Removed
video_extract_audio - Removed
video_fade - Removed
video_filter - Removed
video_find_moments - Removed
video_fix_design_issues - Removed
video_generate_subtitles - Removed
video_generative_plan - Removed
video_hls_segment - Removed
video_hook_candidates - Changed
video_info1 field changed- added
Input schema / properties / exactAdded value: +{ + "default": false, + "title": "Exact", + "type": "boolean" +}
- Removed
video_info_detailed - Removed
video_ingest - Removed
video_init_project - Removed
video_inspect_temporal - Removed
video_intent - Removed
video_language_coverage - Removed
video_layout_grid - Removed
video_layout_pip - Removed
video_learning_report - Removed
video_luma_key - Removed
video_metric_qc - Removed
video_mix_audio - Removed
video_mograph_count - Removed
video_mograph_progress - Removed
video_normalize_audio - Removed
video_otio_export - Removed
video_otio_import - Removed
video_overlay - Removed
video_preflight - Removed
video_preview - Removed
video_project_recipe_export - Removed
video_project_recipe_replay - Removed
video_propose_broll - Removed
video_propose_mutations - Removed
video_publish_gate - Removed
video_publish_validate - Removed
video_punch_zoom_plan - Removed
video_qc_narrative - Removed
video_qc_vision - Removed
video_read_metadata - Removed
video_recipe_capture - Removed
video_record_motion_acceptance - Removed
video_release_checkpoint - Removed
video_remote_egress_plan - Removed
video_repurpose - Removed
video_repurpose_plan - Removed
video_rescue_plan - Removed
video_rescue_render - Removed
video_restoration_plan - Removed
video_reverse - Removed
video_review_decide - Removed
video_review_decision - Removed
video_review_run - Removed
video_review_ui - Removed
video_rotate - Removed
video_salvage - Removed
video_seek_frame - Removed
video_semantic_query - Removed
video_semantic_timeline - Removed
video_shape_mask - Added
video_shorts - Removed
video_split_screen - Removed
video_stabilize - Removed
video_storyboard - Removed
video_subtitles - Removed
video_subtitles_styled - Removed
video_template_preview - Removed
video_text_animated - Removed
video_thumbnail - Removed
video_timeline_edit_plan - Removed
video_timeline_ir_validate - Removed
video_translate_captions - Removed
video_verdict - Removed
video_visual_transform_plan - Removed
video_watermark - Removed
video_workflow_plan - Removed
video_workflow_render - Removed
video_workflow_validate - Removed
video_write_metadata
203 tool updates
v1.16.4- Changed
audio_compose1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
audio_effects1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
audio_preset1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
audio_sequence1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
audio_synthesize1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
effect_chromatic_aberration1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
effect_glow1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
effect_noise1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
effect_scanlines1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
effect_vignette1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_cmyk_split1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_datamoshing1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_depth_splatting1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_digital_feedback1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_macroblocking1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_point_cloud1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_rgb_shift1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_scanline_jitter1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_screen_tearing1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_slit_scan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_turbulent_displacement1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
glitch_vhs_tracking1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_add_block1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_benchmark1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_capture1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_catalog1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_compositions1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_doctor1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_info1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_init1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_inspect1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_preview1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_remove_background1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_snapshot1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_still1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_to_mcpvideo1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_transcribe1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_tts1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
hyperframes_validate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
image_analyze_product1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
image_edit1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
image_extract_colors1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
image_generate_palette1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
revideo_install1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
revideo_materialize1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
revideo_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
revideo_render_job1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
search_tools1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
shorts_package1 field changed- added
Input schema / properties / overwrite / descriptionAdded value: +"Explicitly allow replacing existing media. Existing non-media files are protected."
- Changed
shorts_plan_show1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
shorts_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
shorts_review1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
shot_prompt_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
sound_capabilities1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
sound_master_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
sound_mix_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
sound_plan_validate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
sound_qa_asr1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
sound_qa_loudness1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
sound_voice_batch1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
still_gate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
still_grade1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
still_match1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
still_package1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
storyboard_read1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
style_pack_read1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
transition_glitch1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
transition_morph1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
transition_pixelate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_acceptance_eval1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_add_audio1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_add_generated_audio1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_add_text1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_add_texts1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_ai_color_grade1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_ai_remove_silence1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_ai_scene_detect1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_ai_stem_separation1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_ai_transcribe1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_ai_upscale1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_analyze1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_apply_mask1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_audio_bed1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_audio_spatial1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_audio_waveform1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_audiogram_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_auto_chapters1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_batch1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_benchmark_run1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_body_swap1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_brand_kit1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_capabilities1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_chroma_key1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_cleanup1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_compare_quality1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_composite_layers1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_composition_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_convert1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_cost_ledger1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_create_from_images9 fields changed- added
Input schema / properties / fps / anyOfAdded value: +[ + { + "type": "integer" + }, + { + "type": "number" + }, + { + "type": "string" + } +] - removed
Input schema / properties / fps / typeRemoved value: -"number" - added
Input schema / properties / images / anyOfAdded value: +[ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } +] - added
Input schema / properties / images / defaultAdded value: +null - removed
Input schema / properties / images / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / images / typeRemoved value: -"array" - added
Input schema / properties / list_fileAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "List File" +} - added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +} - removed
Input schema / requiredRemoved value: -[ - "images" -]
- Changed
video_creative_autopilot_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_crop1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_cutfile_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_cutfile_validate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_design_quality_check1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_detect_scenes1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_dub_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_duck_audio1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_edit1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_edit_session1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_estimate_operation1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_export1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_export_frames1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_extract_audio1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_extract_frame1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_fade1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_filter1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_find_moments1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_fix_design_issues1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_generate_subtitles1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_generative_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_hls_segment1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_hook_candidates1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_info1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_info_detailed1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_ingest1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_init_project1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_inspect_temporal1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_intent1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_language_coverage1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_layout_grid1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_layout_pip1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_learning_report1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_luma_key1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_merge1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_metric_qc1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_mix_audio1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_mograph_count1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_mograph_progress1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_normalize_audio1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_otio_export1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_otio_import1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_overlay1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_preflight1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_preview1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_project_create1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_project_recipe_export1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_project_recipe_replay1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_propose_broll1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_propose_mutations1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_publish_gate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_publish_validate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_punch_zoom_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_qc_narrative1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_qc_vision1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_quality_check1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_read_metadata1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_recipe_capture1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_record_motion_acceptance1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_release_checkpoint1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_remote_egress_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_repurpose1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_repurpose_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_rescue_inspect1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_rescue_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_rescue_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_resize1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_restoration_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_reverse1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_review_decide1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_review_decision1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_review_package1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_review_run1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_review_ui1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_rotate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_salvage1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_seek_frame1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_semantic_query1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_semantic_timeline1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_shape_mask1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_speed1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_split_screen1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_stabilize1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_storyboard1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_subtitles1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_subtitles_styled1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_template_preview1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_text_animated1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_thumbnail1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_timeline_edit_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_timeline_ir_validate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_translate_captions1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_trim1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_validate_text_layout1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_verdict1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_visual_transform_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_watermark1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_workflow_inspect1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_workflow_plan1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_workflow_render1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_workflow_validate1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
- Changed
video_write_metadata1 field changed- added
Input schema / properties / overwriteAdded value: +{ + "default": false, + "description": "Explicitly allow replacing existing media. Existing non-media files are protected.", + "title": "Overwrite", + "type": "boolean" +}
203 tool updates
v1.16.0- Changed
audio_compose1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
audio_effects1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
audio_preset1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
audio_sequence1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
audio_synthesize1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
effect_chromatic_aberration1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
effect_glow1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
effect_noise1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
effect_scanlines1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
effect_vignette1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_cmyk_split1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_datamoshing1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_depth_splatting1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_digital_feedback1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_macroblocking1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_point_cloud1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_rgb_shift1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_scanline_jitter1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_screen_tearing1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_slit_scan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_turbulent_displacement1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
glitch_vhs_tracking1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_add_block1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_benchmark1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_capture1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_catalog1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_compositions1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_doctor1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_info1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_init1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_inspect1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_preview1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_remove_background9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / equipment_overlayAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Equipment Overlay" +} - added
Input schema / properties / fail_if_equipment_on_subjectAdded value: +{ + "default": false, + "title": "Fail If Equipment On Subject", + "type": "boolean" +} - added
Input schema / properties / input_path / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / input_path / defaultAdded value: +null - removed
Input schema / properties / input_path / typeRemoved value: -"string" - added
Input schema / properties / mask_intervalAdded value: +{ + "default": 1, + "title": "Mask Interval", + "type": "integer" +} - added
Input schema / properties / modelAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Model" +} - removed
Input schema / requiredRemoved value: -[ - "input_path" -]
- Changed
hyperframes_render1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_snapshot1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_still1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_to_mcpvideo1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_transcribe1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_tts1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
hyperframes_validate1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
image_analyze_product1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
image_edit - Changed
image_extract_colors1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
image_generate_palette1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
revideo_install - Added
revideo_materialize - Added
revideo_render - Added
revideo_render_job - Changed
search_tools1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
shorts_package - Added
shorts_plan_show - Added
shorts_render - Added
shorts_review - Changed
shot_prompt_render1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
sound_capabilities - Added
sound_master_render - Added
sound_mix_render - Added
sound_plan_validate - Added
sound_qa_asr - Added
sound_qa_loudness - Added
sound_voice_batch - Added
still_gate - Added
still_grade - Added
still_match - Added
still_package - Changed
storyboard_read1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
style_pack_read1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
transition_glitch1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
transition_morph1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
transition_pixelate1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_acceptance_eval - Changed
video_add_audio2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / duration_policyAdded value: +{ + "default": "keep_video", + "description": "How to reconcile audio and video length: keep_video (default, preserves the full video/outro), pad_audio, loop_audio, trim_audio, or shortest (may trim the outro).", + "title": "Duration Policy", + "type": "string" +}
- Changed
video_add_generated_audio1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_add_text1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_add_texts1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_ai_color_grade1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_ai_remove_silence1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_ai_scene_detect1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_ai_stem_separation1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_ai_transcribe1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_ai_upscale1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_analyze1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_apply_mask1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_audio_bed - Changed
video_audio_spatial1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_audio_waveform1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_audiogram_plan - Changed
video_auto_chapters1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_batch1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_benchmark_run - Added
video_body_swap - Added
video_brand_kit - Added
video_capabilities - Changed
video_chroma_key1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_cleanup1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_compare_quality1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_composite_layers1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_composition_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_convert3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / target_bitrateAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Target Bitrate" +} - added
Input schema / properties / two_passAdded value: +{ + "default": false, + "title": "Two Pass", + "type": "boolean" +}
- Added
video_cost_ledger - Changed
video_create_from_images1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_creative_autopilot_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_crop1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_cutfile_render - Added
video_cutfile_validate - Changed
video_design_quality_check1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_detect_scenes1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_dub_plan - Changed
video_duck_audio1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_edit1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_edit_session - Added
video_estimate_operation - Changed
video_export2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / c2pa_manifest_pathAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional C2PA manifest definition JSON to sign the final mp4 export.", + "title": "C2Pa Manifest Path" +}
- Changed
video_export_frames1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_extract_audio1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_extract_frame4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / timestamp / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - changed
Input schema / properties / timestamp / defaultPrevious value: -0New value: +null - removed
Input schema / properties / timestamp / typeRemoved value: -"number"
- Changed
video_fade1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_filter1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_find_moments - Changed
video_fix_design_issues1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_generate_subtitles1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_generative_plan - Changed
video_hls_segment1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_hook_candidates - Changed
video_info1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_info_detailed1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_ingest - Added
video_init_project - Added
video_inspect_temporal - Added
video_intent - Added
video_language_coverage - Changed
video_layout_grid1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_layout_pip1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_learning_report - Changed
video_luma_key1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_merge1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_metric_qc - Added
video_mix_audio - Changed
video_mograph_count1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_mograph_progress1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_normalize_audio4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / fade_secondsAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Fade Seconds" +} - added
Input schema / properties / lraAdded value: +{ + "default": 11, + "title": "Lra", + "type": "number" +} - added
Input schema / properties / true_peak_dbtpAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "True Peak Dbtp" +}
- Added
video_otio_export - Added
video_otio_import - Changed
video_overlay1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_preflight - Changed
video_preview1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_project_create1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_project_recipe_export - Added
video_project_recipe_replay - Added
video_propose_broll - Added
video_propose_mutations - Added
video_publish_gate - Added
video_publish_validate - Added
video_punch_zoom_plan - Added
video_qc_narrative - Added
video_qc_vision - Changed
video_quality_check1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_read_metadata1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_recipe_capture - Added
video_record_motion_acceptance - Changed
video_release_checkpoint2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / require_audioAdded value: +{ + "default": true, + "title": "Require Audio", + "type": "boolean" +}
- Changed
video_remote_egress_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_repurpose4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / min_score / defaultPrevious value: -0New value: +80 - added
Input schema / properties / moment_selection_record_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Moment Selection Record Id" +} - added
Input schema / properties / start_jobAdded value: +{ + "default": true, + "title": "Start Job", + "type": "boolean" +}
- Changed
video_repurpose_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_rescue_inspect1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_rescue_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_rescue_render1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_resize1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_restoration_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_reverse1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_review_decide - Added
video_review_decision - Added
video_review_package - Added
video_review_run - Added
video_review_ui - Changed
video_rotate1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_salvage - Added
video_seek_frame - Changed
video_semantic_query1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_semantic_timeline1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_shape_mask1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_speed1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_split_screen1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_stabilize1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_storyboard1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_subtitles2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / styleAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Style" +}
- Changed
video_subtitles_styled1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_template_preview1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_text_animated1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_thumbnail1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_timeline_edit_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_timeline_ir_validate - Added
video_translate_captions - Changed
video_trim5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / duration / anyOfPrevious value: -[ - { - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null" + } +] - changed
Input schema / properties / end / anyOfPrevious value: -[ - { - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "null" + } +] - added
Input schema / properties / start / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "number" + } +] - removed
Input schema / properties / start / typeRemoved value: -"string"
- Changed
video_validate_text_layout1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
video_verdict - Changed
video_visual_transform_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_watermark1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_workflow_inspect2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / compare_pathAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Compare Path" +}
- Changed
video_workflow_plan1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_workflow_render1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_workflow_validate1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
video_write_metadata1 field changed- added
Input schema / additionalPropertiesAdded value: +false
20 tool updates
v1.6.0- Changed
video_ai_color_grade1 field changed- added
Input schema / properties / lut_pathAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Lut Path" +}
- Added
video_composite_layers - Added
video_composition_plan - Changed
video_convert1 field changed- changed
Input schema / properties / format / descriptionPrevious value: -"Target output format. Supported values are mp4, webm, gif, and mov."New value: +"Target output format: mp4, webm, gif, mov, hevc, av1, or prores."
- Added
video_creative_autopilot_plan - Added
video_duck_audio - Removed
video_generate_music - Added
video_remote_egress_plan - Added
video_rescue_inspect - Added
video_rescue_plan - Added
video_rescue_render - Added
video_restoration_plan - Added
video_semantic_query - Added
video_semantic_timeline - Added
video_timeline_edit_plan - Added
video_visual_transform_plan - Added
video_workflow_inspect - Added
video_workflow_plan - Added
video_workflow_render - Added
video_workflow_validate
113 tool updates
v1.5.1- Added
audio_compose - Added
audio_effects - Added
audio_preset - Added
audio_sequence - Added
audio_synthesize - Added
effect_chromatic_aberration - Added
effect_glow - Added
effect_noise - Added
effect_scanlines - Added
effect_vignette - Added
glitch_cmyk_split - Added
glitch_datamoshing - Added
glitch_depth_splatting - Added
glitch_digital_feedback - Added
glitch_macroblocking - Added
glitch_point_cloud - Added
glitch_rgb_shift - Added
glitch_scanline_jitter - Added
glitch_screen_tearing - Added
glitch_slit_scan - Added
glitch_turbulent_displacement - Added
glitch_vhs_tracking - Added
hyperframes_add_block - Added
hyperframes_benchmark - Added
hyperframes_capture - Added
hyperframes_catalog - Added
hyperframes_compositions - Added
hyperframes_doctor - Added
hyperframes_info - Added
hyperframes_init - Added
hyperframes_inspect - Added
hyperframes_preview - Added
hyperframes_remove_background - Added
hyperframes_render - Added
hyperframes_snapshot - Added
hyperframes_still - Added
hyperframes_to_mcpvideo - Added
hyperframes_transcribe - Added
hyperframes_tts - Added
hyperframes_validate - Added
image_analyze_product - Added
image_extract_colors - Added
image_generate_palette - Added
search_tools - Added
shot_prompt_render - Added
storyboard_read - Added
style_pack_read - Added
transition_glitch - Added
transition_morph - Added
transition_pixelate - Changed
video_add_audio8 fields changed- added
Input schema / properties / audio_path / descriptionAdded value: +"Absolute path to an existing local audio file such as MP3, WAV, M4A, or AAC." - added
Input schema / properties / fade_in / descriptionAdded value: +"Non-negative fade-in duration in seconds applied to the inserted audio." - added
Input schema / properties / fade_out / descriptionAdded value: +"Non-negative fade-out duration in seconds applied near the inserted audio end." - added
Input schema / properties / mix / descriptionAdded value: +"True mixes the new audio with existing video audio; false replaces the original audio track." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten." - added
Input schema / properties / start_time / descriptionAdded value: +"Optional start offset in seconds where the inserted audio begins." - added
Input schema / properties / video_path / descriptionAdded value: +"Absolute path to an existing local video file. The input file is read only." - added
Input schema / properties / volume / descriptionAdded value: +"Audio gain from 0.0 to 2.0, where 1.0 preserves original loudness."
- Added
video_add_generated_audio - Changed
video_add_text4 fields changed- added
Input schema / properties / crfAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Crf" +} - added
Input schema / properties / position / anyOfAdded value: +[ + { + "type": "string" + }, + { + "additionalProperties": true, + "type": "object" + } +] - removed
Input schema / properties / position / typeRemoved value: -"string" - added
Input schema / properties / presetAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Preset" +}
- Added
video_add_texts - Added
video_ai_color_grade - Added
video_ai_remove_silence - Added
video_ai_scene_detect - Added
video_ai_stem_separation - Added
video_ai_transcribe - Added
video_ai_upscale - Added
video_analyze - Added
video_apply_mask - Added
video_audio_spatial - Added
video_audio_waveform - Added
video_auto_chapters - Added
video_batch - Added
video_chroma_key - Added
video_cleanup - Added
video_compare_quality - Changed
video_convert4 fields changed- added
Input schema / properties / format / descriptionAdded value: +"Target output format. Supported values are mp4, webm, gif, and mov." - added
Input schema / properties / input_path / descriptionAdded value: +"Absolute path to an existing local video file. The input file is read only." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten." - added
Input schema / properties / quality / descriptionAdded value: +"Encoding quality preset: low, medium, high, or ultra."
- Added
video_create_from_images - Changed
video_crop14 fields changed- added
Input schema / properties / crop_percentAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Centered crop percentage of original dimensions, such as 50 for the center 50%.", + "title": "Crop Percent" +} - added
Input schema / properties / height / anyOfAdded value: +[ + { + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / height / defaultAdded value: +null - added
Input schema / properties / height / descriptionAdded value: +"Crop region height in pixels. Pair with width unless using crop_percent." - removed
Input schema / properties / height / typeRemoved value: -"integer" - added
Input schema / properties / input_path / descriptionAdded value: +"Absolute path to an existing local video file. The input file is read only." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten." - added
Input schema / properties / width / anyOfAdded value: +[ + { + "type": "integer" + }, + { + "type": "null" + } +] - added
Input schema / properties / width / defaultAdded value: +null - added
Input schema / properties / width / descriptionAdded value: +"Crop region width in pixels. Pair with height unless using crop_percent." - removed
Input schema / properties / width / typeRemoved value: -"integer" - added
Input schema / properties / x / descriptionAdded value: +"Optional X offset in pixels. Defaults to a centered crop when omitted." - added
Input schema / properties / y / descriptionAdded value: +"Optional Y offset in pixels. Defaults to a centered crop when omitted." - changed
Input schema / requiredPrevious value: -[ - "input_path", - "width", - "height" -]New value: +[ + "input_path" +]
- Added
video_design_quality_check - Added
video_detect_scenes - Changed
video_edit3 fields changed- removed
Input schema / properties / timeline / additionalPropertiesRemoved value: -true - added
Input schema / properties / timeline / anyOfAdded value: +[ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "string" + } +] - removed
Input schema / properties / timeline / typeRemoved value: -"object"
- Changed
video_export4 fields changed- added
Input schema / properties / format / descriptionAdded value: +"Output format for delivery. Supported values are mp4, webm, gif, and mov." - added
Input schema / properties / input_path / descriptionAdded value: +"Absolute path to an existing local video file. The input file is read only." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten." - added
Input schema / properties / quality / descriptionAdded value: +"Delivery quality preset: low, medium, high, or ultra."
- Added
video_export_frames - Added
video_extract_frame - Changed
video_fade6 fields changed- added
Input schema / properties / crfAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional FFmpeg CRF override from 0 to 51, where lower means higher quality.", + "title": "Crf" +} - added
Input schema / properties / fade_in / descriptionAdded value: +"Non-negative fade-in duration in seconds from black at the start." - added
Input schema / properties / fade_out / descriptionAdded value: +"Non-negative fade-out duration in seconds to black at the end." - added
Input schema / properties / input_path / descriptionAdded value: +"Absolute path to an existing local video file. The input file is read only." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten." - added
Input schema / properties / presetAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional FFmpeg encoding preset: ultrafast, fast, medium, slow, or veryslow.", + "title": "Preset" +}
- Added
video_filter - Added
video_fix_design_issues - Added
video_generate_music - Added
video_generate_subtitles - Added
video_hls_segment - Added
video_info_detailed - Added
video_layout_grid - Added
video_layout_pip - Added
video_luma_key - Changed
video_merge5 fields changed- added
Input schema / properties / clips / descriptionAdded value: +"Ordered absolute paths to existing video clips. Provide at least two clips; inputs are validated and never modified." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten." - added
Input schema / properties / transition / descriptionAdded value: +"Optional xfade transition applied to every clip boundary, such as fade, dissolve, wipeleft, wiperight, slideleft, or slideright." - added
Input schema / properties / transition_duration / descriptionAdded value: +"Duration in seconds for each transition; must fit inside neighboring clips." - added
Input schema / properties / transitions / descriptionAdded value: +"Optional per-boundary xfade transitions. Overrides transition when provided."
- Added
video_mograph_count - Added
video_mograph_progress - Added
video_normalize_audio - Added
video_overlay - Added
video_project_create - Added
video_quality_check - Added
video_read_metadata - Added
video_release_checkpoint - Added
video_repurpose - Added
video_repurpose_plan - Added
video_reverse - Changed
video_rotate5 fields changed- added
Input schema / properties / angle / descriptionAdded value: +"Clockwise rotation angle in degrees. Supported values are 0, 90, 180, and 270." - added
Input schema / properties / flip_horizontal / descriptionAdded value: +"Mirror the video horizontally after rotation when true." - added
Input schema / properties / flip_vertical / descriptionAdded value: +"Mirror the video vertically after rotation when true." - added
Input schema / properties / input_path / descriptionAdded value: +"Absolute path to an existing local video file. The input file is read only." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten."
- Added
video_shape_mask - Changed
video_speed3 fields changed- added
Input schema / properties / factor / descriptionAdded value: +"Playback speed multiplier. 2.0 is double speed, 0.5 is half speed, and 1.0 is unchanged." - added
Input schema / properties / input_path / descriptionAdded value: +"Absolute path to an existing local video file. The input file is read only." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten."
- Added
video_split_screen - Added
video_stabilize - Added
video_subtitles_styled - Added
video_template_preview - Added
video_text_animated - Changed
video_thumbnail1 field changed- changed
Input schema / properties / timestamp / anyOfPrevious value: -[ - { - "type": "number" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "null" + } +]
- Changed
video_trim1 field changed- added
Input schema / properties / accurateAdded value: +{ + "default": false, + "title": "Accurate", + "type": "boolean" +}
- Added
video_validate_text_layout - Changed
video_watermark10 fields changed- added
Input schema / properties / crfAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional FFmpeg CRF override from 0 to 51, where lower means higher quality.", + "title": "Crf" +} - added
Input schema / properties / image_path / descriptionAdded value: +"Absolute path to an existing local image file used as an overlay or watermark." - added
Input schema / properties / input_path / descriptionAdded value: +"Absolute path to an existing local video file. The input file is read only." - added
Input schema / properties / margin / descriptionAdded value: +"Non-negative edge margin in pixels for named positions." - added
Input schema / properties / opacity / descriptionAdded value: +"Watermark opacity from 0.0 fully transparent to 1.0 fully opaque." - added
Input schema / properties / output_path / descriptionAdded value: +"Destination video path. Auto-generated when omitted; an existing supplied path may be overwritten." - added
Input schema / properties / position / anyOfAdded value: +[ + { + "type": "string" + }, + { + "additionalProperties": true, + "type": "object" + } +] - added
Input schema / properties / position / descriptionAdded value: +"Watermark position: named position such as bottom-right, pixel dict {\"x\": 100, \"y\": 50}, or percentage dict {\"x_pct\": 0.5, \"y_pct\": 0.5}." - removed
Input schema / properties / position / typeRemoved value: -"string" - added
Input schema / properties / presetAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional FFmpeg encoding preset: ultrafast, fast, medium, slow, or veryslow.", + "title": "Preset" +}
- Added
video_write_metadata
19 tool updates
v0.2.0- First observed
video_add_audio - First observed
video_add_text - First observed
video_convert - First observed
video_crop - First observed
video_edit - First observed
video_export - First observed
video_extract_audio - First observed
video_fade - First observed
video_info - First observed
video_merge - First observed
video_preview - First observed
video_resize - First observed
video_rotate - First observed
video_speed - First observed
video_storyboard - First observed
video_subtitles - First observed
video_thumbnail - First observed
video_trim - First observed
video_watermark
TDQS
Scored across 20 tools
Core editing operations (trim, merge, resize, convert, speed, add_audio) are cleanly separated, but the diagnostics/inspection cluster is muddled: hyperframes_doctor vs video_doctor, and video_workflow_inspect vs video_rescue_inspect vs video_review_package all read as 'inspect a receipt/artifact' with only subtle distinctions. video_add_text vs video_add_texts and video_quality_check vs video_validate_text_layout are defensible but add selection pressure. An agent can usually pick correctly, but only by reading careful prose rather than from names alone.
The dominant pattern is video_<verb>_<noun> (video_trim, video_resize, video_extract_frame, video_add_text), applied consistently across most of the set. Deviations are minor but visible: hyperframes_doctor escapes the video_ namespace entirely, and search_tools is an unscoped meta-tool. Readable and predictable overall.
Twenty tools sits at the heavy end for what is essentially a video post-production helper; the core edit surface could be ~12. The extra weight comes from a layer of diagnostics, receipt inspection, and review-gating tools (hyperframes_doctor, video_doctor, video_workflow_inspect, video_rescue_inspect, video_review_package) that push scope well beyond editing. Each is individually justifiable but collectively they crowd the set.
The lifecycle is broadly covered: probe, trim, merge, resize, convert, speed, audio mux, text overlay, frame extraction, layout validation, quality check, and project scaffolding. There are gaps and one notable dangling reference: video_convert points users to 'video_export for delivery presets', but no video_export tool exists, and there is no crop/blur or cleanup/delete operation despite receipts tracking cleanup state.
Maintenance
Related MCP Connectors
Hosted MCP tools for FFmpeg-style video and audio processing through FFMPEG API.
FFmpeg Micro - The FFmpeg Api - www.ffmpeg-micro.com Transcode videos from n8n or Make using FFmpeg in the cloud. MCP Server: https://github.com/ffmpeg-micro/ffmpeg-micro-mcp/
MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.
Autonomous AI video editor over MCP: viral clips, captions, reframe, chroma key, MP4 export
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables comprehensive video and audio processing using FFmpeg, supporting tasks like metadata extraction, clipping, scaling, and adding transitions or overlays. It provides a high-performance interface for building media processing microservices via FastMCP.1212-
- AlicenseNot gradedqualityDmaintenanceAn MCP server for programmatic video editing using ffmpeg, enabling draft creation and refinement via natural language.19 npmISC
- AlicenseAqualityBmaintenanceEnables LLMs to perform FFmpeg operations like clipping, merging, extracting audio, adding subtitles, and transcoding videos via a set of tools exposed as an MCP server.58MIT
- AlicenseAqualityDmaintenanceProvides 30+ FFmpeg video and audio editing tools via MCP, enabling AI assistants to perform operations like trimming, transcoding, overlays, and composition directly.274MIT