Skip to main content
Glama

Server Details

One call burns captions into your video. Hosted, prepaid, no subscription. MP4 plus SRT and VTT.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct role in the captioning lifecycle: upload creation, caption submission, polling, listing, and re-rendering from edited words. The only potentially overlapping pair, caption_video and render_captions, is sharply differentiated by source input and whether speech recognition runs.

Naming Consistency5/5

All tool names use a consistent snake_case verb_noun pattern: caption_video, create_upload, get_caption_job, list_caption_jobs, render_captions. The minor singular/plural variation is natural and does not impede predictability.

Tool Count5/5

Five tools are well scoped for a video-captioning service: one for local upload, one for caption creation, one for polling, one for recovery/listing, and one for re-rendering. There are no obviously redundant or missing tools at this count.

Completeness4/5

The core lifecycle is covered from upload through captioning, polling, listing, and re-rendering, with artifact links and error reporting. Minor gaps remain, such as no explicit cancel/delete operation for jobs or upload abort, but these are not central to the stated workflow.

Available Tools

5 tools
caption_videoAInspect

Start captioning one video. Pass exactly one source: inputUrl, a direct https link to a video file (platform pages such as YouTube or TikTok are refused), or jobId from create_upload after the bytes are uploaded. Choose a preset: highlight, clean, boxed, karaoke, word, punch, wordbox, reveal or glow (each is described on the preset field). Optionally send a style to adjust the look: text size, position, padding, words per caption, sentence breaks, capitals, colours or a pop-in. Optionally send a dictionary of names to spell right and a language. Returns a jobId in status probing; poll it with get_caption_job. If the response is lost, replay with the original idempotencyKey and payload or use list_caption_jobs to find recent jobs. The balance is charged by the whole second once the duration is known, and nothing is charged if the job fails.

Inputs: preset (required), jobId, style, inputUrl, +4 more. Returns: jobId, status, balance, balanceWarning

create_uploadAInspect

Only for a video file on the caller's side, at most 2 GB. Returns a PUT-only upload URL for one object, valid for one hour; PUT the raw bytes to it, then call caption_video with the returned jobId. Pass contentLength if you know the file's size in bytes and the URL is bound to it; leave it out if you do not. If the video is already at a direct https URL, skip this tool entirely and pass inputUrl to caption_video. A retry is safe only when it carries the same idempotencyKey; without one, each call creates a new upload.

Inputs: sha256, contentLength, idempotencyKey. Returns: jobId, balance, expiresAt, uploadUrl, +1 more

get_caption_jobA
Read-onlyIdempotent
Inspect

Poll a known job. If the job ID was lost, use list_caption_jobs to find it. While it runs, retryAfterSeconds says how long to wait before calling again. When status is completed, artifacts holds signed links to the captioned MP4, SRT, VTT, ASS and words.json, valid until expiresAt (24 hours after completion), and chargedSeconds is final. After a render_captions call, render says which version was asked for last and whether it is still rendering, done, or failed; the links always belong to the newest finished version, and preset describes the newest request. When status is failed, error says why and nothing was charged. dictionaryCapacityApplied is the dictionary capacity the speech vendor honoured (1000 on the primary vendor, 0 on the fallback), not a count of terms. Every response includes the caller's balance.

Inputs: jobId (required). Returns: object

list_caption_jobsA
Read-onlyIdempotent
Inspect

List your caption jobs newest first to recover a lost job ID or review recent results. Returns one page; pass nextCursor with the same status filter to continue. Includes running, failed, and completed jobs, including completed jobs whose files expired. No captioning charge. Use get_caption_job for one job's details and download links. Similar submissions may need user confirmation; a missing row does not make resubmission safe. Retry an interrupted submission with its original idempotencyKey and payload when available.

Inputs: limit, cursor, status. Returns: jobs, balance, nextCursor

render_captionsAInspect

Burn the same video again from edited words. Send the job's words.json with corrections applied, every word with its startMs and endMs in order (keep confidence if you want it in the new words.json); no speech model runs, what you send is what gets burned. Optionally change the preset or the style; a style sent replaces the job's whole, and none keeps it. Free within the job's allowance (3 on a paid account, 1 on the trial) and within 24 hours of completion. Returns the job at once with render.status accepted; poll get_caption_job until it is completed, when the artifact links switch to the new version. A retry is safe only when it carries the same idempotencyKey and the same body; without a key, each accepted call reserves a re-render from the allowance. Completion spends it; failure returns it. After 3 failed re-renders the job is paused for investigation, with rerenderFailureLimitReached true; do not automatically retry. Re-renders count toward the account's concurrent job limit while they run.

Inputs: jobId (required), words (required), style, preset, +2 more. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources