mcpField
O
openclip-convert

openclip-convert

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

About openclip-convert

openclip-convert is a skill for converting media files through OpenClip, for people handling video and audio formats. It covers container and codec changes, GIF creation, and extracting audio, with asynchronous job polling and permanent output links.

Key features

  1. 01Convert video containers and codecs
  2. 02Create GIFs with adjustable FPS and width
  3. 03Extract audio as MP3, AAC, WAV, or FLAC
  4. 04Poll asynchronous conversion jobs

Use cases

  1. 01Convert a video to MP4 for broad playback
  2. 02Create a GIF from a trimmed video segment
  3. 03Extract MP3 audio from a video
  4. 04Prepare lossless audio for editing

MCP support

It uses the OpenClip remote MCP server at https://openclip.app/mcp. The workflow uploads a file, calls convert_media, and polls get_tool_job_status for results.

Install

Copy the command and run it in a terminal.

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

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

Details

From the project README

OpenClip: media conversion

convert_media changes a file's container or codec, including video to gif and video to audio-only. It is FREE, it needs an OpenClip account but no subscription and no credits.

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.

Getting the file in

  1. create_upload(filename, content_type) returns an id and an upload_url.
  2. PUT the raw bytes to upload_url.
  3. Pass the returned id as the file argument.

Do NOT call complete_upload. That starts the paid clipping pipeline. Free tools read the uploaded file directly. A file already in list_videos works as an input too.

Targets

convert_media(file, to, ...params).

  • Video containers - mp4, webm, mov, mkv. Default to mp4 when the user just wants something that plays everywhere.
  • gif - optional fps (default 12) and width (default 480). Raise fps for smoother motion, raise width for a sharper gif, both make the file much bigger. Trim the source first if it is long, gifs balloon fast.
  • Audio - mp3, aac, wav, flac. Use this to rip audio out of a video. mp3 for sharing, wav or flac when the audio feeds another tool that wants lossless.

To hit a file size rather than change format, that is edit_video with operation="compress" (target_mb or crf), see the openclip-video-editing skill.

Polling

convert_media returns a tool_job hashid with status: "queued". Poll get_tool_job_status(tool_job) every 5 to 10 seconds:

  • queued / processing - still working, keep polling.
  • completed - returns permanent CDN outputs URLs plus result_meta.
  • failed - returns error.

Never assume a call finished synchronously.

Rules

  • Always poll, conversion is async.
  • Output URLs are permanent CDN links, not signed or expiring.
  • Free usage is rate limited per day with a per-file size cap. The error text explains how to lift a limit.
  • Converting a long video to gif produces an enormous file. Trim to the interesting few seconds first, then convert.

Example prompts to actions

  • "Convert this to mp4" - create_upload, PUT bytes, convert_media(file, to="mp4"), poll.
  • "Make a gif of this" - trim to the moment first with edit_video, then convert_media(file, to="gif", fps=15, width=640), poll.
  • "Get me just the audio" - convert_media(file, to="mp3"), poll.
  • "I need lossless audio for editing" - convert_media(file, to="wav"), poll.

Related

Trimming, cropping, and size-targeted compression live in openclip-video-editing. Transcribing the audio you just extracted is openclip-transcription.

Comments

Markdown supported