Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
media_probeA

Inspect audio and video files with ffprobe. Returns container metadata, stream details, codecs, resolution, bitrate, and duration as JSON.

media_convertA

Convert video and audio files between formats. Includes presets for web MP4 (H.264/AAC), WebM (VP9/Opus), and animated GIF. Supports hardware acceleration on Apple Silicon, NVIDIA, Intel, and AMD.

trim_mediaA

Cut a segment from a video or audio file. Uses stream copy without re-encoding by default, or re-encodes when accurate cuts are needed.

extract_audioA

Extract an audio track from a video file into a standalone audio file. Supports the 'whisper_wav' preset (16kHz mono WAV) for speech recognition models, plus MP3, AAC, FLAC, and stream copy.

extract_thumbnailB

Capture a single still image from a video. Returns the saved image path and inlined base64 image data so vision models can inspect the frame.

compress_videoA

Compress video files to fit upload limits (such as GitHub PRs under 10MB or Discord under 25MB) using target file sizes or CRF quality levels. Does not modify the original file.

concat_mediaA

Join multiple video or audio files in order into a single file. Uses stream copy for matching files or re-encodes when formats differ.

generate_waveformB

Generate a PNG waveform image from an audio or video file. Returns the file path and inlined base64 image data.

add_subtitlesA

Embed an SRT or VTT subtitle track into a video container (mov_text for MP4, srt for MKV) without re-encoding the video stream.

change_speedB

Change video and audio playback speed (such as 2x for fast forward or 0.5x for slow motion) with pitch correction.

reformat_aspect_ratioB

Change video aspect ratio to 9:16 vertical, 1:1 square, or 4:5 portrait. Adds blurred video borders, solid padding, or center crops.

trim_silenceA

Detect and remove silent pauses from audio or video files. Preserves video & audio lip-sync in 'start_end' mode. Returns original duration and seconds saved.

create_split_screenB

Combine two video files into a split-screen video. Stacks clips vertically (1080x1920 for Reels and TikTok) or places them side-by-side. Supports audio mixing and subtitle embedding.

burn_subtitlesA

Hardcode/burn subtitles directly into video frames with customizable font size, colors, and positioning. Unlike soft subtitles, burned subtitles render on all platforms including TikTok, Instagram Reels, and YouTube Shorts.

extract_keyframesB

Extract multiple representative frames across a video's timeline. In 'montage' mode, merges frames into a single contact-sheet grid image and inlines base64 for vision models to inspect the whole video at once.

normalize_audioB

Normalize audio loudness using the broadcast standard EBU R128 (loudnorm). Supports -16 LUFS (podcasts/Reels), -14 LUFS (YouTube), and optional voice clarity enhancement (80Hz high-pass to remove mic rumble). Works on audio or video files.

add_overlayB

Place a watermark image, logo PNG, or branding graphic over a video with customizable position, padding, scaling, and opacity.

mux_mediaB

Combine or replace video and audio streams. Takes a video file and an audio track, with optional audio delay offset, stream-copy mode for zero quality loss, and 'replace' or 'add' stream mapping.

detect_scenesB

Detect video cuts and scene transitions. Returns structured timestamps, scene durations, and cut boundaries as JSON, with optional contact-sheet image preview for vision models.

Prompts

Interactive templates invoked by user choice

NameDescription
social_clip_generatorStep-by-step workflow for turning landscape footage into a 9:16 vertical short with burned subtitles.
whisper_audio_prepExtract and normalize 16kHz mono audio optimized for Whisper and local STT models.

Resources

Contextual data attached and managed by the client

NameDescription
system_capabilitiesDetected FFmpeg version, hardware acceleration devices, and available video encoders.
social_presetsAspect ratio standards, loudness limits, and upload specifications for social media platforms.

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation4/5

Most tools have clearly distinct purposes, with descriptions making the soft-subtitle vs. burned-subtitle split explicit. The only real overlap is between trim_silence and trim_media, and extract_thumbnail vs. extract_keyframes, but the descriptions clarify those boundaries well.

Naming Consistency4/5

The set is almost entirely verb_noun snake_case (trim_media, extract_audio, compress_video, burn_subtitles), which is predictable. The exceptions are media_probe and media_convert, which use noun_verb ordering and mildly break the pattern.

Tool Count4/5

19 tools is on the heavy side but each maps to a distinct, commonly needed ffmpeg operation (probe, convert, trim, concat, mux, overlays, subtitles, normalization). Nothing feels redundant enough to remove, though the surface is larger than ideal.

Completeness4/5

Coverage is broad across the media lifecycle: inspection, conversion, compression, trimming, concatenation, muxing, overlay, subtitles, speed, aspect ratio, split-screen, keyframes, waveform, and loudness normalization. Minor gaps like rotate/flip, frame-rate changes, and audio fade/volume adjustment are workable gaps rather than dead ends.

Maintenance

ActivityMaintained
ResponsivenessMixed handling