# Shotstack — MCP server on mcp.ai > Connect your Shotstack account and use 24 tools for video and audio straight from your AI agent. Connect with your own API key. Shotstack is a cloud-based platform that enables developers, marketers, and designers to automate the generation of videos, images, and audio at scale using a RESTful API. By: mcp.ai · official Page: https://mcp.ai/shotstack ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_shotstack?ms=1787295720000 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/shotstack/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/shotstack/ 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/shotstack/skill.md Postman collection (v2.1): https://mcp.ai/shotstack/postman.json ## Tools - shotstack_create_template(name: string, output: object, template?: boolean, timeline: object, description?: string) — Tool to create a new template for video editing. Use when you want to save a reusable timeline configuration as a template. Template changes do not retroactively affect past renders. - shotstack_create_template2(name: string, version?: string, template: object) — Tool to save an Edit as a re-usable template. Templates can be retrieved and modified before rendering. Use when you want to create a template with merge fields for dynamic content. - shotstack_delete_ingested_media(id: string) — Tool to delete an ingested media asset. Use when you've confirmed the ingest ID and need to remove the file from Shotstack storage. - shotstack_delete_template2(id: string) — Tool to delete a specific Shotstack template by its ID. Use when you need to remove a template permanently. - shotstack_delete_workflow(workflowId: string) — Tool to delete a specific Shotstack workflow. Use when you need to permanently remove a workflow after confirming its ID. - shotstack_fetch_source(url: string) — Tool to fetch a remote media file and store it as a source asset. Operation is asynchronous — poll SHOTSTACK_GET_INGEST_STATUS or SHOTSTACK_INSPECT_MEDIA until the asset is ready before passing it to - shotstack_get_assets(id: string) — Tool to fetch details of a hosted asset by its unique identifier. Use when you need to retrieve information about videos, images, audio files, thumbnails, or poster images hosted on Shotstack's CDN. - shotstack_get_assets_render(id: string) — Tool to retrieve hosted assets by render ID. Use when you need to fetch one or more files (video, thumbnail, poster image) generated by a specific render job. - shotstack_get_ingest_status(ingestId: string) — DEPRECATED: Use SHOTSTACK_GET_SOURCE instead. Tool to retrieve the status and details of an ingested media asset. Poll until the asset status is 'ready' before using it in SHOTSTACK_RENDER_VIDEO; rend - shotstack_get_render_callback(renderId: string) — Tool to retrieve the webhook/callback URL configuration for a specific render job. Returns only callback settings (URL, method, headers), not render status or output URLs — use a separate render-statu - shotstack_get_render_status(id: string, data?: boolean, merged?: boolean, version?: string) — Tool to retrieve the current status and details of a Shotstack render job by render ID. Use when polling a render until done or failed, typically after creating a render with SHOTSTACK_RENDER_VIDEO. - shotstack_get_source(id: string) — Tool to fetch the details of a specific source asset. Use when you need to inspect a source after uploading, check its status, or diagnose ingest/render failures—such as unsupported codecs, corrupt fi - shotstack_get_template(templateId: string) — Tool to retrieve details of a specific template. Use when you have the ID of an existing template and need its metadata. - shotstack_get_template_by_version(id: string, version?: string) — Tool to retrieve a template by template id and API version. Use when you need to fetch template details from a specific Edit API version. - shotstack_get_upload_url(version?: string) — Tool to request a signed URL for direct file upload to Shotstack. Use when you need to upload a file to Shotstack storage. The response returns a signed URL that you use to upload the file using a PUT - shotstack_inspect_media(url: string) — Tool to inspect media metadata. Use before rendering to retrieve duration, resolution, frame rate, and format of an online media file — clip timecodes, trim points, and audio sync calculations depend - shotstack_list_sources(index?: string, limit?: integer, offset?: integer) — Tool to list all source assets. Use when you need to retrieve source entries with optional pagination. - shotstack_list_sources2(env: string, index?: string, limit?: integer, offset?: integer) — Tool to list all ingested source files with environment selection. Use when you need to retrieve sources from stage (sandbox) or v1 (production) environment with optional pagination. - shotstack_list_templates() — Tool to list all Shotstack templates for the account. Use after creating or updating templates to view your available templates. - shotstack_list_templates2(env?: string) — Tool to list all Shotstack templates for the specified environment. Use when you need to retrieve templates from a specific environment (stage or production). - shotstack_post_upload() — Tool to request a signed URL for direct file upload. Use when you need to upload a file to Shotstack storage. The response returns a signed URL that expires in one hour. - shotstack_render_video(output: object, callback?: string, timeline: object) — Tool to initiate a new video render job. Use when you have defined a timeline and output settings and want to start rendering. - shotstack_transfer_asset(id: string, url: string, destinations: object[]) — Tool to transfer a file from any publicly available URL to one or more Serve API destinations. Use when you need to copy a file from an external source to Shotstack's hosting service or other configur - shotstack_update_template(id: string, name: string, template: object) — Tool to update an existing template by its ID. Use when you need to modify a template's name or edit configuration. Both name and complete template definition must be provided. ## Example prompts - "What can I do in Shotstack?" - "Show me a summary of my Shotstack account" ## Links Docs: https://mcp.ai/docs/mcps/shotstack Website: https://mcp.ai/mcps/shotstack