Pricing

One rate for every job. No plans, no minimum and no cap.

USD per GB-second
0.01332
Billed
Monthly, by card. Sooner if unbilled usage reaches USD 50.
Charged for
Processing and probe requests that succeed. An async job is charged when it completes, even if its webhook can’t be delivered.
Never charged
Requests that fail, are rejected or rate-limited, time out or are cancelled. File and directory calls.
Rounding
Each request is metered to nine decimal places. Only the invoice rounds, to the cent.

How a job is measured

(input GB + output GB) × processing seconds = GB-seconds

Processing seconds are counted on a reference machine, so a job costs the same whichever machine runs it. Every response returns the job’s GB-seconds and the amount charged. A GB is 1,073,741,824 bytes.

Worked examples

Worked examples: what five jobs cost
JobInputOutputSecondsGB-secondsUSD
Compress a talk recording1.2 GB0.35 GB4265.1000.8671
Trim a clip without re-encoding0.8 GB0.1 GB2.52.2500.0300
One thumbnail from a long video2 GB0.0005 GB24.0010.0533
A short GIF from a clip0.05 GB0.012 GB80.4960.0066
Extract the audio as MP30.4 GB0.012 GB72.8840.0384

GB-seconds × 0.01332 = USD, shown to four decimals. The seconds are examples; every real job reports its own.

Limits

5 GBper file
300requests a minute, per key
50jobs at once, per account
60 minper job

Limits keep the service stable. They aren’t plans, and there is no cap on usage or spend.

Questions

How is a job priced?

By its GB-seconds: (input GB + output GB) × processing seconds, at USD 0.01332 per GB-second. Every response returns the job’s GB-seconds and the amount charged.

How a job is measured

Are failed jobs charged?

No. Requests that fail, are rejected or rate-limited, time out or are cancelled are not charged, and neither are file and directory calls.

Is there a free tier?

No. There is no free tier, no plan and no minimum: you pay USD 0.01332 per GB-second for the jobs that succeed, and nothing else.

Do you keep my files?

Only while their directory lives: 24 hours by default, 7 days at most, or until you delete them. After that, one billing line per charged request remains, with no file names.

Privacy policy

Can I use my existing FFmpeg options?

Yes. Inputs and outputs take FFmpeg’s own options, and filters work as they do on the command line. A few that would read or write files, or reach the network, outside the task are refused.

Options and filters we refuse

Is there a usage cap?

No. Limits keep the service stable (300 requests a minute per key, 50 jobs at once per account), but there is no cap on usage or spend.

Limits

How do I get results for long jobs?

Use the async endpoint. It answers at once with a job id; read the result with GET /job/{jobId}, or give a webhook_url and receive it when the job ends. A job may run for up to 60 min.

POST /ffmpeg/process/async