Estimate vs charge: why the number you pay only ever goes down
LUVI shows a credit estimate before every generation and charges you when the result arrives. Since September the charge is settled against the provider's real bill — capped at the estimate, never above it. What changed, what we measured, and why one model dropped from 15 credits to 7.

Every generation on LUVI shows a credit price before you confirm. Most people assume that is the price. Since mid-September it is the ceiling: the amount that actually leaves your balance is the provider's settled price for that exact job, and it can only be equal to or lower than what you saw. This post is the inside story.
How is a price built?
Pricing on LUVI runs through a single function, so the number you see in the Workspace, the number the pre-flight check gates on, and the number the ledger records are the same calculation applied at three moments:
- Estimate. Before you run, LUVI asks the provider for a live quote for your exact settings — resolution, duration, number of outputs, reference lengths. If the quote is unavailable, the provider's published rate is used instead.
- Gate. The same number checks that your balance covers it.
- Charge. When the result arrives, the settled price is read from the provider's own record of the job and converted to credits.
The conversion is one formula for every model: the provider's settled price plus LUVI's markup for that model, rounded up to whole credits. Nothing else is added on top.
What did we find when we measured?
In September we swept every model against its provider's settled prices. Thirty-nine models settled exactly at the quote — the estimate and the charge were identical. Seedance settled within ±0.6 %. Two families did not:
- GPT Image 2.5 bills on the tokens actually generated. The quote has to assume the full budget; the real job used far less. The same generation that showed 15 credits settled at 7 (GPT Image 2.5 on LUVI).
- Microsoft's MAI Image 2.5 adds a prompt-token component the catalogue price does not carry; the estimate now includes an upper bound for it.
We also caught a provider silently re-pricing three text-to-speech models in August. For a month those rows were sold below cost. The estimate for character-priced audio now resyncs to the provider's catalogue automatically, and the charge — as everywhere — comes from the settled record.
Why does the ceiling matter?
A settled price can, in principle, come out above the quote — a provider changes a rate mid-day, an upscale tier bills differently from its listing. In that case LUVI absorbs the difference: the charge is capped at the estimate you accepted. The estimate is a contract, not a forecast.
What does this look like in your account?
Account → Billing → Transactions lists every generation with the model, the prompt, the project and the credits actually charged. When the charge is lower than what you saw, that is the settled price at work. When a line is missing for a generation that finished a moment ago, it has not settled yet — the record follows within seconds; it is not free.
The same numbers reach Claude and ChatGPT through the connector: every result carries creditsCharged, and list_transactions returns the ledger.
Which models are not quoted live?
Two models cannot be quoted live and are estimated from their rate instead — character-priced text-to-speech, where a live quote would mean posting your entire script on every keystroke, and a per-minute audio model with a two-minute hold. Both still charge the settled price at the end; only the estimate is a formula.
Where is this written down?
The short help-center versions: how credits work and why the charge differed from the estimate. The Refund and Cancellation Policy is the binding text.
In one sentence
What you see before you run is the most you will pay; what you pay is built from what the job actually cost; and nothing is charged for a generation that fails.
Questions
Is the estimate ever wrong upwards?
No. If the provider's settled price comes out higher than the estimate, you still pay the estimate.
Why not just charge the estimate?
Because on some models the estimate has to assume the worst case — the full token budget, the maximum audio length — and the real job is often smaller. Charging the settled price returns that difference to you.
Why do failed generations cost nothing?
The charge is made when a result is persisted. No result, no charge.
More from Inside LUVI
- What is LUVI Creator? How one workspace for AI video, image, audio and 3D makes production faster and betterLUVI Creator is a web platform for generating video, images, audio and 3D with 223 AI models from 30 families, in one account paid in credits. It speeds work up with parallel runs, reusable references and workflows, and protects quality with prompting guides for 18 model families.
- Why every image you upload to LUVI becomes JPEG or PNGiPhone HEIC photos used to fail in Chrome, WebP confused half the models, and one library's browser decoder took 27 seconds on a 12-megapixel shot. So we moved the conversion to the server and made one rule: every image is stored as JPEG or PNG, colour profile and orientation intact.