Blog / Billing

Refused renders are refunded unless the provider billed them

A refusal should not cost you anything you did not get, and you should be able to see that it did not.

  • 5 min read
  • Updated

Sometimes a provider's content filter blocks a render. Since 23 September, NOLGIA refunds that refusal unless the provider billed us for the attempt, including when the provider's answer does not say either way. The card tells you which happened, and the API records it on the job.

What changed

NOLGIA takes a credit hold when it accepts your request. Delivery turns the hold into the charge, and a render that fails for a technical reason releases it, so it costs nothing.

Refusals used to be stricter. When a provider refused a render and its answer did not show whether it had billed us, the hold was used up. From 23 September that case is refunded: you pay for a refusal only when the provider's own answer shows it did billable work.

Two families are refunded every time, because their providers bill only what they deliver: GPT Image, including when the image was generated and then blocked, and Seedance 2.5. A Lyria 3.5 prompt that Google's filter blocks now comes back as a refusal straight away, refunded, instead of being retried.

The change applies to refusals from that day on. It does not reach back to jobs that were already settled.

When a refusal is still charged

On every other model, only two things count as the provider having billed the attempt:

  • The provider had already accepted the render and started it before its filter refused it.
  • The provider generated the result and then blocked it.

Everything else is refunded: a refusal of the prompt or the reference before any work, and a refusal whose answer says nothing about where the filter ran.

Watch for this:A failed status is not proof of a refund. Because a few refusals are charged, the card tells you either way instead of promising a refund every time.

What you see in the app

In the queue under the composer, a refused render's card reads Blocked by the content filter and gives the provider's reason. Under it, one line says what happened to your credits: "Your credits were refunded." or "The credits for this attempt were charged." When the outcome is not recorded yet, the card leaves that line out rather than guess.

Edit prompt puts your prompt back in the composer so you can change it and try again. The usage list on your billing page shows the charge and, when it is refunded, the refund for the same amount.

What the API tells you

A refused job fails with failure.kind set to moderated and a typed failure.code. prompt_nsfw means a filter refused the request or its result on safety grounds. ip_detected means it was refused as a recognisable real person or a protected work. The fixes differ: for the first, edit the prompt or the reference media; for the second, change the reference image or the named subject.

failure.credits_refunded is the ledger's answer: true means the job cost nothing, false means it was charged, and an empty value means the outcome is not recorded yet. Branch on the code, never on the message text. The @nolgia/sdk and nolgia packages raise NolgiaGenerationError with that code when a generation is refused or fails.

NOLGIA remembers a refusal for 30 minutes by default. The same request in that window, or the same refused references on the same model, gets the same refusal back without calling the provider or charging again, and a fresh Idempotency-Key does not get round it.

What you are not charged for

What happenedWhat happens to your credits
A refusal the provider did not bill, or whose answer does not sayRefunded
A job that failed for a technical reasonThe hold is released
A job that ran past its time budgetRefunded
A render you cancel before it reaches the model providerRefunded in full
The wallet cannot pay, or the request is invalidRefused before anything runs, nothing charged
The same request sent twice within five minutesRefused with the first job's id, never billed twice
A wait on a job that times outNo charge, and the job keeps running
A price quoteNo job, no hold and no charge
From the Pricing and credits, Model errors and Jobs pages of the NOLGIA docs.

The full rules are in Pricing and credits and Model errors. For how credits, plans and top-ups fit together, read how credits work. What happens when you stop a render yourself is in What happens when you cancel a render.

Questions and answers

Was I charged for a refused render?
Look at the card: it says whether your credits were refunded or charged. Through the API, read failure.credits_refunded on the job: true means it cost nothing, false means it was charged.
Why would a refused render ever be charged?
Because the provider billed the attempt: it had already started the render, or it generated the result and then blocked it. Every other refusal is refunded.
I was charged for a refusal before 23 September. Does the new rule cover it?
No. The rule applies to refusals from 23 September on, and jobs that were already settled keep their outcome.
Can I send the same request again?
Not unchanged. NOLGIA remembers a refusal for 30 minutes by default and answers the same request with the same refusal, without charging again. Change the prompt or the reference and try again.
What about a render that fails for another reason?
A technical failure releases the hold, and a generation that runs past its time budget is refunded. The job's refund field confirms it.

Know the price before you spend

Read how credits work

Guides · Credits

How credits work, and what happens when a render fails

The price is on the Generate button, the job holds it while it works, and the hold becomes a charge or a refund. Here is when credits come back after a failure, a refusal or a cancel.

· 6 min read

Billing

What happens when you cancel a render

Cancel stops a render at the model provider where it can. Before the provider has it, every credit comes back; after that, it depends on the model.

· 6 min read

Billing

AI video pricing explained: what one clip costs

How AI video is priced on NOLGIA: by model, length, quality tier, sound and input, with every rate read live, the plan each needs, and how to spend less.

· 7 min read