CaptionPipe
Server Details
One call burns captions into your video. Hosted, prepaid, no subscription. MP4 plus SRT and VTT.
- 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
Scored across 5 tools
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.
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.
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.
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 toolscaption_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_jobARead-onlyIdempotentInspect
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_jobsARead-onlyIdempotentInspect
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
Add burned-in captions to any video in one call: 28 caption styles, transcription, translation, dubbing, silence trimming and AI shorts. REST + MCP, prepaid credits (1 credit = 1 cent), free tools work without a key.
Burn styled, word-timed karaoke captions into any video - captions API and MCP server for agents.
Add animated word-by-word captions (TikTok/Reels/Shorts style) to videos; get the captioned MP4.
Animated word-by-word captions for your video and audio files, rendered on your machine by Cuecaps.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceBurning advanced word-by-word captions on videos with OpenCaptions1AGPL 3.0
- AlicenseAqualityBmaintenanceEnables transcription of video speech and burning TikTok/Reels-style animated captions into MP4 files locally, using 15 preset styles with batch folder jobs and optional cloud transcription, correction, translation, and emoji features.12MIT
- AlicenseAqualityBmaintenanceCaptions video and audio files on your computer with Cuecaps: animated word-by-word captions in 10 styles, exported as a burned-in MP4, a transparent MOV/WebM overlay for Premiere, Resolve or CapCut, or SRT/VTT subtitles. Rendering runs in local headless Chrome, so the video never uploads; captioning needs a Cuecaps Creator or Pro key.5107 npm1MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server that automatically transcribes video content and burns stylized captions directly into the video file. It leverages the Groq Whisper API for fast transcription and supports multiple visual styles tailored for social media and professional content.-
Glama MCP Gateway
Add one secure layer between your agents and this server.