MCP Server
Use FFmpeg API directly from Claude, ChatGPT, Cursor, VS Code and any other MCP client. The server exposes the full processing surface — sync and async FFmpeg, FFprobe, natural-language processing, file management — as tools your AI assistant can call.
https://mcp.ffmpeg-api.com/mcpAuthentication — two options:
- OAuth (recommended): connect the URL and sign in with your ffmpeg-api.com Google account when prompted. New users get a free account automatically.
- API key: send your dashboard API key as a header:
Authorization: Bearer <api-key>.
Usage is billed to your plan exactly like REST calls — same rate limits, quotas and file-size limits.
Claude
claude.ai / Claude Desktop: Settings → Connectors → Add custom connector → paste https://mcp.ffmpeg-api.com/mcp → sign in when prompted.
Claude Code:
claude mcp add --transport http ffmpeg-api https://mcp.ffmpeg-api.com/mcpThen run /mcp to sign in via OAuth — or skip OAuth by adding your key directly:
claude mcp add --transport http ffmpeg-api https://mcp.ffmpeg-api.com/mcp --header "Authorization: Bearer YOUR_API_KEY"ChatGPT
Enable Developer mode (Settings → Apps & Connectors → Advanced), then Create connector with the server URL. All tools declare the read-only/destructive annotations ChatGPT requires.
Cursor
Add to Cursor — or add manually to .cursor/mcp.json:
{
"mcpServers": {
"ffmpeg-api": { "url": "https://mcp.ffmpeg-api.com/mcp" }
}
}VS Code (GitHub Copilot)
code --add-mcp '{"name":"ffmpeg-api","type":"http","url":"https://mcp.ffmpeg-api.com/mcp"}'Network access
Some MCP clients run tools inside a network sandbox, and corporate networks often sit behind a proxy or firewall. If connecting fails, or uploads and downloads fail while tools otherwise work, allow these hosts:
| Host | Needed for |
|---|---|
mcp.ffmpeg-api.com | The MCP endpoint itself |
*.r2.cloudflarestorage.com | Presigned upload and download URLs — media never transits the MCP endpoint |
files.ffmpeg-api.com | Public sample files (optional) |
The two symptoms look different: if mcp.ffmpeg-api.com is blocked the connector fails to connect at all, whereas if only R2 is blocked the tools respond normally but curl to an upload URL hangs or is refused and downloads never complete.
Signing in with OAuth happens in your browser rather than in the client, so a restricted browser or proxy may also need accounts.google.com, *.googleapis.com, apiffmpeg.firebaseapp.com and www.gstatic.com. Using an API key instead of OAuth avoids this entirely.
Available tools
| Tool | What it does |
|---|---|
ffmpeg_process | Run an FFmpeg task synchronously (≤ ~2 min of processing) |
ffmpeg_process_async | Queue a background job for heavier work |
get_job / list_jobs / cancel_job | Track and manage async jobs |
ffprobe_analyze | Inspect codecs, streams, duration, dimensions |
ai_ffmpeg_process | Describe the operation in plain English |
ai_ffprobe_analyze | Ask questions about a media file |
upload_file / get_download_url | Move media in and out via presigned URLs |
create_directory / list_files / delete_file | Manage working files |
Inputs accept direct HTTPS URLs — your assistant can process any public media file without uploading first. The server also ships prompt recipes (compress video, extract audio, make GIF, …) and reference resources clients can read.
Try it
Ask your assistant:
Probe https://samples.ffmpeg-api.com/BigBuckBunny_640x360.m4v and make a 3-second GIF from the first scene.