Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HF_HOMENoHugging Face cache (Whisper weights live here). Default: HF default.
PYTHONUTF8NoSet to '1' on Windows to avoid mojibake.1
HF_ENDPOINTNoHugging Face endpoint mirror, e.g. https://hf-mirror.com. Default: huggingface.cohuggingface.co
YUEYING_LANGNoLanguage of report.md written by the server (en or zh). Default: enen
YUEYING_MODELNoDefault for the model parameter (auto/tiny/base/small/medium/large-v3/large-v3-turbo). Default: autoauto
YUEYING_DEVICENoDevice to use: auto / cuda / cpu. Default: autoauto
YUEYING_OUT_DIRNoRoot folder for results (absolute, ~ ok). Default: ~/yueying_out~/yueying_out
YUEYING_MAX_JOBSNoPipelines running at once per server. Default: 11
YUEYING_JOB_TIMEOUTNoHard limit per video, in seconds. Default: 72007200
YUEYING_KEEP_SOURCENoSet to '1' to keep the downloaded ≤720p source in _download/ (enables exact-moment frames for URLs). Unset by default.
YUEYING_COOKIES_FROM_BROWSERNoDefault browser for cookies (chrome, edge, firefox, brave, chromium, safari). Unset by default.

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
watch_videoA

Turn a video into a timestamped transcript plus a keyframe overview so you can summarize it, answer questions about it, extract steps, commands or code, or write notes. video is an absolute path to a local video/audio file or a YouTube / Bilibili / Douyin / Xiaohongshu / TikTok / Vimeo URL. Fully offline: platform subtitles are used when they exist, otherwise local Whisper speech recognition (GPU when available, CPU otherwise); no API key. Results are cached per video, so calling again with the same video is instant. Typical time: 5–60 s for short subtitled videos, a few minutes for long videos without subtitles; the very first speech recognition downloads a model once (~480 MB on CPU, ~1.6 GB on GPU). If the reply starts with RUNNING, call watch_video again with the same video — it resumes waiting for the same job; do not change options and do not start other videos meanwhile. The reply is an English overview: metadata, chapters, the list of contact sheets (see them with get_frames), file paths, and the transcript with [mm:ss] timestamps (truncated at max_chars with a start time for get_transcript). Cite timestamps like (03:15). Not for live streams or images.

get_transcriptA

Read part of an already-watched video's transcript with [mm:ss] timestamps. Use when the watch_video overview was truncated, when the user asks about a specific time range, or to export subtitles (format='srt'). Returns at most max_chars; when truncated the last line gives next_start so you can continue from there. Paragraph format is the cheapest.

search_transcriptA

Find where something is said in an already-watched video. Each hit shows the time, the surrounding sentences, and the nearest keyframe number and contact-sheet number so you can follow up with get_frame_at or get_transcript. Use this instead of paging the whole transcript when the user asks 'when does he mention X' or 'find the part about Y'.

get_framesA

See what is on screen in an already-watched video. Returns contact-sheet images (3x3 keyframes in time order, every tile labelled '#number mm:ss' bottom-left) or individual keyframes. Read the contact sheets first to get the visual storyline, then request single frames only when you need to read code, slides or UI text. At most 3 images per call (default 2), downscaled to max_width; page with start/count. Every image is preceded by its absolute file path so hosts that can read files may open the full-size original instead.

get_frame_atA

Look closely at one moment of an already-watched video, e.g. to read code, a slide, a chart or a UI. For local files that still exist the exact frame at that time is extracted from the video; otherwise the nearest cached keyframe is returned and the caption says so. Also returns the transcript paragraphs spoken around that time. Returns one image (~100 KB at 960 px).

list_videosA

List videos already processed by yueying on this machine (newest first) and jobs currently running, with video_id, title, duration, text source, date, folder and size. Use when the user refers to a video watched earlier, to get a video_id for the other tools, or to see how much disk space results use. Instant and read-only.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation4/5

Each tool has a clear primary purpose, but get_frames and get_frame_at have overlapping names and both can return individual frames, and get_transcript/search_transcript both access transcript content. The descriptions are detailed enough to resolve most ambiguity, so misselection is unlikely.

Naming Consistency5/5

All tool names follow a consistent lowercase snake_case verb_noun pattern: list_videos, watch_video, get_transcript, search_transcript, get_frames, get_frame_at. The only slight variation is the prepositional suffix in get_frame_at, but it still reads as verb_object and maintains overall consistency.

Tool Count5/5

Six tools is a well-scoped set for the video-analysis lifecycle: one ingestion tool, two transcript accessors, two frame accessors, and one listing utility. No tool feels redundant, and the count is appropriate for the server's purpose.

Completeness4/5

The tool surface covers the full workflow of ingesting a video, listing processed items, reading/searching transcripts, and inspecting frames. Minor gaps exist, such as no delete/cancel operation and no dedicated metadata retrieval, but these do not block the core use cases.

Maintenance

ActivityMaintained
ResponsivenessNo issues