Kinocut

tech.kyanitelabs/kinocut · v1.16.1 · ai-and-media

Kinocut is healthy: it completed an MCP handshake in 1330 ms and exposes 203 tools.

Guardrailed video editing MCP server: 200 FFmpeg tools, Video Receipts, Shorts repurposing.

Endpoint: https://mcp.kyanitelabs.tech/mcp (streamable-http)

Repository · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count203
Latency1330 ms
Last checked (UTC)2026-10-15T13:40:14.990Z

Health history

Checked (UTC)StatusLatencyError
2026-10-15T13:40:14.990ZHealthy1330

Tools (100)

video_infoProbe 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. Args: input_path: Absolute path to the video file.
video_trimTrim 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 segmen
video_mergeConcatenate 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.
video_add_textOverlay 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: inpu
video_add_textsOverlay 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:
video_add_audioAdd, 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 r
video_resizeResize 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
video_convertTranscode 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.
video_speedRender 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).
search_toolsFind 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,
video_ingestIngest immutable source bytes into an existing or new private project.
video_preflightRun unified technical, loudness, color, and decode preflight.
video_inspect_temporalBuild and persist the complete deterministic temporal evidence package.
video_verdictPersist exact-asset analysis; approvals require active human evidence.
video_acceptance_evalEvaluate exact-spec verdict and defect evidence without approving anything.
video_body_swapReplace video while preserving approved audio with explicit duration policy.
video_salvageCreate one lineage-bound salvage derivative and a fresh review slot.
video_thumbnailExtract a single frame (thumbnail / frame grab) from a video. Args: input_path: Absolute path to the input video. timestamp: Time in seconds to extract frame. Defaults to 10% of video duration. output_path: Where to save the frame image. Auto-generated if omitted.
video_previewGenerate a fast low-resolution preview for quick review. Args: input_path: Absolute path to the input video. output_path: Where to save the preview. Auto-generated if omitted. scale_factor: Downscale factor (4 = 1/4 resolution).
video_storyboardExtract key frames and create a storyboard grid for human review. Args: input_path: Absolute path to the input video. output_dir: Directory to save frames. Auto-generated if omitted. frame_count: Number of key frames to extract.
video_subtitlesBurn subtitles (SRT/VTT/authored ASS) into a video. Args: input_path: Absolute path to the input video. subtitle_path: Absolute path to the subtitle file (.srt, .vtt, or .ass). output_path: Where to save the output. Auto-generated if omitted. style: Optional force_style override app
video_watermarkOverlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritten. Supports named, pixel, and percentage positions plus opacity, margin, CRF, and preset controls.
video_exportRe-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main goal is container/codec conversion. The source video is read only and a new output file is produced.
video_cropCrop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centered crop when omitted.
video_rotateRotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not modified.
video_fadeRender fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for a fade to black at the end; output_path is created or overwritten.
video_editExecute a full timeline-based edit from a JSON specification. The timeline JSON describes video clips, audio tracks, text overlays, image overlays, transitions, and export settings in a single operation. Image overlays are applied in a single filtergraph pass (no multiple re-encodes). Sequence sh
video_template_previewPreview what a video template would do before rendering. Analyzes the template and returns a list of operations, estimated output duration, resolution, and file size — without actually processing any video. Args: template: Template name (tiktok, youtube-shorts, instagram-reel, youtube, instagr
video_extract_audioExtract the audio track from a video file. Args: input_path: Absolute path to the input video. output_path: Where to save the audio file. Auto-generated if omitted. format: Audio format (mp3, aac, wav, ogg, flac).
video_filterApply a visual filter to a video. Common presets: - blur: params={"radius": 5, "strength": 1} - color_preset: params={"preset": "warm"} (warm, cool, vintage, cinematic, noir) Args: input_path: Absolute path to the input video. filter_type: Filter type (blur, sharpen, brightness, co
video_luma_keyMask out dark regions based on luminance (brightness). Args: input_path: Absolute path to the input video. threshold: Luminance threshold (0.0-1.0). Pixels darker than this become transparent. output_path: Where to save the output. Auto-generated if omitted.
video_shape_maskApply a geometric shape mask to a video. Args: input_path: Absolute path to the input video. shape: Shape to use — "circle", "rounded_rect", or "oval". output_path: Where to save the output. Auto-generated if omitted. feather: Feather radius in pixels (0 = sharp edges).
video_hls_segmentSegment a video into HLS (HTTP Live Streaming) format. Args: input_path: Absolute path to the input video. output_dir: Directory to save segments. Auto-generated if omitted. segment_duration: Target segment duration in seconds (default 4). playlist_name: Name of the master playlist
video_reverseReverse video and audio playback so it plays backwards. Args: input_path: Absolute path to the input video. output_path: Where to save the output. Auto-generated if omitted.
video_chroma_keyRemove a solid color background (green screen / chroma key). Args: input_path: Absolute path to the input video. color: Color to make transparent in hex format (default green: 0x00FF00). similarity: How similar colors need to be to be keyed out (0.0-1.0, default 0.01). blend: How mu
video_normalize_audioNormalize audio loudness to a target LUFS level. Common presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify). Args: input_path: Absolute path to the input video. target_lufs: Target integrated loudness in LUFS (default -16 for YouTube). output_path: Where to save the o
video_overlayPicture-in-picture: overlay a video on top of another. Args: background_path: Absolute path to the background video. overlay_path: Absolute path to the overlay video. position: Position on screen. Named (top-left, etc.), pixel" " {"x": 100, "y": 50}, or percentage {"x_pct"
video_split_screenPlace two videos side by side or top/bottom. Args: left_path: Absolute path to the first video. right_path: Absolute path to the second video. layout: Layout type (side-by-side or top-bottom). output_path: Where to save the output. Auto-generated if omitted.
video_detect_scenesDetect scene changes in a video. Args: input_path: Absolute path to the input video. threshold: Scene detection sensitivity (0.0-1.0, lower = more sensitive, default 0.3). min_scene_duration: Minimum scene duration in seconds (default 1.0).
video_create_from_imagesCreate a video from a sequence of images. Args: images: List of absolute paths to image files (in order). output_path: Where to save the output video. Auto-generated if omitted. fps: Frames per second for the output video (default 30.0).
video_export_framesExport frames from a video as individual images. Args: input_path: Absolute path to the input video. output_dir: Directory for extracted frames. Auto-generated if omitted. fps: Frames per second to extract (1.0 = 1 frame per second, default 1.0). format: Output image format (jpg or
video_generate_subtitlesGenerate SRT subtitles from text entries and optionally burn into video. Args: entries: List of subtitle entries with keys: start (float), end (float), text (str). input_path: Absolute path to the input video. burn: If True, burn subtitles into the video (default False).
video_compare_qualityCompare video quality between original and processed versions. Args: original_path: Absolute path to the original/reference video. distorted_path: Absolute path to the processed/distorted video. metrics: Metrics to compute (default: ['psnr', 'ssim']).
video_read_metadataRead metadata tags from a video/audio file. Args: input_path: Absolute path to the video or audio file.
video_write_metadataWrite metadata tags to a video/audio file. Args: input_path: Absolute path to the input file. metadata: Dict of tag key-value pairs (e.g. {'title': 'My Video', 'artist': 'Me'}). output_path: Where to save the output. Auto-generated if omitted.
video_stabilizeStabilize a shaky video using motion vector analysis. Args: input_path: Absolute path to the input video. smoothing: Smoothing strength (default 15, higher = more stable). zooming: Zoom percentage to avoid black borders (default 0). output_path: Where to save the output. Auto-genera
video_apply_maskApply an image mask to a video with edge feathering. Args: input_path: Absolute path to the input video. mask_path: Absolute path to the mask image (white = visible, black = transparent). feather: Feather/blur amount at mask edges in pixels (default 5). output_path: Where to save th
video_audio_waveformExtract audio waveform data (peaks and silence regions). Args: input_path: Absolute path to the input video/audio file. bins: Number of time segments to analyze (default 50).
video_batchApply the same operation to multiple video files. Args: inputs: List of absolute paths to input video files. operation: Operation (trim, resize, convert, filter, blur, color_grade," " watermark, speed, fade, normalize_audio). params: Parameters for the operation. outpu
video_cleanupDelete intermediate video files after a workflow. Useful for multi-step pipelines that leave temporary outputs. Files in ``keep`` are preserved even if listed in ``files``. Args: files: List of absolute paths to delete. keep: List of absolute paths to preserve (optional).
video_composite_layersComposite ordered image/video layers from a JSON spec. Supports explicit straight/premultiplied input alpha, opacity, positioning, transforms, timing windows, masks/mattes, allowlisted blend modes, rotation, and effect-noise routes to named layer/mask/mask-edge streams. Emits a deterministic layer-
image_extract_colorsExtract dominant colors from an image or video frame. Uses K-means clustering to find the most prominent colors. Returns hex codes, RGB values, CSS color names, and percentage coverage. Args: image_path: Absolute path to the image or video file. If video, extracts a representative frame. n
image_generate_paletteGenerate a color harmony palette from an image or video frame. Extracts the dominant color and generates harmonious colors based on color theory (complementary, analogous, triadic, split_complementary). Args: image_path: Absolute path to the image or video file. If video, extracts a representa
image_analyze_productAnalyze a product image or video frame — extract colors and optionally generate AI description. Extracts dominant colors from an image. Optionally uses Claude Vision to generate a natural language description of the product. Args: image_path: Absolute path to the image or video file. If video,
still_matchMatch a package of stills to a hero plate with one shared WB/exposure gain. Does not overwrite sources. Writes matched stills + JSON receipt under output_dir. Per-frame auto-WB is disabled (shared gains only). Args: hero: Absolute path to the hero/establish still. inputs: Absolute paths to
still_gradeGrade stills in order correct→match→look; optional 3D LUT applied last. Signal mode marks the LUT as signal-alignment (not film cosplay) and records near-black/near-white preservation deltas. Args: inputs: Absolute still paths. output_dir: Absolute output directory. hero: Optional hero
still_gateFail-closed cohesion gate for a still package + contact sheet. Checks luma spread and shadow green/cyan wash. Returns passed=false with named metric/frame failures when the package fails. Args: inputs: Absolute still paths in the package. output_dir: Absolute directory for receipt and cont
image_editEstablish-locked still match with plan/receipt (intent is audit metadata). v1 pixel path is free establish mean-RGB match only; ``intent`` is required metadata and does not select pixel ops. Opted-in paid generation requests still fail because no paid still-generation adapter exists. Dry-run return
still_packageMulti-still package workflow: edit beats → match → grade → cohesion gate. Args: establish: Absolute establish/hero still. beats: Absolute beat still paths. output_dir: Absolute package output directory. dry_run: When True, return planned graph only. apply_grade: Run ordered grad
video_project_createScaffold 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.
style_pack_readRead STYLE_ and NEG_ blocks from a style.md file or project directory. Args: path: Absolute path to style.md or to a project directory containing style.md.
storyboard_readRead a PUSHING CREATION storyboard table from storyboard.md or a project directory. Args: path: Absolute path to storyboard.md or to a project directory containing storyboard.md.
shot_prompt_renderExpand one storyboard shot into prompt and negative_prompt strings. Args: project_path: Absolute path to a project directory containing style.md and storyboard.md. shot: Shot id or 1-based row number from storyboard.md.
hyperframes_renderRender a Hyperframes composition to video. Args: project_path: Absolute path to the Hyperframes project directory. output_path: Where to save the video. Auto-generated if omitted. fps: Frame rate (24, 30, 60). width: Output width in pixels. height: Output height in pixels. q
hyperframes_compositionsList compositions in a Hyperframes project. Args: project_path: Absolute path to the Hyperframes project directory.
hyperframes_previewLaunch Hyperframes preview studio for live preview. Args: project_path: Absolute path to the Hyperframes project directory. port: Port for the preview server (default 3002).
hyperframes_stillRender a single frame as image from a Hyperframes composition. Args: project_path: Absolute path to the Hyperframes project directory. output_path: Where to save the image. Auto-generated if omitted. frame: Frame number to render (default 0). variables: Inline JSON object/string wit
hyperframes_snapshotCapture key frames as PNG screenshots for visual verification.
hyperframes_inspectInspect rendered composition layout for overflow and visual issues.
hyperframes_infoPrint Hyperframes project metadata.
hyperframes_catalogBrowse Hyperframes catalog blocks/components.
hyperframes_captureCapture a website as editable Hyperframes components.
hyperframes_ttsGenerate speech audio or list available Hyperframes local TTS voices.
hyperframes_transcribeTranscribe audio/video to word-level timestamps or import transcripts.
hyperframes_remove_backgroundCut a person or a product out of a still or video. Default model ``u2net_human_seg`` is people-only (talking heads). For products, packaging, jewelry, bottles, ceramics, or any non-person object, pass ``model="birefnet-general"`` (requires ``pip install "kinocut[object-matte]"``). Never falls throu
hyperframes_doctorRun Hyperframes environment diagnostics.
hyperframes_benchmarkBenchmark Hyperframes render speed and file size.
hyperframes_initScaffold a new Hyperframes project. Args: name: Project name. output_dir: Directory to create the project in. Defaults to current directory. template: Project template (blank, warm-grain, swiss-grid). Default blank. video: Optional source video for project bootstrap. audio: Opti
hyperframes_add_blockInstall a block from the Hyperframes catalog. Args: project_path: Absolute path to the Hyperframes project directory. block_name: Registry item name (e.g. claude-code-window, shader-wipe).
hyperframes_validateValidate a Hyperframes project for rendering readiness. Args: project_path: Absolute path to the Hyperframes project directory.
hyperframes_to_mcpvideoRender a Hyperframes composition and post-process with mcp-video in one step. Args: project_path: Absolute path to the Hyperframes project directory. post_process: List of post-processing operations, each with 'op' and 'params' keys. Example: [{"op": "resize", "params": {"aspect_rat
video_record_motion_acceptanceRecord an authorized human caller's explicit whole-film motion attestation. The caller must provide the exact source/report hashes, complete watched intervals and every flagged interval's disposition. Requires explicit human review; agents must not invent viewing or act as the reviewer. This record
video_mix_audioMix timed sounds with one AAC encode and stream-copy the primary picture. Sounds is an array or JSON array of objects with path, start (seconds), volume (linear gain), fade_in and fade_out (seconds). The picture duration and relative source-audio timing are preserved. Tracks sum without loudness no
audio_synthesizeGenerate audio procedurally using synthesis. Creates WAV files from scratch using mathematical waveforms. No external audio files needed. Supports envelopes, reverb, filtering, and fade effects. Args: output_path: Absolute path for the output WAV file. waveform: Waveform type (sine, square
audio_presetGenerate preset sound design elements. Pre-configured sound effects for common use cases. No external audio files needed. Available presets: - UI: ui-blip, ui-click, ui-tap, ui-whoosh-up, ui-whoosh-down - Ambient: drone-low, drone-mid, drone-tech - Notifications: chime-success, chime-error, chime-
audio_sequenceCompose multiple audio events into a timed sequence. Creates a layered audio track from multiple timed sound events. Args: sequence: List of audio events, each with: - type: "tone", "preset", or "whoosh" - at: Start time in seconds - duration: Event duration in seconds
audio_composeLayer multiple audio tracks with volume mixing. Mix multiple WAV files together with individual volume control. Args: tracks: List of track configs with: - file: Absolute path to WAV file - volume: Volume multiplier 0-1 - start: Start time offset in seconds - lo
audio_effectsApply audio effects chain to a WAV file. Process audio through a chain of effects like reverb, filtering, normalization. Args: input_path: Absolute path to input WAV file. output_path: Absolute path for output WAV file. effects: List of effect configs with: - type: "lowpass", "
video_add_generated_audioAdd procedurally generated audio to a video. One-shot convenience function to generate and add audio to video. Args: input_path: Absolute path to input video. audio_config: Configuration dict with: - drone: {"frequency", "volume"} for background tone - events: List of timed
video_audio_spatialApply 3D spatial audio positioning.
video_duck_audioMix background music under a video's voice with automatic ducking. The video's own audio (voice/dialog) drives FFmpeg's sidechain compressor, so the music dips while speech plays and recovers in pauses — the standard treatment for shorts, reels, and podcast clips. Args: input_path: Video whose
video_audio_bedMix a looped music bed under a voice source with ducking and loudness normalization. The voice drives sidechain ducking and loudness normalization. A deterministic AudioBedReceipt is returned, and output duration stays locked to the voice source. Args: voice_source: Video/audio whose existing
effect_vignetteApply vignette effect - darkened edges. Creates a darkened border effect that draws attention to the center of the frame. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. intensity: Darkness amount 0-1. Default 0.5. radius: Vignette radiu
effect_chromatic_aberrationApply chromatic aberration - RGB channel separation. Creates a trendy RGB split effect popular in tech/glitch aesthetics. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. intensity: Pixel offset amount. Default 2.0. angle: Separation dire
effect_scanlinesApply CRT-style scanlines overlay. Simulates old CRT monitor scanline effect with optional flicker. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. line_height: Pixels per scanline. Default 2. opacity: Line opacity 0-1. Default 0.3.
effect_noiseApply film grain or digital noise. Adds texture noise to video for vintage or lo-fi aesthetics. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. intensity: Noise amount 0-1. Default 0.05. mode: Noise type (film, digital, color). Default f
effect_glowApply bloom/glow effect for highlights. Creates a soft glow around bright areas of the video. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. intensity: Glow strength 0-1. Default 0.5. radius: Blur radius in pixels. Default 10. thres
video_layout_gridCreate grid-based multi-video layout. Arranges multiple videos in a grid pattern (2x2, 3x1, etc.). Args: clips: List of absolute paths to video files. layout: Grid layout (2x2, 3x1, 1x3, 2x3). output_path: Absolute path for output video. gap: Pixels between clips. Default 10. p
video_layout_pipPicture-in-picture overlay. Overlay a smaller video on top of a main video. Args: main_path: Absolute path to main video. pip_path: Absolute path to picture-in-picture video. output_path: Absolute path for output video. position: Position (top-left, top-right, bottom-left, bottom-r
video_text_animatedAdd animated text to video. Overlay text with animation effects (fade, slide, etc.). Args: input_path: Absolute path to input video. text: Text to display. output_path: Absolute path for output video. animation: Animation type (fade, slide-up, typewriter). Default fade. font: F