Kinocut
Guardrailed video editing MCP server: 200 FFmpeg tools, Video Receipts, Shorts repurposing.
Connect it
Settings → Connectors → Add custom connector
URL: https://mcp.kyanitelabs.tech/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://mcp.kyanitelabs.tech/mcp{
"mcpServers": {
"kinocut": {
"url": "https://mcp.kyanitelabs.tech/mcp"
}
}
}claude mcp add --transport http kinocut https://mcp.kyanitelabs.tech/mcp{
"servers": {
"kinocut": {
"type": "http",
"url": "https://mcp.kyanitelabs.tech/mcp"
}
}
}203 tools, verified live
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 segment. Args: input_path: Absolute path to the input video. start: Start timestamp (e.g. '00:02:
video_mergecan modifyConcatenate 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: input_path: Absolute path to the input video. text: Text to overlay. position: Position on scree
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: Absolute path to the input video. texts: List of text overlay dicts. Each dict may contain:
video_add_audiocan modifyAdd, 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.
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 the input video. width: Target width in pixels. Use with height. height: Target height in pi
video_convertcan modifyTranscode 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_speedcan modifyRender 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, or a task such as "remove filler words", "resume render", or "keep face in frame". Exact names rank
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 applied to any subtitle format including authored ASS (e.g. "FontSize=24,PrimaryColour=&H00FFFF
video_watermarkcan modifyOverlay 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_exportcan modifyRe-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_cropcan modifyCrop 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_rotatecan modifyRotate 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_fadecan modifyRender 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 shortcut (simple multi-clip chain with per-boundary transitions):: { "clips": ["a.mp4", "b.
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, instagram-post). input_path: Absolute path to the input video (optional; used for duration probing).
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, contrast, saturation," " grayscale, sepia, invert, vignette, color_preset, denoise,"
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 file. qualities: List of quality levels (e.g. ["low", "medium", "high"]).
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 much to blend the keyed color (default 0.0). output_path: Where to save the output. Auto-generated
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 output. Auto-generated if omitted. lra: Target loudness range in LU. true_peak_dbtp: Maximum
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": 0.5, "y_pct": 0.5}. width: Width to scale the overlay to (pixels). height: Height to scale
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 png, default jpg).
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-generated if omitted.
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 the output. Auto-generated if omitted.
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. output_dir: Directory for output files. Auto-generated if omitted.
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-plan receipt; unsupported routes fail closed. File sources and masks must resolve inside the spec's
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_colors: Number of dominant colors to extract (1-20, default 5).
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 representative frame. harmony: Harmony type (complementary, analogous, triadic, split_complementary).
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, extracts a representative frame. use_ai: If True, use Claude Vision to generate a description
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 package stills. output_dir: Absolute directory for outputs and receipt.
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 for match stage. lut_path: Optional absolute .cube/.3dl path applied last. signal
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 contact sheet.
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 returns a plan without mutating pixels. Args: source: Absolute source still path. reference: Abso
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 grade after match (default True). lut_path: Optional LUT path for grade look stage. signal
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. quality: Render quality (draft, standard, high). Default standard. format: Output format (mp4, we
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 with runtime data for the composition. variables_file: Path to a JSON file with runtime data for th
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 through to the people model. Call ``info=True`` with no input to list models and cache without downloadin
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: Optional source audio for project bootstrap. skip_transcribe: Skip Whisper transcription during medi
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_ratio": "9:16"}}] output_path: Where to save the final output. Auto-generated if omitted.
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 records an unverified caller attestation, not model proof or release approval. No system-authenticated vie
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 normalization and may clip. Existing audio stays unless keep_source is false. The synchronous media en
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, sawtooth, triangle, noise). Default sine. frequency: Base frequency in Hz. Default 440 (A4 not
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-notification - Data: typing, scan, processing, data-flow Args: preset: Preset name from the lis
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 - freq/frequency: For tones (Hz) - name: For presets (preset name) - volume:
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 - loop: Whether to loop the track (default false) duration: Total output duration in seconds. ou
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", "reverb", "normalize", "fade" - Additional params per effect type Returns: Dict with suc
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 sound events output_path: Absolute path for output video. Returns: Dict with success statu
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 existing audio drives the ducking. music_path: Background music or ambience to mix underneath
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 audio (voice/dialog) drives ducking and sets output duration. music_path: Background mus
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 radius 0-1 (1 = edge of frame). Default 0.8. smoothness: Edge softness 0-1. Default 0.5. Returns:
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 direction in degrees. Default 0 (horizontal). Returns: Dict with success status and output_path.
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. flicker: Brightness variation 0-1. Default 0.1. Returns: Dict with success status and output_pa
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 film. animated: Whether noise changes per frame. Default true. Returns: Dict with success st
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. threshold: Brightness threshold 0-1. Default 0.7. Returns: Dict with success status and output_path.
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. padding: Padding around grid. Default 20. background: Background color hex. Default #141414. Ret
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-right). Default bottom-right. size: PIP size as fraction of main. Default 0.25. margin: Margi
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: Font family. Default Arial. size: Font size. Default 48. color: Text color. Default white.
video_subtitles_styledBurn subtitles from SRT/VTT with custom styling. Embeds subtitle file into video with customizable appearance. Args: input_path: Absolute path to input video. subtitles_path: Absolute path to SRT or VTT file. output_path: Absolute path for output video. style: Optional style dict with font, size, color, outline, etc. Returns: Dict with success status and output_path.
video_mograph_countGenerate animated number counter video. Creates a standalone video of an animated counting number. Args: start: Starting number. end: Ending number. duration: Animation duration in seconds. output_path: Absolute path for output video. style: Optional style dict with font, size, color, glow. fps: Frame rate. Default 30. Returns: Dict with success status and output_pat
video_mograph_progressGenerate progress bar / loading animation. Creates a standalone progress animation video. Args: duration: Animation duration in seconds. output_path: Absolute path for output video. style: Progress style (bar, circle, dots). Default bar. color: Progress color hex. Default #CCFF00. track_color: Background track color hex. Default #333333. fps: Frame rate. Default 30. Retu
video_info_detailedGet extended video metadata. Returns detailed video information including scene change detection and dominant colors. Args: input_path: Absolute path to input video. Returns: Dict with duration, fps, resolution, bitrate, has_audio, scene_changes.
video_auto_chaptersAuto-detect scene changes and create chapters. Analyzes video for scene cuts and returns chapter timestamps. Args: input_path: Absolute path to input video. threshold: Scene detection threshold 0-1. Default 0.3. Returns: List of (timestamp, description) chapter tuples.
transition_glitchApply glitch transition between two video clips. Args: clip1_path: Absolute path to first video clip. clip2_path: Absolute path to second video clip. output_path: Absolute path for output video. duration: Transition duration in seconds (default 0.5). intensity: Glitch intensity 0-1 (default 0.3).
transition_pixelateApply pixelate transition between two video clips.
transition_morphApply morph transition between two video clips.
glitch_rgb_shiftApply RGB channel shift glitch effect. Shifts red and blue channels in opposite directions for a chromatic split look. Optionally adds per-frame noise for a jittery feel. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. amount: Shift distance in pixels. Default 10.0. angle: Shift direction in degrees. Default 0 (horizontal). noise:
glitch_scanline_jitterApply scanline jitter glitch effect. Displaces random horizontal rows of pixels for a CRT malfunction look. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. jitter_amount: Max horizontal displacement in pixels. Default 15. frequency: Fraction of rows affected (0-1). Default 0.3. speed: Animation speed multiplier. Default 5. row_
glitch_screen_tearingApply screen tearing glitch effect. Creates horizontal tear bands at varying Y positions that shift left/right over time. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. tear_count: Number of tear bands. Default 5. offset_range: Max horizontal offset in pixels. Default 80. speed: Animation speed. Default 3. Returns: Dict with
glitch_vhs_trackingApply VHS tracking error glitch effect. Simulates VHS tape tracking problems with color bleed, rolling bands, and analog noise. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. tracking: Tracking error intensity (0-1). Default 0.5. noise_amount: VHS noise intensity (0-1). Default 0.03. color_bleed: Red channel shift in pixels. Defau
glitch_macroblockingApply macroblocking glitch effect. Simulates codec artifacting by downscaling/upscaling to create blocky pixelation combined with color posterization. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. block_size: Block size in pixels. Default 16. intensity: Blend with original (0-1). Default 0.7. color_reduction: Color level reductio
glitch_datamoshingApply datamoshing glitch effect. Simulates P-frame corruption where displacement drifts across frames then periodically resets, mimicking real datamosh artifacts. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. drift: Max displacement drift in pixels. Default 20. iframe_interval: Frame interval for displacement resets. Default 30. Ret
glitch_cmyk_splitApply CMYK split glitch effect. Shifts RGB channels at 90-degree intervals to simulate four-plate offset print registration errors. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. amount: Shift distance in pixels. Default 8. angle: Base angle in degrees. Default 0. noise: Per-frame noise amplitude (0-1). Default 0. Returns: Di
glitch_turbulent_displacementApply turbulent displacement glitch effect. Uses layered sin/cos expressions at different frequencies to approximate fractal Brownian motion noise for organic-looking displacement. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. amount: Displacement magnitude in pixels. Default 20. scale: Base noise frequency. Default 0.01. speed:
glitch_digital_feedbackApply digital feedback glitch effect (requires Node.js + GPU). Iterative frame feedback with scale/rotation transform. Each frame blends with a scaled+rotated version of the previous output, creating ghostly trails and recursive visual patterns. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. feedback_mix: Blend between current and feedbac
glitch_slit_scanApply slit-scan temporal displacement effect (requires Node.js + GPU). Each row/column of the output is sampled from a different past frame, creating a time-smeared effect reminiscent of slit-scan photography. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. depth: Number of past frames to use (1-120). Default 30. direction: 0=top-botto
glitch_depth_splattingApply depth-based point splatting effect (requires Node.js + GPU). Extracts pseudo-depth from luminance and renders the image as scattered points, creating a 3D particle-like appearance. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. depth_scale: Depth extraction intensity. Default 1.0. spread: Point spread distance in pixels. Default
glitch_point_cloudApply point cloud rendering effect (requires Node.js + GPU). Samples the image as scattered points arranged in a 3D-rotated grid, with depth-based displacement creating a volumetric look. Args: input_path: Absolute path to input video. output_path: Absolute path for output video. density: Point sampling density (0-1). Default 0.5. point_size: Size of each point. Default 2.0.
video_ai_remove_silenceRemove silent sections from video.
video_ai_transcribeTranscribe speech to text using Whisper.
video_analyzeComprehensive video analysis â transcript, metadata, scenes, audio, quality, chapters, colors. Accepts a local file path or an HTTP/HTTPS URL. Direct video URLs (e.g. https://example.com/clip.mp4) are downloaded automatically. Streaming-platform URLs (YouTube, Vimeo, TikTok, Twitter/X, Instagram, Twitch, â¦) require yt-dlp (pip install yt-dlp). Each sub-analysis is independent so one failure w
video_ai_scene_detectDetect scene changes in video.
video_ai_stem_separationSeparate audio into stems using Demucs.
video_ai_upscaleUpscale video using AI super-resolution.
video_ai_color_gradeApply a color grade to a video â by LUT file, style preset, or reference video. Args: input_path: Video file to grade. output_path: Where to write the graded video. reference_path: Optional reference video â when given, the video's color balance is adjusted to match the reference (overrides style). style: Style preset. One of: auto (gentle contrast lift), warm, cool,
video_quality_checkRun 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
video_release_checkpointCreate preview artifacts only after the video passes quality gates. Use this before publishing or chaining more polish effects. It runs a hard quality gate, then writes a thumbnail and storyboard for human inspection. A video with no audio stream fails the gate unless ``require_audio`` is explicitly disabled.
video_design_quality_checkRun comprehensive design quality analysis on a video. Checks layout, typography, color, motion, and composition quality. Can automatically fix issues where possible. Args: input_path: Absolute path to video file auto_fix: If True, automatically apply fixes strict: If True, treat warnings as errors
video_fix_design_issuesAuto-fix design issues in a video. Applies automatic fixes for brightness, contrast, saturation, and audio level issues. Args: input_path: Absolute path to input video output_path: Absolute path for output (auto-generated if omitted)
video_find_momentsPersist or query a revision-bound local semantic index.
video_project_recipe_exportExport a verified edit revision as a path-free portable recipe.
video_project_recipe_replayReplay a portable recipe into a new durable project revision.
video_intentRoute a semantic intent verb to a plan (does not silently mutate media). Optional ``goal`` compiles a reviewable cutfile (N1) without rendering.
video_propose_brollTranscript-keyed b-roll proposals â human review required, never silent insert.
video_translate_captionsTranslate SRT captions with honest language-coverage reporting (ENâES first).
video_language_coverageHonest per-surface language coverage for transcribe/translate/dub.
video_review_runWatching guardrail: run offline metric floor under a review policy.
video_review_decideRecord human accept/reject/revise. Accept + EDL approval can render (N4).
video_propose_mutationsMap QC findings to typed proposed mutations (human apply only).
video_init_projectScaffold a local Kinocut project directory (media/out/receipts + optional Cutfile).
video_brand_kitSave or load a brand kit / style profile JSON.
video_estimate_operationDry-run local wall-time / cost-unit estimate (not cloud pricing).
video_cutfile_validateValidate a Cutfile, or compile one from ``goal`` / ``platform`` (N1/N5).
video_cutfile_renderRender a schema-valid Cutfile via the workflow engine (Track E).
video_metric_qcOffline metric floor (duration/black/loudness) â fail-closed, no invented values.
video_timeline_ir_validateValidate Timeline IR and compile to render DAG (P3.0). Semantic timelines (shots/silences/words) also get agent-visible ``text`` (N2).
video_qc_visionPrepare keyframes for visual review; semantic vision QC is not evaluated. Returns retained frame paths, sampling_status and assessment_status. Frame preparation is not a visual-quality pass. No executable VLM is available; require_vlm=True returns verdict=fail and blocked=True.
video_qc_narrativeNarrative/retention heuristics incl. first-15s window (P3.4).
video_generative_planGenerative policy and spend-cap planning metadata (P4.1). Eligibility never proves execution: this tree has no generation adapter.
video_otio_exportExport Timeline IR to simplified OTIO JSON (P4.2).
video_otio_importImport simplified OTIO JSON to Timeline IR (P4.2).
video_review_uiWrite hot-reloading human review HTML surface (P4.3).
video_dub_planES-first plan; use sound_voice_batch with a hashed request for local stock speech.
video_publish_validateValidate a publish spec. ``solve=True`` also emits a cutfile (N5).
video_hook_candidatesThumbnail + hook-title candidates for human pick (TE.2).
video_audiogram_planAudiogram + chapter mark plan (TE.4).
video_punch_zoom_planAuto-zoom punch-in plan on cut points (TE.5).
video_seek_frameFrame-accurate seek conversion (TE.9).
video_edit_sessionConversational edit session. Step with ``input_path`` measures real QC (N6).
shorts_plan_showLoad a saved shorts plan and return source-free proposals for review.
shorts_reviewAppend one human review decision to a saved shorts plan (source-free).
shorts_renderRender platform drafts for an approved candidate from a saved plan.
shorts_packagePackage approved platform renders from a saved plan. Never posts.
sound_capabilitiesDiscover the bounded public sound operation set (local-first, JSON-safe).
sound_plan_validateValidate a SoundPlan payload (or a built-in minimal plan when omitted).
sound_voice_batchRetain local caption speech from a request, or run the synthetic plan demo.
sound_mix_renderAssemble supplied WAVs into a new ZIP; omit both arguments for a labelled demo.
sound_master_renderRetain a two-pass master only after measuring final audio against its policy.
sound_qa_loudnessMeasure hashed local audio against its policy; omit inputs for a labelled demo.
sound_qa_asrRecognize supplied local audio and compare it with a reference script.
video_repurpose_planCreate a dry-run local repurposing manifest for platform-ready assets.
video_repurposeSubmit one durable projectstore repurpose job for platform clips. The worker applies the requested release checkpoint policy before success. Submission acknowledges queued/running work, not quality or human acceptance.
video_validate_text_layoutValidate 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_he
video_extract_frameExtract 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
video_workflow_validateValidate an agent workflow job-spec without rendering any media. Runs the fail-closed structural validator over the JSON job-spec at ``spec_path``: op allowlist (probe|trim|resize|convert|merge|add_text|composite_layers), symbolic ``@ref`` resolution (@sources.<id>, @work/<name>, @outputs.<id>), backward-reference-only ordering (a step may reference @work outputs from strictly-earlier steps only)
video_workflow_planProduce a no-render plan for an agent workflow job-spec. Validates the spec first (fail-closed) and then builds a dry-run plan artifact WITHOUT rendering any media: the ordered operation graph, per-source ffprobe results (duration/resolution/codec) and sha256 content hashes where the source file exists, declared output intents, a variant-expansion summary, tool + FFmpeg versions, and warnings for
video_workflow_renderExecute an agent workflow job-spec and return a provenance receipt. Validates the spec first (fail-closed), then runs each allowlisted op (probe|trim|resize|convert|merge|add_text|composite_layers) SEQUENTIALLY in spec order via the backing engine functions. Intermediates are written to a per-run ``@work`` directory unique to this invocation and cleaned on success (kept on failure); final media l
video_workflow_inspectSummarize 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, to
video_rescue_planAnalyze one local video and return a policy-classified rescue plan. Planning never changes the source or renders final media. It records findings, safe repair ids, recommendations, unavailable and blocked work, local capability evidence, previews, and an execution estimate.
video_rescue_renderRender approved safe repairs from a reviewed rescue plan. Approval ids must name safe repairs in this exact immutable plan. The renderer fails closed on stale inputs, capabilities, policy, resume state, cancellation, or verification failure and never promotes failed output.
video_rescue_inspectInspect a rescue plan or receipt and re-check artifact integrity.
video_semantic_timelineBuild a local, source-time semantic timeline from supplied analyzer evidence.
video_semantic_queryQuery source-backed semantic spans locally without inventing descriptions.
video_timeline_edit_planPlan explicit or ordinary-person timeline edits as a reviewable EDL and diff.
video_visual_transform_planPlan subject/camera analysis, reframing, or stabilization with crop budgets.
video_restoration_planPlan or evaluate evidence-gated local restorative work.
video_composition_planBuild source-backed manifests, selections, compositions, previews, and checks.
video_creative_autopilot_planCoordinate proven local planners or return a structured abstention.
video_remote_egress_planPlan explicit remote egress and fake adapter receipts without network I/O.
video_review_packageAssemble a review package and publish-gate verdict for a candidate artifact.
video_publish_gateEvaluate the fail-closed publish gate; any blocking finding blocks publishing.
video_review_decisionRecord a human review decision (writer); corrections supersede by record id.
video_learning_reportProject a learning report (verdicts, defects, costs, recipes) from records.
video_cost_ledgerSum known USD cost events by category for the project.
video_recipe_captureCapture a workflow recipe (writer); idempotent by canonical digest.
video_capabilitiesProbe host capabilities (ffmpeg, whisper, c2pa) and return a capability report.
video_benchmark_runRun the AI-video benchmark corpus against host capabilities.
revideo_materializeMaterialize Kinocut's pinned Revideo project for a validated job.
Alternatives in Design & Media
Compare →
OODS FoundryA
OODS Foundry is an object-oriented design system that extends the one you already have.
Coach WattsA
Remote MCP server for training, nutrition, wellness, and performance data with OAuth 2.0.
CLCleanorB
Zero-auth MCP: image optimize, cited storage/format data, and dev utilities LLMs get wrong.
StudioSphere Pulse — Audio IntelligenceB
Free licensed loops and authorized audio analysis: BPM, key, waveform. Estimate before paid use.
TRTranscriptionB
Transcribe audio and video and work with your transcript library from any AI app. 119 languages.
TinyPNG MCP by usefulapiB
Compress, resize and convert images with TinyPNG by URL, and check this month's compression count.