mcpField
O
openclip-repurpose

openclip-repurpose

github.com/openclip-appCreative & media145 installsUpdated 12w ago
Repository

About openclip-repurpose

openclip-repurpose is a workflow skill for turning long videos into batches of short-form clips. It is for creators preparing content for specific platforms, combining OpenClip clipping, captions, and media editing with a review step before rendering.

Key features

  1. 01Extract candidate clips from long videos
  2. 02Rank and review clips by virality score
  3. 03Add captions to selected clips
  4. 04Crop clips to platform aspect ratios
  5. 05Deliver clip links and social copy
  6. 06Save repeat-processing settings

Use cases

  1. 01Turn a podcast into TikTok clips
  2. 02Plan a week of posts from a webinar
  3. 03Caption selected clips and prepare social copy

MCP support

The skill uses the OpenClip remote MCP server for video submission, status checks, clip discovery, rendering, and editing tools.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/openclip-app/agent-skills --skill openclip-repurpose

After installing, type/openclip-repurposein Claude Code to confirm it loaded.

Details

From the project README

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 /mcp to 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/connect and 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.

  1. Submit the source. submit_video(url). Returns a job_id, status queued. For a local file: create_upload, PUT the bytes, then complete_upload.
  2. Poll to completion. get_video_status(job_id) until completed. A near-instant failed means no active subscription. pending_credits means out of credits. Say so plainly and stop, do not keep polling a terminal state.
  3. Pull the moments. list_clips(job_id). Sort by virality_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.
  4. Caption each pick. list_caption_presets, then render_clip(moment_id, caption_preset) for each approved moment. Poll list_clips until every moment has a rendered_clip.
  5. 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.
  6. Hand over the batch. For each clip give: the rendered_clip URL, 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_status on a loop rather than re-submitting.
  • Render only the approved moments. Every render_clip is 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_usage shows 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 with viral_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_copy into 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.

Comments

Markdown supported