# Captions — MCP server on mcp.ai > Connect your Captions account and use 8 tools for AI content generation straight from your AI agent. Connect with your own API key. Captions provides the Mirage API for generating videos and speech and adding styled captions to videos. By: mcp.ai · official Page: https://mcp.ai/captions ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_captions?ms=1787293560000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/captions/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/captions/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/captions/skill.md Postman collection (v2.1): https://mcp.ai/captions/postman.json ## Tools - captions_add_captions(video?: object, video_id?: string, caption_template_id: string) — Start an asynchronous job that transcribes and renders a selected caption style onto an uploaded or existing completed video. Use CAPTIONS_GET_VIDEO_STATUS to monitor the returned job, then CAPTIONS_D - captions_download_video(video_id: string) — Download the MP4 content of a completed video job and return an offloaded file reference. Use CAPTIONS_GET_VIDEO_STATUS first to confirm the job is COMPLETE. - captions_generate_speech(text: string, voice_id: string) — Generate WAV speech synchronously from text using a known Mirage voice ID and return an offloaded audio file reference. This call consumes paid Mirage credits and cannot be cancelled or deleted once s - captions_generate_video(audio_reference: object, image_reference: object) — Start an asynchronous Mirage Video 1 job that animates a portrait image using speech audio. Use the returned job ID with CAPTIONS_GET_VIDEO_STATUS. This call consumes paid Mirage credits and cannot be - captions_get_caption_template(template_id: string) — Retrieve one caption style by ID, including its name and preview video URL. - captions_get_video_status(video_id: string) — Retrieve the current state, progress, and error details for a video generation or captioning job. - captions_list_caption_templates(limit?: integer, cursor?: string) — Return one page of available caption styles, including names and preview video URLs. - captions_list_videos(limit?: integer, order?: string, cursor?: string) — Return one page of video jobs owned by the connected Mirage account, including each job's status and progress. ## Example prompts - "What can I do in Captions?" - "Show me a summary of my Captions account" ## Links Docs: https://mcp.ai/docs/mcps/captions Website: https://mcp.ai/mcps/captions