You are never charged when a model returns no usable content.
Not yet available. Zero completion insurance is on the roadmap.
A model call can fail to produce meaningful output for reasons entirely outside your control — the upstream provider returns an empty response, cuts off mid-stream, or returns an error. Zero completion insurance means you are not billed for those cases. If the model doesn't deliver, you don't pay.
Zero completion insurance applies when:
choices, or choices is an empty array.finish_reason: "error" or an empty message.content.[DONE] but no content deltas were emitted.503 temporary_unavailable or 502 upstream_error/upstream_timeout error from OpenDunes.Not every failure is covered. You are still charged when:
400 invalid_request, 401 unauthenticated, 402 insufficient_credits.max_tokens being reached — partial output is usable output.When you send a request, OpenDunes places a temporary hold on the estimated cost (based on input tokens). The hold is released after the response is received:
The final charge (or release) appears in your activity log within seconds of the response completing.
Every request in the activity log shows a billed field. Requests covered by zero completion insurance appear with billed: 0 and a zero_completion flag.
Model reliability varies by provider and model. You can review uptime and error rates per model in the model catalog under the Reliability tab — this helps you choose models with the best track record for your use case.
Note. Zero completion insurance does not substitute for retry logic. For production workloads, implement exponential backoff on
503and504errors and consider configuring model fallbacks to automatically reroute to an alternative model when the primary is unavailable.