Run FFmpeg in the cloud

The FFmpeg API for developers and AI agents. Run any FFmpeg command in the cloud, or use a named shortcut like transcode or subtitles. You don't install anything or run a server.

curl -X POST https://api.mediaorca.com/v1/jobs \  -H "Authorization: Bearer sk_live_..." \  -d '{    "operation": "transcode",    "input":  "uploads/interview.mp4",    "output": "public/vertical.mp4",    "args": ["-vf", "crop=ih*9/16:ih,scale=1080:1920"]  }'

What you can build

The media layer under your product

Captions, transcodes, thumbnails, clips, streaming ladders. Every one of them used to mean running your own encoders. Now you ask for the file you want instead.

Add subtitles & captions

Burn captions into the picture or ship them as a sidecar track, so every clip is accessible.

Transcode uploads for the web

Turn whatever users upload into clean, streamable MP4 at the sizes you actually serve.

Generate thumbnails & previews

Pull a poster frame or a scrubbable sprite sheet for any video library, feed, or player.

Convert audio & video formats

Move between MP4, MOV, WebM, MP3, and WAV without thinking about codecs.

Make clips, highlights & GIFs

Trim to a range, stitch moments together, or turn a few seconds into a GIF.

Package video for streaming

Build the HLS ladders and manifests so long videos play smoothly anywhere.

SFX Engine

SFX Engine uses MediaOrca to power every sound effect it ships. Each AI-generated master gets trimmed, level-matched, and converted into the formats producers actually work in.

Tens of thousands of jobs later, there's still nothing on their side to scale or keep online.

sfxengine.com

For agents, and the developers pointing them

Give your agent FFmpeg.
Don't give it a server.

The MCP server hands over every operation as a typed tool, so Claude or Cursor can work with media on its own. Same operations over REST when you'd rather call it yourself.

API & MCP server

One API, two ways in. Write a normal HTTP request, or point Claude, ChatGPT, or your own agent at the MCP server and let it call the operations as typed tools.

Any FFmpeg command

Send the whole command yourself, every flag and filter you need. Or reach for a named shortcut like transcode or subtitles when you just want the common thing.

Zero egress fees

Your files live in storage that doesn't charge you to read them. The egress fee that quietly doubles most media bills isn't part of the deal.

Whole workflows in one call

Chain the steps you need into a single request. Transcode, then thumbnail that result, then package it for streaming, with nothing downloaded and re-uploaded in between.

Webhooks

We post to your endpoint the moment a job finishes, with the signed URL attached. There's no polling loop for you to write or babysit.

Integrations

Wire renders into n8n, Zapier, or Make, or call it straight from your own backend. You send a file and get one back, with no glue code to maintain.

Pricing

You pay for run time and storage

Your monthly price comes back as credit. After that you pay for the seconds your jobs run and the files you keep. Downloading them is free.

Recommended

Pro

For products and agents doing real work.

$20/mo

Includes $20 of usage

Get started
Compute
$0.003 / vCPU-min
Storage
$0.05 / GB-month
  • 5 jobs running at once
  • 1080p inputs up to 60 minutes
  • Outputs kept for 30 days
  • REST API and MCP server
  • Email and community support

Scale

For steady volume, at lower rates.

$99/mo

Includes $99 of usage

Get started
Compute
$0.0025 / vCPU-min
Storage
$0.04 / GB-month
  • 25 jobs running at once
  • 1080p inputs up to 120 minutes
  • Outputs kept for 90 days
  • Priority queue
  • Priority support

Enterprise

For large volume and custom terms.

Custom

Committed usage, invoiced yearly

Talk to us
Compute
Volume rate
Storage
Volume rate
  • Concurrency sized to your load
  • Custom limits, 4K on request
  • Retention you choose
  • SSO, SAML, and an uptime SLA
  • Dedicated support and invoicing

Questions

A few things people ask

MediaOrca runs FFmpeg in the cloud so you don't have to. You send a job, either your own FFmpeg command or a named shortcut like transcode, over a normal API, and we run it on managed infrastructure and hand back the finished file. There are no encoders to host and no queue to babysit.

Start with
one call

Nothing to deploy and no queue to babysit. Post a file, get one back.