pastorsimon1798/mcp-video
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| video_infoA | Get metadata about a video file: duration, resolution, codec, fps, size. Args: input_path: Absolute path to the video file. |
| video_trimA | Trim a video clip by start time and duration. Args: input_path: Absolute path to the input video. start: Start timestamp (e.g. '00:02:15' or seconds as string like '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. |
| video_mergeA | Concatenate two or more existing video clips into one rendered output file. The input clips are read only and kept unchanged; the tool creates an auto-named output or writes to output_path, using FFmpeg and reporting transition or media-mismatch validation errors. |
| video_add_textA | Overlay text on a video (titles, captions, watermarks). 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). |
| video_add_textsA | Overlay multiple text elements on a video in a single FFmpeg pass. Automatically detects overlapping text and distributes vertically stacked texts when they share the same named position. 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. |
| video_add_audioA | Add, replace, or mix an audio file into an existing video and render a new output file. The source video and audio are read only; output_path is created or overwritten. Controls volume, fade-in, fade-out, mix/replace mode, and optional start time. |
| video_resizeB | Resize a video or change its aspect ratio. 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. |
| video_convertA | Transcode an existing video into a different container or codec format such as mp4, webm, gif, or mov. Use this for format conversion; use video_export for final delivery presets. The input video is read only and a new output file is rendered. |
| video_speedA | Render a new video with playback speed changed while keeping the source video unchanged. Values below 1.0 create slow motion and values above 1.0 create fast motion; the factor is validated against configured speed limits. |
| search_toolsA | Search registered MCP tools by keyword. Use this when you need to find the right tool for a task without reading all 91 tool descriptions. Returns matching tools with their names, descriptions, and required parameters. Args: query: Search term — e.g. "blur", "resize", "subtitle", "audio", "trim". |
| video_thumbnailB | Extract 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_previewA | Generate 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_storyboardA | Extract 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_subtitlesA | Burn subtitles (SRT/VTT) into a video. Args: input_path: Absolute path to the input video. subtitle_path: Absolute path to the subtitle file (.srt or .vtt). output_path: Where to save the output. Auto-generated if omitted. |
| video_watermarkA | Overlay 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_exportA | Re-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_cropA | Crop 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_rotateA | Rotate 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_fadeA | Render 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_editA | Execute 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). Args: timeline: JSON object with keys: width, height, tracks (video/audio/text/image), export. Can also be a JSON string or a path to a .json file. Image overlays in tracks: {"type": "image", "images": [{"source": "logo.png", "position": "top-right", "width": 200, "opacity": 0.8}]} output_path: Where to save the final video. Auto-generated if omitted. |
| video_template_previewA | Preview 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). duration: Override the estimated duration in seconds. caption: Caption text for TikTok / Instagram Reel / Instagram Post templates. title: Title text for YouTube Shorts / YouTube video templates. music_path: Absolute path to background music file. outro_path: Absolute path to outro video file (YouTube template only). |
| video_extract_audioA | Extract 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_filterB | Apply 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," " deinterlace, ken_burns, reverb, compressor, pitch_shift," " noise_reduction). params: Optional filter parameters (e.g. radius for blur, preset for color_preset). 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). |
| video_luma_keyA | Mask 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_maskA | Apply 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_segmentB | Segment 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_reverseA | Reverse 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_keyB | Remove 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 if omitted. |
| video_normalize_audioA | Normalize 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. |
| video_overlayA | Picture-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 the overlay to (pixels). opacity: Overlay opacity (0.0 to 1.0). start_time: When the overlay appears (seconds). duration: How long the overlay is visible (seconds). 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). |
| video_split_screenA | Place 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_scenesB | Detect 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_imagesA | Create 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_framesA | Export 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_subtitlesC | Generate 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_qualityA | Compare 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_metadataB | Read metadata tags from a video/audio file. Args: input_path: Absolute path to the video or audio file. |
| video_write_metadataA | Write 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_stabilizeA | Stabilize 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_maskA | Apply 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_waveformA | Extract 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_batchB | Apply 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_cleanupA | Delete intermediate video files after a workflow. Useful for multi-step pipelines that leave temporary outputs.
Files in Args: files: List of absolute paths to delete. keep: List of absolute paths to preserve (optional). |
| image_extract_colorsA | Extract 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_paletteA | Generate 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). n_colors: Number of dominant colors to base palette on (default 5). |
| image_analyze_productA | Analyze 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 (requires ANTHROPIC_API_KEY). n_colors: Number of dominant colors to extract (default 5). |
| video_project_createA | 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. |
| style_pack_readA | Read 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_readA | Read 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_renderA | Expand 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_renderA | Render 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, webm, mov, png-sequence). Default mp4. resolution: Hyperframes resolution preset (landscape, portrait, landscape-4k, portrait-4k, 1080p, 4k, uhd). composition: Specific composition file to render instead of index.html. workers: Parallel render workers (number or 'auto'). Default auto. crf: Override encoder CRF (lower = better quality). variables: Inline JSON object/string with runtime data for the composition. variables_file: Path to a JSON file with runtime data for the composition. |
| hyperframes_compositionsA | List compositions in a Hyperframes project. Args: project_path: Absolute path to the Hyperframes project directory. |
| hyperframes_previewA | Launch 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_stillA | Render 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 the composition. |
| hyperframes_snapshotC | Capture key frames as PNG screenshots for visual verification. |
| hyperframes_inspectC | Inspect rendered composition layout for overflow and visual issues. |
| hyperframes_infoC | Print Hyperframes project metadata. |
| hyperframes_catalogC | Browse Hyperframes catalog blocks/components. |
| hyperframes_captureC | Capture a website as editable Hyperframes components. |
| hyperframes_ttsC | Generate speech audio or list available Hyperframes local TTS voices. |
| hyperframes_transcribeC | Transcribe audio/video to word-level timestamps or import transcripts. |
| hyperframes_remove_backgroundC | Remove a video/image background using Hyperframes local AI. |
| hyperframes_doctorB | Run Hyperframes environment diagnostics. |
| hyperframes_benchmarkC | Benchmark Hyperframes render speed and file size. |
| hyperframes_initB | Scaffold 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 media bootstrap. model: Whisper model for transcription. language: Language code for transcription. tailwind: Add Tailwind CSS browser-runtime support. resolution: Hyperframes canvas resolution preset. |
| hyperframes_add_blockB | Install 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_validateB | Validate a Hyperframes project for rendering readiness. Args: project_path: Absolute path to the Hyperframes project directory. |
| hyperframes_to_mcpvideoA | Render 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. |
| audio_synthesizeA | Generate 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 note). duration: Duration in seconds. Default 1.0. volume: Amplitude 0-1. Default 0.5. effects: Optional effects dict with keys: - envelope: {"attack", "decay", "sustain", "release"} in seconds - fade_in: Fade in duration in seconds - fade_out: Fade out duration in seconds - reverb: {"room_size", "damping", "wet_level"} - lowpass: Cutoff frequency in Hz Returns: Dict with success status and output_path. |
| audio_presetA | Generate preset sound design elements. Pre-configured sound effects for common use cases. No external audio files needed. Available presets:
Args: preset: Preset name from the list above. output_path: Absolute path for the output WAV file. pitch: Pitch variation (low, mid, high). Default mid. duration: Override default duration (seconds). intensity: Effect intensity 0-1. Default 0.5. Returns: Dict with success status and output_path. |
| audio_sequenceA | Compose 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: 0-1 amplitude - waveform: For tones (sine, square, etc.) output_path: Absolute path for the output WAV file. Returns: Dict with success status and output_path. |
| audio_composeA | Layer 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. output_path: Absolute path for the output WAV file. Returns: Dict with success status and output_path. |
| audio_effectsB | Apply 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 success status and output_path. |
| video_add_generated_audioC | Add 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 status and output_path. |
| video_audio_spatialC | Apply 3D spatial audio positioning. |
| effect_vignetteA | Apply 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: Dict with success status and output_path. |
| effect_chromatic_aberrationA | Apply 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_scanlinesA | Apply 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_path. |
| effect_noiseA | Apply 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 status and output_path. |
| effect_glowA | Apply 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_gridA | Create 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. Returns: Dict with success status and output_path. |
| video_layout_pipA | Picture-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: Margin from edges in pixels. Default 20. border: Add border around PIP. Default true. border_color: Border color hex. Default #CCFF00. border_width: Border width in pixels. Default 2. rounded_corners: Apply rounded corners to PIP. Default true. Returns: Dict with success status and output_path. |
| video_text_animatedB | Add 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. position: Text position. Default center. start: Start time in seconds. Default 0. duration: Display duration. Default 3.0. Returns: Dict with success status and output_path. |
| video_subtitles_styledA | Burn 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_countA | Generate 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_path. |
| video_mograph_progressA | Generate 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. Returns: Dict with success status and output_path. |
| video_info_detailedA | Get 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_chaptersA | Auto-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_glitchB | Apply 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_pixelateC | Apply pixelate transition between two video clips. |
| transition_morphC | Apply morph transition between two video clips. |
| glitch_rgb_shiftA | Apply 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: Per-frame noise amplitude (0-1). Default 0. Returns: Dict with success status and output_path. |
| glitch_scanline_jitterA | Apply 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_height: Height of each jitter band in pixels. Default 4. Returns: Dict with success status and output_path. |
| glitch_screen_tearingA | Apply 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 success status and output_path. |
| glitch_vhs_trackingA | Apply 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. Default 3. roll_speed: Vertical roll speed. Default 2. Returns: Dict with success status and output_path. |
| glitch_macroblockingA | Apply 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 reduction (0-1). Default 0.3. Returns: Dict with success status and output_path. |
| glitch_datamoshingA | Apply 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. Returns: Dict with success status and output_path. |
| glitch_cmyk_splitB | Apply 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: Dict with success status and output_path. |
| glitch_turbulent_displacementA | Apply 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: Animation speed. Default 1. octaves: Number of noise octaves (1-5). Default 3. Returns: Dict with success status and output_path. |
| glitch_digital_feedbackA | Apply 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 feedback (0-1). Default 0.5. scale: UV scale for previous frame. Default 1.0. rotation: Rotation in degrees. Default 0.0. decay: Ghost trail opacity (0-1). Default 0.9. Returns: Dict with success status and output_path. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| templates_resource | List available editing templates (aspect ratios, quality presets). |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/KyaniteLabs/mcp-video'
If you have feedback or need assistance with the MCP directory API, please join our Discord server