About openclip-clipping
openclip-clipping is an Agent Skill for turning long videos into ranked short-form clip candidates with titles, hooks, social copy, and clip links. It guides an asynchronous OpenClip workflow, including status polling and optional caption rendering; processing requires an active subscription and credits.
Key features
- 01Submits video URLs or uploaded files
- 02Polls asynchronous processing jobs
- 03Lists moments ranked by virality score
- 04Returns titles, hooks, and social copy
- 05Optionally renders clips with captions
Use cases
- 01Finding short clips in a long video
- 02Ranking candidate moments for social posts
- 03Rendering selected moments with captions
MCP support
Connects to the remote OpenClip MCP server at `https://openclip.app/mcp`. It uses MCP tools to submit and monitor processing jobs, retrieve clips, and optionally render them.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ openclip-app/ agent-skills --skill openclip-clippingAfter installing, type/openclip-clippingin Claude Code to confirm it loaded.
Details
From the project READMEOpenClip: clipping long video into shorts
The headline OpenClip pipeline: submit a long video, get back ranked "viral moments" with titles, hooks, social copy, and clip URLs. This is the PAID pipeline, it needs an active OpenClip subscription and credits (credits are minutes of processing).
Processing is ASYNC at every step. Always poll, never assume a call finished.
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 tohttps://openclip.app/mcp/keywithAuthorization: Bearer <token>.
Sanity check: call get_account and confirm credits_remaining > 0.
The loop
- Submit.
submit_video(url)returns ajob_idwithstatus: "queued". Calllist_supported_providersfirst if you are unsure a source URL is supported. For a local file:create_upload(filename, content_type), PUT the bytes, thencomplete_upload(which is what starts this paid pipeline). - Poll.
get_video_status(job_id)untilstatusiscompletedor terminal. Do NOT calllist_clipsbeforecompleted. - List.
list_clips(job_id)returns the viral moments. - Render (optional).
render_clip(moment_id, caption_preset)burns in captions. Also async, see theopenclip-captionsskill.
Reading the status correctly
This is the part agents get wrong. submit_video ALWAYS succeeds when you are authenticated.
It queues the job, it does NOT pre-check your subscription or credits. The gate surfaces later,
in get_video_status, as a status value rather than an error:
pending,downloading,processing- in flight, keep polling.completed- terminal, now calllist_clips.failed- terminal. When it happens almost immediately after submit, this usually means no active subscription. Tell the user to subscribe at openclip.app.pending_credits- the team is out of credits. Tell the user to top up.download_failed(on the nestedvideo.status) - the source URL could not be fetched. Ask the user to check the link.
Do not expect a synchronous "you need to subscribe" error. Read the status and advise.
video.progress is COARSE, it is not a smooth percentage. Roughly 0 when failed, single digits
while downloading, ~10 uploaded, ~20 processing, 100 completed. Use status for control flow,
never progress.
What a moment looks like
Each entry from list_clips:
id- hashid, pass this torender_clip.title,hook,quote,social_copy,platforms,category- the copy to post with.start_time_ms,end_time_ms,duration_ms- times are milliseconds.virality_score- 0 to 10. Rank by this unless the user says otherwise.viral_score_details- sub-scores 0 to 100: hook strength, shareability, rewatchability, surprise, emotional impact. Use these to explain WHY a clip ranked where it did.thumbnail_url, and assetsclip{url, size_bytes, type},clip_watermarked, andrendered_clip{url, size_bytes}oncerender_cliphas succeeded.
Clip URLs are permanent CDN links, not signed or expiring.
Reusable presets
To make repeat runs identical (same tracker model, caption preset, composition, logo
watermark), save a processing agent once with create_agent and pass it to submit_video.
describe_agent_settings documents every nested field and allowed value. update_agent
patches only the fields you send. create_agent_logo_upload plus set_agent_logo attach a
watermark (max 2 MB). get_usage reports the credit balance and recent activity.
Errors
These are MCP tools, not a REST API. A failure comes back as a tool result with isError: true
and a plain-text message. No HTTP status codes, no JSON error envelope.
"Not authenticated. Reconnect your OpenClip token."- reconnect the connector, or re-mint the MCP token for the/mcp/keypath."Job not found."- wrong, expired, or another account'sjob_id. Re-submit if it came from an old session."Viral moment not found."- wrongmoment_id. Re-fetch withlist_clips."Video not yet available. Check get_video_status for progress."- you calledlist_clipstoo early. Keep pollingget_video_status.- Validation messages come back as the message text. Fix the argument and retry.
Rules
- Always poll. Never assume a submit is instantly done.
- Rank by
virality_score, higher is better. - Times are milliseconds.
- Projects and folders are not supported by this API. Do not promise them.
list_videosshows videos already in the account.
Example prompts to actions
- "Clip this: " -
submit_video(url), pollget_video_status, thenlist_clips. - "Top 3 moments from job_..." -
list_clips, sort byvirality_score, take 3. - "Why is that one the best?" - read
viral_score_detailsfor that moment. - "Make shorts from my last upload" -
list_videos, pick it, submit, poll, list.
Related
Burning in styled captions is openclip-captions. The full long-form to multi-platform
workflow is openclip-repurpose. Free trimming and cropping with no subscription is
openclip-video-editing.