In development

bAIbel TMS is in development. It is not on sale, and nothing here is an offer.

bAIbelTMS
/tms/spend

What it costs to run

Machine translation is metered work bought from somebody else, and most systems tell you what it cost after it happened. This one settles what a run may cost before it starts — and when it cannot work out what a run will cost, it refuses to start it.

What follows is exactly what the budget can and cannot promise. The limits are stated because a bound you have to discover is not a bound.

A budget that cannot price the work refuses the work.

If an enforcing budget applies and any AI model in the plan has no rate in force, the run does not start. Not a warning, not an estimate marked approximate — a refusal, naming what could not be priced.

A budget cannot bound spend it cannot compute. Admitting the run anyway would be claiming a limit with no way to calculate it.

See it in the applicationHide the screenshot
A BUDGET SITS WHERE YOUR MONEY SITS The whole deployment One provider’s pool One client One project By calendar month. Where several apply, the most restrictive decides. AND IT DECIDES BEFORE THE RUN STARTS Can this run be priced at all? every AI model in the plan needs a rate in force Estimate it, then pad the estimate by this workflow’s own measured error at this size Compare that with what is left of the budget that applies, for this month Refused, before anything is spent A budget cannot bound spend it cannot compute — admitting the run anyway would be claiming a limit that is not there. THREE ANSWERS TO “THERE IS NOT ENOUGH” Refuse it does not run Park resumed when there is room Hold for a decision, with the shortfall stated Three different situations, so three different answers. Two runs admitted in the same instant cannot both spend the last of it. An admitted run reserves what it is expected to need, and the next run compares itself against what is left after that. Nothing is held forever: a reservation expires, and a run that parks gives its headroom back. Admission bounds expected spend. Actual spend is bounded by the ceiling plus whatever was already in flight when it was reached.
The budget gate — what is settled before a run starts, and the bound it cannot give you

The safety margin is measured, not guessed.

An estimate that errs low is the expensive direction, so enforcement does not reason with the raw figure. It multiplies by how wrong this workflow's estimates have actually been — the 90th percentile of its own history, at documents of this size, from the record kept on every completed run.

The margin is not somebody's cautious guess. It is that workflow's measured error.

A quote is not a limit, and they use different numbers.

When you ask what a run will cost, you are told the estimate. When a budget decides whether to admit it, it uses the padded figure. An under-estimate is harmless in a quote and expensive in a bound, so the two are deliberately not the same number.

The refusal shows its arithmetic.

Which budget. What is left. What this run needs. What was added and why. A refusal nobody can act on is just an outage.

Budgets sit where your money sits.

The whole deployment, one model provider's pool, one client, or one project. By calendar month, calendar quarter, a rolling window of N days, a fixed period for a campaign or a pilot — or no period at all, when the amount is a total and that is the point.

Where several apply, the most restrictive decides.

And the budget that stops the run decides what stopping means.

Refuse it. Park it, to be resumed when there is room. Or hold it for a decision, with the shortfall attached, so somebody can grant the increase rather than being told to go and find the right screen.

Three different answers to "there isn't enough", because they are three different situations.

Two runs admitted in the same instant cannot both spend the last of it.

An admitted run reserves what it is expected to need, and the next run compares itself against what is spent and what is held. Without that, every run admitted in the same moment measures itself against the same remaining balance, each one fits, and the budget is overshot as many times as there were runs.

This is not hypothetical here: the client portal and the agent door both exist so that work can be admitted by nobody in particular.

The budget spentheld by run Alimit Run A admitted, and holds what it needs Run B measured against spent + held: does not fit

Nothing is held forever.

A reservation expires. A run that parks gives its headroom back — least of all may a run parked because a budget ran out sit on the very money it is waiting for.

Here is the bound the gate cannot give you.

Admission bounds expected spend. The estimate is an estimate, so a second control watches actual spend as the run proceeds, checked at each call boundary rather than mid-call.

That means actual spend is bounded by the ceiling plus whatever was already in flight when it tripped — one call per stage running at the time. A call the provider has started is a call the provider will bill, and aborting it would destroy a result you have already paid for rather than save the money.

A reading we could not take is recorded as a gap, never as zero.

When a call is cut off after the provider answered, its cost is not known. It is filed as unmetered and flagged, rather than quietly counted as nothing — because a zero in a spend ledger is a claim, and a gap is the truth.

See it in the applicationHide the screenshot
THE TEMPTING DEFAULT WHAT IS RECORDED INSTEAD A cost reading cannot be taken 0 unmetered Nought is a number. It sums correctly, it appears on a report, and it is wrong. An estimate needs a safety margin a multiplier somebody chose the p90 of this workflow's own past error, at this size Taken from the variance sample on every completed run. Quoting uses the raw estimate; only enforcement uses the padded one. A budget refuses a run “budget exceeded” the budget, what remains, of what, what was needed, and the multiplier A refusal nobody can act on is just an outage. And a budget that cannot price a run refuses it. A run needs to notify somebody the failure reason, in the email the run's name, and where to look A reason can carry an exception message, or name what a detector found inside the client's document. A mail server is covered by none of the decisions made about that material. A profile loads but matches nothing “loaded successfully” matches nothing — verdict from the real loader over the real file Never a second, more tolerant reader written for the report. Two readers of one format eventually disagree. A backup did not happen silence a row saying so, and a restore proved by drill Including the number of errors the restore ignored, because restore tooling exits successfully having skipped things. It records the cases where it could not decide, rather than recording a default and moving on. That is what makes every other decision on this page worth anything: a gap that is written down can be audited; a default cannot.
The tempting default, and what is recorded instead

Or don't budget at all.

No enforcing budget means no gate. A small team that wants to see what things cost sets a budget to advisory, gets the reporting, and is never refused anything. The machinery arrives when you ask for it.