youtube-whisper
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GROQ_API_KEY | Yes | Your Groq API key (e.g., gsk_your_key_here), required unless using the multi-key pool file at ~/.config/groq/keys.json. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| transcribe_youtubeA | Download audio, apply silence-detected chunking (<25MB), and transcribe verbatim via Groq Whisper Large V3 with timestamped segment accuracy. Args: url: YouTube video URL (standard watch, short link, or completed livestream archive). output_path: Optional output path or directory for transcript files (.md & raw.json). Defaults to './transcripts/<video_id>.md'. language: Optional language code (e.g. 'id', 'en', 'ja'). If omitted, auto-detected. |
| extract_keyframeA | Extract a native 720p or 1080p HD keyframe at an exact timecode (HH:MM:SS) via HLS m3u8 range-seek without downloading full video bytes. Args: url: YouTube video URL. timestamp: Exact timecode string ('HH:MM:SS' or 'MM:SS', e.g. '00:15:30'). output_path: Optional output path (.jpg) or folder. Defaults to './frames/<video_id>_.jpg'. resolution: Target resolution height in pixels (720 or 1080). Defaults to 720. |
| get_video_infoB | Fetch YouTube video metadata (title, channel, duration, upload date, live status). Args: url: YouTube video URL. |
| list_channel_videosA | Enumerate video uploads from a channel without downloading bytes. Excludes Shorts (<60s). Defaults to chronological oldest-to-newest order. Args: channel_url: YouTube channel uploads URL (e.g. 'https://www.youtube.com/@channel/videos'). limit: Maximum number of videos to list (default: 30). sort_order: 'oldest_first' (recommended for research) or 'newest_first'. |
| check_groq_quotaA | Inspect Groq API key pool status, active key counts, and cooldown timers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool targets a distinct operation: quota inspection, keyframe extraction, metadata fetch, channel enumeration, and transcription. There is no meaningful overlap between any pair, so an agent can select confidently.
All five tools follow a clean verb_noun pattern (check_groq_quota, extract_keyframe, get_video_info, list_channel_videos, transcribe_youtube). No camelCase or style mixing.
Five tools is a tight, focused set that matches the transcription-centric purpose well. Slightly lean, with check_groq_quota acting as an auxiliary helper rather than a core domain tool, but nothing feels out of place.
The surface covers the core lifecycle: discover videos (list_channel_videos), inspect them (get_video_info), transcribe (transcribe_youtube), and grab frames (extract_keyframe), plus quota management. Minor gaps like batch processing or caption export exist but agents can work around them by iterating.