Plans and limits

Plans and limits

Quota is counted in jobs per calendar month, not in minutes of video. One API call that creates a job costs one job, whatever the source length and however many renditions the preset produces.

Plans

FreeProBusinessEnterprise
Price$0$9.99 per month$29.99 per monthBy agreement
Jobs per month101001,000By agreement
Longest source10 minutes60 minutes180 minutes480 minutes
Presets7131923
Download link valid for4 hours7 days7 days7 days
WebhooksYesYesYesYes

Free needs no card. Paid plans are billed through Paddle and can be cancelled at any time; access continues to the end of the period you have paid for.

Enterprise is not a self-service plan. Contact us to arrange one.

What each limit means

Jobs per month. The slot is claimed when the job is created, before any work happens. That is what stops two simultaneous requests from both slipping past the limit. The counter resets at the start of the calendar month.

A slot is returned only when the job could not be queued at all. It is not returned when a job fails during processing or when you cancel it. A job that fails because the source was unreachable still costs you a job.

Exhausting the quota returns 429:

{
  "error": "Usage limit exceeded",
  "message": "Monthly limit of 10 jobs reached",
  "usage": { "current": 10, "limit": 10, "plan": "Free" }
}

Longest source. Measured by the worker after it downloads the file, not at creation time. A source over the limit fails with DURATION_EXCEEDED, is not retried, and consumes a job. Check duration on your side before submitting if your users upload arbitrary files.

Presets. Plans are cumulative: Pro includes everything Free has, Business includes everything Pro has. Requesting a preset above your plan returns 403 naming both the presets you can use and the plan you would need. The preset catalogue marks the plan for each one.

Download link lifetime. Links are signed fresh every time you read a job, so an expired link is never a problem: read the job again. Seven days is a hard ceiling in the storage signer, so no link lasts longer on any plan.

Storage retention is not currently enforced. Deletion by plan is planned but not switched on, so output is not being removed on a schedule today. Build against the link lifetime, not against an assumption that the file will still be there next month, and copy anything you need to keep to your own storage. See Downloading output.

Timeline editing limits

EDL jobs have their own limits, checked at validation time.

FreeProBusinessEnterprise
Clips5201001,000
Distinct source files520100500
Timeline duration10 minutes30 minutes120 minutes600 minutes
Tracks252050

An EDL job counts as one job regardless of how many clips it has. Validating a timeline with PUT /api/v1/edl costs nothing and does not touch your quota, so validate before creating whenever a user built the timeline.

Limits that do not exist

Some things you might expect to be limited are not.

  • No request rate limit. There is no per-second or per-minute throttle. The only limit is the monthly job quota.
  • No per-account concurrency limit. Jobs queue rather than being rejected. The service processes two jobs at a time across all accounts, so a large batch will wait.
  • No overage billing. Exceeding the quota refuses new jobs; it never produces a surprise charge.
  • No storage quota. There is no size allowance on stored output.

Changing plan

Upgrades take effect immediately, including access to the presets the new plan unlocks. Your monthly counter is not reset by an upgrade; the limit it is compared against changes.

Cancelling keeps you on the paid plan until the end of the period you have paid for, after which the account returns to Free. Jobs already created are not affected, but the lifetime of a download link follows your plan at the time you ask for the link, so links signed after a downgrade last 4 hours.

Checking your usage

The job creation response tells you where you stand, so you rarely need a separate call.

{
  "user": {
    "remainingJobs": 97,
    "plan": "Indie/Pro"
  }
}

Plan display names differ from the identifiers used elsewhere in the API. Free is displayed as Starter and Pro as Indie/Pro, while yourPlan in a 403 body and userPlan in the presets response use free, pro, business and enterprise.