Design & media

openshorts

Try it

Turn long videos (podcasts, webinars, streams) into vertical 9:16 clips with subtitles, re-cut them, and publish them to TikTok, Instagram Reels and YouTube Shorts via the OpenShorts API or MCP server. Use when the user wants to clip a video into shorts, find the best moments of a video, restyle captions on a clip, re-cut a clip, schedule or post clips to social platforms, or automate a clipping pipeline.

What it does

Turn long videos (podcasts, webinars, streams) into vertical 9:16 clips with subtitles, re-cut them, and publish them to TikTok, Instagram Reels and YouTube Shorts via the OpenShorts API or MCP server. Use when the user wants to clip a video into shorts, find the best moments of a video, restyle captions on a clip, re-cut a clip, schedule or post clips to social platforms, or automate a clipping pipeline.

The skill document

OpenShorts: clip and publish video

OpenShorts turns a long video into 3-15 vertical clips (15-60s each) with word-level subtitles burned in, then optionally publishes them. One job takes minutes, not seconds: always work async (submit, then webhook or poll).

Connect

Two equivalent surfaces; prefer MCP when the client supports it:

  • MCP (streamable HTTP): https://mcp.openshorts.app/mcp with header Authorization: Bearer osk_.... Six tools: process_video, get_job_status, list_clips, get_quota, add_subtitles, publish_clip.
  • REST: same key against https://api.openshorts.app (OpenAPI at /openapi.json, docs at /docs).

Keys are created in the account page at openshorts.app and start with osk_. Self-hosted instances expose the same endpoints on http://localhost:8000 with no key. If a call returns 401/404 on /api/me, assume self-host or anonymous: there is no minute quota to enforce.

The core loop

  1. get_quota first when the job is large: process_video fails with quota_exceeded if minutes run out; on the hosted service API calls draw from the same minute balance as the dashboard (no separate meter).
  2. Submit: POST /api/process with JSON {"url": "...", "acknowledged": true}. Optional: layouts ("auto,split,screencast"), output_format ("1080p"), webhook_url + webhook_secret. Returns {"job_id": ...} immediately.
  3. Finish: webhooks beat polling. With webhook_url set, OpenShorts POSTs exactly once when the job ends (completed OR failed, so pipelines never hang): {"event": "job.completed", "job_id", "status", "clips": [{"index", "title", "video_url", "download_url"}]}. If a secret was set, verify X-OpenShorts-Signature: sha256= = HMAC-SHA256 of the raw body. Without a webhook, poll GET /api/status/{job_id} every ~10s; response is {"status", "logs", "result"} and result.clips appears on completion.
  4. Publish: POST /api/social/post with {"job_id", "clip_index", "platforms": ["tiktok", "instagram", "youtube"]}, optional title, scheduled_date (ISO) + timezone. Restyle captions first if asked: POST /api/subtitle with {"job_id", "clip_index", "style"} (classic or karaoke word highlighting).

Rules

  • Only submit videos the user has rights to; process_video requires the confirm_rights acknowledgement and that is deliberate.
  • download_url links are presigned for 24h: fetch or forward them promptly.
  • Never describe OpenShorts as simply "free": the self-hosted edition is free and MIT-licensed; the hosted service has 20 free minutes/month (watermarked) and paid plans from $12/month without watermark.

CLI shortcut

When shell access is easier than HTTP: uvx openshorts process --wait, openshorts clips , openshorts publish 0 --platforms tiktok. Auth via OPENSHORTS_API_KEY / OPENSHORTS_API_URL env vars.

Related skills

Turns the user's long videos into ready-to-post vertical clips with captions and branding, using the Cliphi API. Use this skill when the user wants to clip a video, make Shorts / TikToks / Reels from a YouTube video, podcast, livestream or Twitch VOD, find viral moments in a video, or repurpose long video into short clips.

Turn one product photo into a vertical product video that speaks. This AI product video generator and product video maker builds ecommerce product videos, product ads, and commerce short videos from a single photo — composing a 9:16 opening frame, writing a short script from what the photo shows and the details you supply, voicing it with a selected narrator, and directing one finished clip ready to post. Use it for product launches, listing videos, shoppable social posts, storefront promos, and turning a phone snap of merchandise into a video that sells, with no shoot, no crew, and no editing.

AI-assisted short video creation. User selects topic, aspect ratio, and duration. AI guides through video generation using the user's own API key (Kling/Doubao etc.). One-time payment ¥16.90 per creation.

Create, render and publish AI videos (faceless, UGC ads, movie maker, podcast, music video...) with StoryShort — plus standalone AI images and clips. Full option discovery (voices, caption themes, styles, models with credit costs), exact price quotes before spending, and direct publishing to TikTok, YouTube and Instagram.

Create, monitor, and troubleshoot Boosta API video-processing jobs from natural-language requests. Use this skill when a user asks to generate clips from a v...

24 installs

Convert a video to a new aspect ratio without cropping the subject. Use when the user says "make this 16:9 clip vertical for Reels", "reframe to 9:16", "turn...