billing 14 Aug 2026 · 2 min read

Pay for What Was Delivered

Someone asked our birthday-video workflow for a card for a seven-year-old. The picture step tripped the provider's content rules over the age; the lyrics and the song were made anyway. The run half worked, and the bill w…

ToRun Team ToRun Team

Someone asked our birthday-video workflow for a card for a seven-year-old. The picture step tripped the provider's content rules over the age; the lyrics and the song were made anyway. The run half worked, and the bill was whole.

That is the sort of report you fix twice: once for the person who wrote in, and once so the whole class of problem cannot come back.

The step is the unit

A run is now settled step by step. Every charge belonging to a step that ended failed or cancelled is returned automatically. A step that succeeded keeps its charge, including the attempts it needed along the way. You pay for delivered work, not for the number of tries it took.

Getting there needed an unglamorous piece of plumbing first. Until this week no query could answer the question "what did this step spend" — picture, speech and text steps are billed by pipelines with their own job identifiers, so the charge did not name the run it belonged to. The identifier is now carried forward from whatever writes the charge, which is the only reason a refund is possible at all.

A refund that moves the balance

Refunds used to write a line in your billing history and show a message on screen, and leave your balance exactly where it was. Now the money goes back to the pool it came from: plan allowance restores allowance, wallet money restores the wallet, and one is never quietly turned into the other. A run whose execution was interrupted — a restart, a deploy — is settled the same way instead of leaving a charge nobody could reach.

Better still, ask first

The cheapest refund is the one that never has to happen. A workflow that needs more than you have left now asks before it starts, rather than stopping at step four with the money already spent. A refusal states what the action costs and how much remains, instead of only saying no. And when something would take a large share of what is left, the studios name a cheaper model that can do the same job.