Billing · How a job is measured

# How a job is measured

One number decides what a request costs: its GB-seconds. It is the size of the files a job reads and writes, multiplied by the seconds the job takes. The rate is USD 0.01332 per GB-second.

## The formula

```
gb_sec     = (input_size_gb + output_size_gb) × time_sec
amount_usd = gb_sec × 0.01332
```

The terms of the formula

- `input_size_gb`: The total size of the task’s inputs. A GB is 1,073,741,824 bytes.
- `output_size_gb`: The total size of the files the task wrote. For a probe, the size of the JSON it returned.
- `time_sec`: Processing seconds: the time FFmpeg or ffprobe itself ran, counted on a reference machine, so a job costs the same whichever machine runs it. Downloading the inputs and uploading the outputs is not counted.
- `gb_sec`: The product, kept to nine decimal places. It is not rounded further.
- `amount_usd`: gb_sec at your rate, kept to nine decimal places.

If a different rate has been agreed for your account, amount_usd uses that rate.

## An example

A job reads a 1.25 GB recording, writes a 0.375 GB file, and takes 40 processing seconds. Its response carries these figures:

```json
{
  "usage": {
    "time_sec": 40,
    "input_size_gb": 1.25,
    "output_size_gb": 0.375,
    "gb_sec": 65
  },
  "amount_usd": 0.8658
}
```

(1.25 + 0.375) × 40 = 65 GB-seconds. 65 × 0.01332 = USD 0.8658.

## What is charged

What is and is not charged

- **Charged**: A processing or probe request that succeeds. An async job is charged when it completes, even if its webhook can’t be delivered.
- **Never charged**: A request that fails, is rejected or rate-limited, times out or is cancelled. File, directory, job and usage calls.

## Rounding and invoices

- Each request is metered to nine decimal places. Nothing is rounded up to a minimum.
- Only the invoice rounds, to the cent.
- You are billed once a month by card, and sooner whenever unbilled usage reaches USD 50. A request belongs to the month in which it completed, in UTC.

## Where to see it

- On every charged response: the `usage` block and `amount_usd`.
- In the console: usage by day, month and key.
- By API: [GET /account/usage](https://media.logicboostkit.com/docs/get-account-usage) returns one row per charged request, as CSV or JSON.
