Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FFMPEG_PATH | No | Path to ffmpeg binary | ffmpeg |
| FFPROBE_PATH | No | Path to ffprobe binary | ffprobe |
| FFMPEG_OUTPUT_DIR | No | Default output directory | ~/Downloads |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ffmpeg_get_info | Get video/audio file metadata using ffprobe. Args:
file_path: Path to the media file
Returns:
JSON string with media metadata including duration, resolution,
codecs, bitrate, and stream information |
| ffmpeg_convert | Convert video/audio to a different format. Args:
file_path: Path to the input media file
output_format: Target format (e.g., mp4, mkv, webm, mp3, wav)
scale: Optional resolution scale (e.g., "1280:720", "1920:-1" for auto height)
video_codec: Optional video codec (e.g., libx264, libx265, libvpx-vp9)
audio_codec: Optional audio codec (e.g., aac, mp3, opus)
Returns:
Path to the converted file |
| ffmpeg_compress | Compress a video file to reduce file size. Args:
file_path: Path to the input video file
quality: Compression quality level - "low" (smallest file), "medium", or "high" (best quality)
scale: Optional resolution scale (e.g., "1280:720", "1920:-1" for auto height)
preset: Encoding speed preset - faster presets = larger files, slower = smaller files
Returns:
Path to the compressed file |
| ffmpeg_trim | Trim a video to extract a specific segment. Args:
file_path: Path to the input video file
start_time: Start time (e.g., "00:01:30" or "90" for 90 seconds)
end_time: End time (e.g., "00:02:00"). Mutually exclusive with duration.
duration: Duration of the clip (e.g., "30" for 30 seconds). Mutually exclusive with end_time.
Returns:
Path to the trimmed file |
| ffmpeg_extract_audio | Extract audio track from a video file. Args:
file_path: Path to the input video file
audio_format: Output audio format (mp3, aac, wav, flac, ogg, opus)
bitrate: Audio bitrate (e.g., "128k", "192k", "320k"). If not specified, uses format default.
Returns:
Path to the extracted audio file |
| ffmpeg_merge | Concatenate multiple video files into one. Args:
file_paths: List of paths to video files to merge (in order)
output_path: Optional output file path. If not specified, saves to default output directory.
Returns:
Path to the merged file |
| ffmpeg_extract_frames | Extract frames from a video as images. Args:
file_path: Path to the input video file
interval: Extract one frame every N seconds (e.g., 1.0 for one frame per second)
count: Total number of frames to extract (evenly distributed). Mutually exclusive with interval.
format: Output image format (jpg, png, bmp)
Returns:
Path to the directory containing extracted frames |
| ffmpeg_add_subtitles | Add subtitles to a video file (burn-in/hardcode). Args:
file_path: Path to the input video file
subtitle_path: Path to the subtitle file (SRT, ASS, VTT)
style: Subtitle style - "outline" (default), "shadow", "background", or "glow"
font_size: Font size for subtitles (default: 24)
output_path: Optional output file path. If not specified, saves to default output directory.
Returns:
Path to the output video with subtitles |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |