Video APIv1 Home OpenAPI spec

Docs › Usage and billing

Usage and billing

Each user's usage is metered by month for billing. Call GET /usage?month=YYYY-MM to fetch processing and storage totals:

GET /usage?month=2026-10
{
  "month": "2026-10",
  "complete": true,
  "processing": {
    "videos": 5,
    "outputMinutes": 126.45,
    "billableMinutes": 158.60
  },
  "storage": {
    "gbMonths": 4.237,
    "storedGb": 1.506,
    "note": "download MP4s, posters and originals; streaming (HLS) copies are not billed"
  },
  "delivery": {
    "gb": 12.384,
    "note": "download links and streaming, from access logs (up to a few hours behind)"
  }
}

Billing rules

  • Processing: billable minutes per video = max(60 seconds, ceil(output seconds)) / 60 × quality multiplier. Quality multiplier: ≤1080p ×1, 1440p ×2, 4K ×4. Counted when the video finishes. Each upload, reprocess and edit that completes counts as one.
  • Storage: GB-months = bytes kept × days kept / (1e9 × days in month). Includes download MP4s, posters and original uploads. HLS streaming copies are metered but not billed. Videos deleted in the past still contribute to the month's total up to their deletion date.
  • Delivery: gigabytes sent to viewers in the month: download, poster and thumbnail links plus streaming. Counted from access logs every 15 minutes, so it trails real time by up to a few hours.
  • Captions: each captioned minute adds 2 billable minutes (minimum 1), only when a transcript is made.
  • Pricing: free plans have no overage. Paid plans charge $0.09/minute, $0.15/GB-month and $0.55/GB delivered for anything over the plan's included limits, billed monthly. Plans renew on the 1st; the first month is prorated.
  • Heads-up emails: we email the account (and send a usage.threshold webhook) at 80% and 100% of each monthly allowance.
  • Overage cap: optionally set a monthly limit on overage charges (PUT /account/overage-cap {"monthlyCap": 50}, or in your account page). When reached, new processing pauses until the 1st with 403 OVERAGE_CAP_REACHED; existing videos and links keep working.

Deleting videos

Call DELETE /videos/{id} to remove a video permanently. It cancels any running processing, removes all outputs and work files, and stops billing the video's storage immediately. Usage records stay forever as billing history. The response includes how many bytes were freed.

DELETE /videos/3f1c…
200 OK
{ "videoId": "3f1c…", "deleted": true, "originalDeleted": true, "freedBytes": 1234567890 }

Irreversible: deleted videos can't be reprocessed. If you reprocessed from the same original, it's still kept for other videos that need it.