Skip to main content
Your organization holds a prepaid credit balance in cents. Processing is metered at a per-hour rate (see GET /v1/balance → rate_cents_per_hour), billed per second of video actually processed and rounded up to the cent.

How a job is charged

You never tell Hooper how long a video is. Hooper measures it, and you’re charged for that measured length.
1

Hold at submit

POST /v1/sessions places a hold: an estimate of the cost, from the file size for uploads and 2 hours for URL and Veo sources, and never more than your available balance. The response headers tell you what was held and what remains:
You get 402 only when your available balance can’t cover any of the video:
If you own credit but all of it is reserved for videos in progress, the message says so and the body adds held_cents; it frees up as those videos are measured and processed.
2

Measured before processing

Once Hooper has downloaded the video, and before any processing, the hold becomes the real cost of its measured length. If your credit can’t cover it, the session fails with error.code = "insufficient_credits" and nothing is charged; an uploaded file is kept, so you can add credit and resubmit the same upload_id.
3

Settle on success

When the job finishes, the hold is settled for the measured length, and credits are drawn from the oldest-expiring balance first. cost_cents on the session is the final figure.
4

Void on failure

If processing fails for any reason — including a video over the size/resolution limit or a job that never reports back — the hold is voided and nothing is charged.

Free trial

Every account starts with **$10.00 of credit**: about 1 h 23 min of video at the standard $7.20/hr ($0.002 per second). A longer video fails before processing with insufficient_credits, and nothing is charged. Credit is drawn oldest-expiring first, so the trial is used before anything you buy later. When it runs out, add credit (see Topping up).

Pricing codes

If Hooper gave you a pricing code, enter it from Usage in the Hub (or in the Buy credits dialog) to move your organization to that code’s rate. A code only ever lowers your rate, each code works once per organization, and videos already in progress keep the rate they started at. rate_cents_per_hour on GET /v1/balance shows the rate you’re on.

Balance

  • available_cents = credit_cents − held_cents. This is what a new submit is checked against.
  • held_cents is credit reserved for videos in progress. It returns to available_cents as each video is measured and settled.
  • Credits expire one year after purchase; soonest_expiry is the next date the balance shrinks on its own.

Usage

GET /v1/usage lists one usage event per billable job:
status is held, settled or voided. Filter by status, api_key, and created[gte] / created[lte].

Topping up

  • Buy credits by card from Usage in the Hub ($5 to $10,000).
  • Invoiced customers keep getting credit added by Hooper.
  • Organizations with a saved card can enable auto-recharge. Hooper charges a fixed amount off-session when a settle drops the balance below your threshold (at most once an hour), and before it would refuse a submit or fail a video for lack of credit, as long as the amount covers it. Contact Hooper to set it up.