Communitygithub.com

openclip-captions

Burn styled, animated captions into a short clip with OpenClip using caption presets (beast, pop, kendrick, mozi, dan, sara, lucy, tayo and more) or a custom caption style and position. Use when asked to

O que é openclip-captions?

openclip-captions is a Claude Code agent skill that burn styled, animated captions into a short clip with OpenClip using caption presets (beast, pop, kendrick, mozi, dan, sara, lucy, tayo and more) or a custom caption style and position. Use when asked to.

Funciona comClaude Code~Codex CLICursor
npx skills add https://github.com/OpenClip-App/agent-skills/tree/main/skills/openclip-captions

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

OpenClip: captions on clips

render_clip burns animated captions into a viral moment produced by the OpenClip clipping pipeline. This is part of the PAID pipeline, it needs an active subscription and credits.

Captions here are rendered into the video, not a sidecar subtitle file. If the user wants an SRT or VTT file instead, that is the free transcribe tool, see openclip-transcription.

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 loop

  1. Have a moment. You need a moment_id from list_clips(job_id). If the user has not run a video through the pipeline yet, start with submit_video, see the openclip-clipping skill.
  2. Pick a preset. Call list_caption_presets to get the current keys. Known keys: default, dan, dan-reveal, pop, mozi, kendrick, sara, lucy, tayo, beast. Always confirm with the call, keys can change. That same call also returns the full caption-style property schema and the caption position options, which is what you need for custom styling rather than a named preset.
  3. Render. render_clip(moment_id, caption_preset).
  4. Poll. Rendering is async. Poll list_clips(job_id) and watch that moment's rendered_clip field. When it appears it holds {url, size_bytes}, the finished captioned video. get_render_status reports on the render directly.

Choosing a preset

Presets are visual styles, not just fonts. When the user names a creator or a vibe, map it:

  • Big, punchy, word-by-word pop with heavy outline - beast.
  • Clean and readable, safe default for a brand account - default.
  • Bouncy and playful - pop.
  • Reveal-style where words appear progressively - dan-reveal.

When the user does not care, use default and show them the other keys so they can swap. When they want something no preset covers, pull the caption-style property schema from list_caption_presets and build a custom style instead of forcing a near-miss preset.

Rules

  • Always confirm preset keys with list_caption_presets before rendering. An unknown caption_preset comes back as a validation message on the tool result.
  • Always poll. render_clip returns immediately, the video is not ready yet.
  • A moment can be re-rendered with a different preset. rendered_clip reflects the latest successful render.
  • clip is the unrendered cut, clip_watermarked is the watermarked version, rendered_clip is the captioned output. Hand the user the right one.
  • Times are milliseconds.

Errors

Tool failures come back as a tool result with isError: true and a plain-text message, not an HTTP status.

  • "Viral moment not found." - the moment_id is wrong or belongs to another account. Re-fetch with list_clips and use an id from that response.
  • "Not authenticated. Reconnect your OpenClip token." - reconnect or re-mint the token.
  • An unknown preset key returns the validation message text. Call list_caption_presets and retry with a real key.

Example prompts to actions

  • "Add captions to that clip" - list_caption_presets, render_clip(moment_id, caption_preset="default"), poll.
  • "Make it look like MrBeast" - render_clip(moment_id, caption_preset="beast"), poll.
  • "What caption styles are there?" - list_caption_presets, show the keys.
  • "Caption all the top 3" - list_clips, take the top 3 by virality_score, render_clip each, poll until every rendered_clip is present.
  • "I want the captions at the top in my brand font" - list_caption_presets for the style schema and position options, then render with a custom style.

Related

Producing the clips to caption is openclip-clipping. Standalone SRT and VTT subtitle files are openclip-transcription. Locking a caption preset into a reusable processing agent is covered in openclip-clipping.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

openclip

Turn long videos into short, captioned viral clips from your agent via the OpenClip MCP server. Also FREE with just an account, no subscription needed - transcribe a video, convert/compress/trim/crop/resize/mute a video, extract thumbnails, edit an image, remove an image background. Plus generate a short UGC-style ad clip from a brief. Triggers include

openclip-clipping

Turn a long video into short vertical clips ranked by a virality score, using OpenClip. Give it a podcast, webinar, interview, stream, or YouTube URL and get back the best moments with hooks, titles, social copy, and downloadable clip URLs. Use when asked to

openclip-convert

Convert and compress media from your agent with OpenClip - video to mp4, webm, mov, mkv, or gif, and audio to mp3, aac, wav, or flac. FREE with just an OpenClip account, no subscription. Use when asked to

openclip-remove-background

Remove the background from an image with OpenClip and get back a transparent PNG. FREE with just an OpenClip account, no subscription. Use when asked to

openclip-repurpose

Turn one long video into a full batch of platform-ready short clips for TikTok, Reels, and YouTube Shorts with OpenClip - find the moments, reframe to vertical, burn in captions, and write the post copy for each. Use when asked to

openclip-thumbnails

Pull still frames out of a video as thumbnail images with OpenClip, then compress, resize, crop, or reformat them to jpg, png, or webp. FREE with just an OpenClip account, no subscription. Use when asked for

openclip-transcription

Transcribe video or audio to JSON, SRT, and VTT with speaker diarization and time codes, using OpenClip. FREE with just an OpenClip account, no subscription. Use when asked to

openclip-ugc-ads

Generate short vertical UGC-style ad clips from a structured creative brief with OpenClip, picking from a roster of AI creators. Use when asked to

openclip-video-editing

Edit a video file from your agent with OpenClip - trim, crop, reframe to 9:16 or 1:1, resize, rotate, flip, compress to a target size, or mute the audio. FREE with just an OpenClip account, no subscription. Use when asked to

Habilidades Relacionadas