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_info | Get metadata about a video file: duration, resolution, codec, fps, size. Args: input_path: Absolute path to the video file. |
| video_trim | 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. |
| video_merge | Merge multiple video clips into one. Args: clips: List of absolute paths to video clips to merge (in order). output_path: Where to save the merged video. Auto-generated if omitted. transition: Single transition type for all clip pairs (fade, dissolve, wipe-left, wipe-right, wipe-up, wipe-down). transitions: Per-pair transition types (one per clip boundary). Overrides transition if both provided. transition_duration: Duration of each transition in seconds. |
| video_add_text | 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 (top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right). 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. |
| video_add_audio | Add or replace the audio track of a video. Args: video_path: Absolute path to the video file. audio_path: Absolute path to the audio file (MP3, WAV, etc.). volume: Audio volume (0.0 to 2.0, where 1.0 = original). fade_in: Fade in duration in seconds. fade_out: Fade out duration in seconds. mix: If true, mix with existing audio. If false, replace it. start_time: When the audio starts playing (seconds). output_path: Where to save the output. Auto-generated if omitted. |
| video_resize | 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_convert | Convert a video to a different format. Args: input_path: Absolute path to the input video. format: Target format (mp4, webm, gif, mov). quality: Quality preset (low, medium, high, ultra). output_path: Where to save the output. Auto-generated if omitted. |
| video_speed | Change video playback speed. Args: input_path: Absolute path to the input video. factor: Speed multiplier. 2.0 = 2x faster (time-lapse), 0.5 = half speed (slow-mo). output_path: Where to save the output. Auto-generated if omitted. |
| video_thumbnail | Extract a single frame (thumbnail) 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_preview | 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_storyboard | 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_subtitles | 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_watermark | Add an image watermark to a video. Args: input_path: Absolute path to the input video. image_path: Absolute path to the watermark image (PNG with transparency recommended). position: Position on screen (top-left, top-center, top-right, center, bottom-left, bottom-center, bottom-right). opacity: Watermark opacity (0.0 to 1.0). margin: Margin from edge in pixels. output_path: Where to save the output. Auto-generated if omitted. |
| video_export | Render and export a video with quality and format settings. Args: input_path: Absolute path to the input video. output_path: Where to save the output. Auto-generated if omitted. quality: Quality preset (low, medium, high, ultra). format: Output format (mp4, webm, gif, mov). |
| video_crop | Crop a video to a rectangular region. Args: input_path: Absolute path to the input video. width: Width of the crop region in pixels. height: Height of the crop region in pixels. x: X offset (defaults to center). y: Y offset (defaults to center). output_path: Where to save the output. Auto-generated if omitted. |
| video_rotate | Rotate and/or flip a video. Args: input_path: Absolute path to the input video. angle: Rotation angle (0, 90, 180, 270 degrees). flip_horizontal: Mirror the video horizontally. flip_vertical: Mirror the video vertically. output_path: Where to save the output. Auto-generated if omitted. |
| video_fade | Add fade in/out effect to a video. Args: input_path: Absolute path to the input video. fade_in: Fade in duration in seconds (from black). fade_out: Fade out duration in seconds (to black). output_path: Where to save the output. Auto-generated if omitted. |
| video_edit | Execute a full timeline-based edit from a JSON specification. The timeline JSON describes video clips, audio tracks, text overlays, transitions, and export settings in a single operation. Example timeline: { "width": 1080, "height": 1920, "tracks": [ { "type": "video", "clips": [ {"source": "intro.mp4", "start": 0, "duration": 5}, {"source": "main.mp4", "start": 5, "trim_start": 10, "duration": 30} ], "transitions": [{"after_clip": 0, "type": "fade", "duration": 1.0}] }, { "type": "audio", "clips": [{"source": "music.mp3", "start": 0, "volume": 0.7}] }, { "type": "text", "elements": [{"text": "EPISODE 42", "start": 0, "duration": 3, "position": "top-center"}] } ], "export": {"format": "mp4", "quality": "high"} } Args: timeline: JSON object describing the full edit timeline. output_path: Where to save the final video. Auto-generated if omitted. |
| video_extract_audio | 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). |
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). |