# Investigation — The $5 video bill a pricing API said was $1.86

A flowingkhaos fix · monitoring · updated 17 Oct 2026
Source: https://flowingkhaos.com/fixes/fal-pricing-api-under-priced-omni-drafts/investigation

**No ledger to read.** A balance that drops faster than the console says looks like double billing. We asked fal's usage API for the day's line items. It answered `authorization_error`: our key cannot read it. So there was no ledger to compare against, only the balance before and after, and every draft had gone through our own door, never a direct fal call.

**The right turn: read the model page.** On 6 October we rebuilt the day's per-turn log from the door's own records. Ten drafts after the top-up, $1.86 estimated, 720p every one. The model page lists three prices, one per resolution. The pricing API answers with the first.

| What | Value | Where from |
| --- | --- | --- |
| Drafts after the top-up | 10 | per-turn log, rebuilt 2026-10-06 |
| Estimated | $1.86 | same log, at $0.03/s |
| Real | about $5.20 | 42 s of fresh drafts plus 2 edits of about 10 s, at 720p; matches the balance drop of about $6 |
| Ratio | 2.8 on the totals | the per-second rates differ by 3.3: $0.10 / $0.03 |

The number is measured from our own log and corroborated by the model page. It is not confirmed by fal's ledger, because we could not read it. That is a weaker grade than we would like, and the fix is written so a future gap shows the same day.

**8 October: the gap came back another way.** A Claude session wrote a short script that called fal directly with our key: eight image edits, $0.32. No door saw it, so no estimate was logged and the status line stayed blank. The console's usage dashboard was blind too. It reads cost from our tracing store, and no fal call sends a cost there: image generation logged $0, and video drafts, image tools and slide images logged nothing. That week the dashboard showed about $0.07 against a fal bill of $1.45.

This time we could read the ledger. fal's usage API needs a key with admin scope, not the inference key we had tried in September. With one, it returns what fal charged per model and per key.
