Media

Shotstack MCP Server

Connect your account, then chat with AI to run tools.

Shotstack is a cloud-based video editing API platform that automates video creation and editing at scale. Programmatically render videos, combine clips, crop and trim footage, add effects and transitions, and manage multimedia assets with a powerful RESTful API.

Managed
19 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for Shotstack — workflow patterns, data models, and gotchas for your AI agent.

Shotstack

Shotstack is a JSON-timeline video API. You build or load a timeline, submit a render (async), poll until done, then read the output URL. Media can be ingested from public URLs, generated with AI, or referenced directly in a timeline.

API families (different hosts, same API key)

  • Edit (/v1 or /stage) — templates, render jobs, media probe.
  • Ingest (/ingest/v1 or /ingest/stage) — fetch remote files into Shotstack storage.
  • Serve (/serve/v1 or /serve/stage) — CDN assets after render or transfer.
  • Create (/create/v1 or /create/stage) — async AI generation (text-to-image, TTS, image-to-video).

Sandbox keys only work when the credential sandbox toggle is on; production keys only on production hosts.

Data model

  • Templates — saved timelines with optional {{merge}} placeholders.
  • Sources — ingested files (queuedingestingready / failed).
  • Renders — async edit jobs (queuedrenderingdone / failed). Output URL on the render when done.
  • Assets — hosted CDN files (video, thumbnail, poster). Asset id ≠ render id. One render can yield multiple assets.
  • Transfers — starting a Serve transfer returns a transfer_id (your client UUID). Poll assets-by-render with render_id=transfer_id; the real CDN asset_id is in assets[0].asset_id. Direct GET by transfer_id alone 404s until you resolve via render lookup.
  • Generated assets — Create API jobs with their own asset id and async status.

Operational order

  1. List or load templates/sources when you need ids; probe unknown media URLs before building timelines.
  2. Ingest or generate media if you need Shotstack-hosted URLs.
  3. Submit a render (timeline JSON, template + merge, or convenience combine/crop tools).
  4. Poll render status until done, then read url.
  5. For thumbnails/posters or CDN metadata, look up assets by render id (or transfer_id for Serve transfers).
  6. Transfers: poll assets-by-render with the transfer_id, then use assets[0].asset_id for get/delete.

Gotchas

  • Async everything: renders, ingest, and Create API jobs all need polling.
  • No render list API: you must keep the render_id from the submit response.
  • No asset list API: use render id or a known asset id.
  • Rate limit: ~30 requests/minute; leave a few seconds between poll calls.
  • Generative clips: text-to-image and similar can be inline timeline assets or pre-generated via Create API.
  • Destinations: render output can target S3, Mux, Vimeo, etc. via the render payload — default is Shotstack CDN.

Tools in this Server (19)

Combine Videos Shotstack

Combine multiple public video URLs into one render job in source order. Use for simple concatenation only — submit a full timeline render for effects,...

Crop Video Shotstack

Crop a public video URL and submit an async render job.

Shotstack Delete Asset

Permanently delete a hosted CDN asset by asset_id. Renders cannot be deleted — only individual asset files.

Shotstack Delete Source

Permanently delete an ingested source file by source_id.

Shotstack Delete Template

Permanently delete a Shotstack template by template_id. Cannot be undone.

Shotstack Generate Asset

Start an async AI asset generation job (text-to-image, text-to-speech, image-to-video, text-generator). Returns asset_id and poll_with — poll generate...

Shotstack Get Asset

Get a hosted Shotstack CDN asset by asset_id (from get_assets_by_render or render output). Also accepts transfer_id or render_id and resolves the host...

Shotstack Get Assets By Render

List CDN assets generated for a render_id. A single render may produce multiple files (video, thumbnail, poster). Use after render status reports done...

Shotstack Get Generated Asset

Poll an AI generation job started via the Create API. Returns status and output URL when ready.

Shotstack Get Render

Get async render status (queued, rendering, done, failed) and the output video URL when complete. When status is done, also returns hosted CDN assets ...

Shotstack Get Sources

List Shotstack ingested sources or fetch one by source_id. Sources move queued → ingesting → ready (or failed). Poll source_id after starting an inges...

Shotstack Get Templates

List Shotstack templates or fetch one template by template_id. List mode returns id, name, and timestamps; single mode returns the full timeline JSON ...

Shotstack Ingest Source

Ingest media from a public URL into Shotstack storage for use in renders. Returns source id — poll source listing or single-source fetch until status ...

Shotstack Inspect Media

Inspect a public media URL via Shotstack probe (ffprobe). Returns duration, format, width, and height — probe before combine or crop convenience rende...

Shotstack Render Template

Render video from a saved template by merging data with placeholders. Templates are pre-configured timelines with {{variable}} placeholders. Returns r...

Shotstack Render Video

Submit a video editing timeline for rendering. Accepts timeline JSON including combining, cropping, effects, transitions, and text overlays. Returns r...

Shotstack Search

Filter templates or ingested sources after listing — not for renders or CDN assets. Query must mention templates or sources (e.g. 'ready sources', 'li...

Shotstack Transfer Asset

Import a file from a public URL onto Shotstack CDN (Serve API). Returns transfer_id — poll assets-by-render until ready, then use assets[0].asset_id w...

Shotstack Upsert Template

Create or update a Shotstack template. Omit id to create; pass id to update. Templates are reusable timelines with {{variable}} merge placeholders.

Frequently Asked Questions

What is the Shotstack MCP server?

Shotstack is a cloud-based video editing API platform that automates video creation and editing at scale. Programmatically render videos, combine clips, crop and trim footage, add effects and transitions, and manage multimedia assets with a powerful RESTful API. It provides 19 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect Shotstack to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/shotstack. Authentication is handled automatically.

How many tools does Shotstack provide?

Shotstack provides 19 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Shotstack require?

Shotstack uses API Key. Shotstack requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Shotstack to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/shotstack

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Shotstack and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Shotstack will appear under Not connected — select it and click Connect to complete OAuth.
Name: Shotstack
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/shotstack
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Shotstack?

Sign in to connect your credentials and start running tools from the chat.

Shotstack MCP Server & Skill