If it failed: the reserved credits are refunded in full, automatically. The generation record carries the error.
If it is stuck queued: anything in flight for more than 30 minutes is treated as abandoned, marked failed, and its reserved credits refunded. This runs on every queue pass, so it self-heals — you do not have to do anything.
Common causes:
- A capability nothing provides. The tool will have said so before you spent anything.
- A compute cap. You have too much genuinely backlogged. Nothing was charged; wait for the queue to drain.
- A rate limit on free-tier drafts. Final renders are never rate-limited.
- A blocked prompt. IP pre-check, consent gate or Cleared Content routing. All three refuse before reserving credits and explain why.
If a shot shows "reused — no credits spent" that is deduplication working: an identical request within ten minutes returns the earlier result, and the earlier asset is linked onto your shot.