justcaptions
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JUSTCAPTIONS_API_KEY | No | Your Just Captions API key. If set, it is used for cloud features; otherwise the server runs offline. | |
| JUSTCAPTIONS_STATE_DIR | No | Directory for saved jobs. Overrides the default ~/.local/share/justcaptions. | ~/.local/share/justcaptions |
| JUSTCAPTIONS_METRICS_ID | No | Enables optional setup/export statistics counters when a website visitor opts in. |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_environmentA | Check media tools, fonts, API-key availability and offline recognition. Never returns the key. |
| list_stylesB | Return 15 portable presets, supported overrides, aliases and conservative platform safe areas. |
| list_fontsA | List bundled named fonts, IDs, licenses and script coverage for local rendering. Pass overrides={"font_id": "anton"} to preview_style or caption_video. |
| get_usageA | Read cloud API usage and estimated monthly charges. Requires a locally configured API key. |
| preview_styleB | Return a caption PNG preview with a neutral backdrop. Does not call a paid API. |
| caption_videoA | Start captioning one local video or a folder. Returns a job ID immediately; poll get_job. API recognition sends audio, AI edits send text, and MP4 rendering remains local. captions_path reuses an existing SRT/VTT/JSON without recognition. Original video is preserved. |
| get_jobB | Read a saved caption job, including verified outputs and per-file failures. |
| list_jobsB | Find durable jobs after reconnecting, including jobs interrupted by a process restart. |
| cancel_jobA | Stop owned local rendering and pending files. An in-flight cloud request may finish and be charged; its response is cached for resume. |
| resume_jobA | Resume an interrupted/cancelled/failed job. Completed files are skipped, failed files alone are retried, and successful cloud responses are reused. |
| estimate_videoA | Estimate cloud cost before transcription. Audio is measured locally; supply known text_chars for editing/translation, otherwise their cost is excluded. Does not reserve credit. |
| run_demoB | Export the bundled 6-second human-narration sample with animated captions. No API key, upload or model download required. Credits are bundled with the sample. |
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 12 tools
Each tool has a distinct action+resource: preview_style vs caption_video, get_job vs list_jobs, and cancel_job vs resume_job are clearly separated by description. The only mild overlap is check_environment vs get_usage, both touching API-key/cloud concerns, but their descriptions distinguish diagnostics from billing. An agent can reliably pick the right tool.
All 12 tools follow a uniform snake_case verb_noun pattern (check_environment, list_styles, get_job, cancel_job, resume_job, estimate_video, etc.). The convention is applied consistently with no camelCase or stylistic drift. Highly predictable.
Twelve tools sit squarely in the well-scoped 3-15 range, and each earns its place across config (list_styles/list_fonts), diagnostics (check_environment), execution (caption_video), lifecycle (get_job/list_jobs/cancel_job/resume_job), cost (get_usage/estimate_video), and demo (run_demo). No redundancy or filler.
The surface covers the full captioning lifecycle: discovery (styles/fonts/environment), estimation, creation, polling, cancellation, and resumption, plus a cost-free demo. The only notable gap is a delete/cleanup operation for finished jobs, which agents could work around but would round out the surface.