OpenShorts logoOpenShorts Get free clips
Home MCP server and API

Clip and publish video from an AI agent

TL;DR

OpenShorts has a native MCP server at mcp.openshorts.app/mcp. Connect any MCP client, Claude, ChatGPT, Cursor or a custom agent, and a prompt like "clip this podcast and schedule the best three to TikTok" becomes one instruction instead of an afternoon in an editor.

Six tools cover the whole pipeline: process_video, get_job_status, list_clips, get_quota, add_subtitles and publish_clip. There is also a plain REST API with per-user keys, and completion webhooks so pipelines never poll.

The hosted service includes 20 free minutes a month and paid plans from $12/month; API calls draw from the same minutes as the dashboard. The self-hosted edition, free and MIT-licensed, serves the same MCP endpoint on your own machine.

What can an agent actually do with OpenShorts?

Everything the dashboard does. The MCP server is not a wrapper around a subset of features: each tool calls the same pipeline the web app uses, with the same account, the same minutes and the same job history. An agent can take a YouTube URL, turn it into 3 to 15 vertical clips with word-level captions, restyle those captions, and publish or schedule the result to TikTok, Instagram Reels and YouTube Shorts.

How do I connect Claude or another MCP client?

  1. Sign in at openshorts.app and create an API key in your account page. The key is shown once and starts with osk_.
  2. Add the server to your client. With Claude Code:
claude mcp add --transport http openshorts https://mcp.openshorts.app/mcp \
  --header "Authorization: Bearer osk_..."

Any client that speaks Streamable HTTP works the same way: the endpoint is https://mcp.openshorts.app/mcp and the key travels as a Bearer token. The server describes itself over the protocol, tool schemas included, so there is nothing else to configure.

What tools does the MCP server expose?

ToolWhat it does
process_videoStarts clipping a video from a URL. Returns a job id immediately; processing takes minutes.
get_job_statusProgress, recent log lines, and the clips once the job completes.
list_clipsTitles, durations, platform-ready descriptions and download URLs for a finished job.
get_quotaPlan and remaining minutes, so an agent can check before starting a large job.
add_subtitlesRestyles the burned-in captions of one clip, classic or karaoke word highlighting.
publish_clipPosts or schedules one clip to TikTok, Instagram or YouTube through the connected account.

Can I use a plain REST API instead of MCP?

Yes. The same osk_ key authenticates against the REST API, and interactive documentation lives at api.openshorts.app/docs with the OpenAPI spec at /openapi.json. A processing job is one request:

curl -X POST https://api.openshorts.app/api/process \
  -H "Authorization: Bearer osk_..." -H "Content-Type: application/json" \
  -d '{"url": "https://youtube.com/watch?v=...", "acknowledged": true,
       "webhook_url": "https://your-server.com/hooks/openshorts"}'

How do completion webhooks work?

Pass webhook_url when starting a job and OpenShorts sends exactly one POST when the job finishes or fails, with clip titles and download links in the body. Add a webhook_secret and the body is signed with HMAC-SHA256 in the X-OpenShorts-Signature header so your receiver can verify the sender. This is what lets an n8n, Zapier or cron pipeline run without a polling loop.

Does this work on the self-hosted edition?

Yes. The self-hosted edition serves the same /mcp endpoint on your own machine, with no API key required because there is no account system: it follows the same bring-your-own-key rules as the rest of the self-hosted app. Point your MCP client at http://localhost:8000/mcp and the same six tools appear.

What does it cost?

OpenShorts comes in two editions and they are priced very differently, so it is worth being precise. OpenShorts (self-hosted) is free and open source under the MIT licence: Free and open source under MIT. You run it with Docker on your own machine and bring your own API keys. No watermark, no usage cap, no subscription. What it costs you is hardware and time: on a typical CPU an 8-minute video takes 5 to 8 minutes to process. OpenShorts Cloud is the hosted service: The same software with the compute and API keys covered. An NVIDIA GPU clips that same 8-minute video in about 50 seconds. Free plan is 20 minutes a month with a watermark and no credit card. Paid plans start at $12/month for 100 minutes with no watermark, up to $59/month.

API and MCP calls are not billed separately: they draw from the same minute balance as the dashboard, so automation does not change the price of anything.

Common questions

Does OpenShorts have an MCP server?
Yes, a native one at mcp.openshorts.app/mcp using the Streamable HTTP transport. It exposes six tools covering the full pipeline: process_video, get_job_status, list_clips, get_quota, add_subtitles and publish_clip. Authentication is an API key created in the dashboard, sent as a Bearer token.
Can Claude or ChatGPT create video clips with OpenShorts?
Yes. Any MCP-capable client, including Claude and ChatGPT, can connect to mcp.openshorts.app/mcp with an API key and drive the whole flow: submit a video URL, wait for processing, list the generated clips and publish them to TikTok, Instagram or YouTube.
Is there an API for OpenShorts?
Yes, a REST API documented at api.openshorts.app/docs, authenticated with per-user osk_ keys created in the dashboard. It covers processing, status, subtitles, publishing and completion webhooks.
Do API calls cost extra?
No. API and MCP usage draws from the same minute balance as the dashboard: 20 free minutes a month on the hosted free tier, and paid plans from $12/month. The self-hosted edition is free under MIT and serves the same endpoints with no metering.

Sources

Related comparisons