見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。
OpenClip: repurposing long-form into a content batch
This is the end-to-end workflow skill. One long video in, a set of ready-to-post vertical clips out, each with captions and copy. It stitches together the OpenClip clipping pipeline, captions, and the free media tools.
The clipping pipeline is PAID (needs an active subscription and credits). The reframing and trimming tools are free.
Setup (once)
OpenClip is a remote MCP server at https://openclip.app/mcp. Sign in with your OpenClip account when the OAuth prompt appears, there is no API key to copy.
- Claude Code:
claude mcp add --transport http openclip https://openclip.app/mcp, then/mcpto authorize. - Claude Desktop / web: Settings, Connectors, "Add custom connector", paste the URL, sign in.
- Cursor (
.cursor/mcp.json):{ "mcpServers": { "openclip": { "url": "https://openclip.app/mcp" } } } - Header-only clients: mint an MCP token at
openclip.app/settings/connectand connect to
https://openclip.app/mcp/key with Authorization: Bearer <token>.
Sanity check: call get_account and confirm credits_remaining > 0.
The workflow
Before you start, agree two things with the user: how many clips they want, and which platforms. Those two answers drive every decision below. Do not silently pick for them.
- Submit the source.
submit_video(url). Returns ajob_id, statusqueued.
For a local file: create_upload, PUT the bytes, then complete_upload.
- Poll to completion.
get_video_status(job_id)untilcompleted. A near-instantfailed
means no active subscription. pending_credits means out of credits. Say so plainly and stop, do not keep polling a terminal state.
- Pull the moments.
list_clips(job_id). Sort byvirality_score(0 to 10) and take the
number the user asked for. Show them the shortlist with title, hook, duration, and score BEFORE rendering anything, so they can veto. Rendering costs credits.
- Caption each pick.
list_caption_presets, thenrender_clip(moment_id, caption_preset)
for each approved moment. Poll list_clips until every moment has a rendered_clip.
- Reframe if needed. The pipeline output is already short-form oriented. If the user needs a
different aspect for a specific platform, run the free edit_video(video, operation="crop", aspect="9:16" | "1:1" | "4:5") on the rendered clip.
- Hand over the batch. For each clip give: the
rendered_clipURL,title,hook,
social_copy, duration_ms, virality_score, and the suggested platforms field.
Platform shapes
- TikTok, Reels, Shorts - 9:16 vertical. This is the default, the pipeline targets it.
- Instagram feed - 4:5 or 1:1. Crop the rendered clip with
edit_video. - X and LinkedIn - 16:9 or 1:1 both work. Captions matter more than aspect, most of these
autoplay muted.
Each moment carries a platforms field from the pipeline. Use it as a starting suggestion, not a rule, and reconcile it with what the user actually posts to.
Sequencing and cost
- Batch the polling. Submit once, then poll
get_video_statuson a loop rather than
re-submitting.
- Render only the approved moments. Every
render_clipis work, do not render all ten when the
user wanted three.
- For a recurring workflow (same captions, same composition, same logo watermark every time),
save a processing agent with create_agent and pass it to submit_video. That makes every future batch identical without re-specifying. describe_agent_settings lists every field.
get_usageshows the credit balance (credits are minutes of processing) before you start a
big batch. Check it when the user asks for a large number of clips.
Rules
- Always poll, every step is async.
- Rank by
virality_score, higher is better. Explain rankings withviral_score_details
(hook strength, shareability, rewatchability, surprise, emotional impact).
- Times are milliseconds.
- Clip URLs are permanent CDN links, not signed or expiring.
- Projects and folders are not supported. Do not promise the user a folder structure.
- Do not rewrite
social_copyinto influencer voice unless asked. It is generated to match the
clip, and heavy-handed rewriting usually makes it worse.
Example prompts to actions
- "Turn this podcast into 10 TikToks" - submit, poll,
list_clips, show top 10 shortlist,
get approval, render each with captions, poll, hand over the batch.
- "Give me a week of content from this webinar" - same, sized to 5 to 7 clips, grouped by theme
using each moment's category.
- "Just the best one, captioned like MrBeast" - submit, poll, take the top
virality_score, render_clip(moment_id, caption_preset="beast"), poll.
- "Same look as last time" - reuse the saved agent id on
submit_video.
Related
The pipeline mechanics and status handling in detail are in openclip-clipping. Caption presets and custom caption styling are in openclip-captions. Free cropping, trimming, and compression are in openclip-video-editing.

