Skip to main content
You are billed when the provider bills Comfy. The same rule applies to synchronous and queued calls, and a same-key retry that replays a result is not a second charge.

Model billing facts

GET /v2/models and the model detail response include billing.charges_on_policy_rejection. This describes a policy refusal, not every failure or a price estimate. Compare these strings explicitly: "no" is truthy in Python and JavaScript. Treat any unrecognized value as unknown. A request refused for lack of credits reports insufficient_credits.

Reconcile charges

Provider payloads may include their own cost or usage numbers; those are not the Comfy charge. X-Comfy-Credits-Used may appear for an allowlist of providers but is not universal and is not replayed. Use workspace usage and invoices for reconciliation. Preserve the request ID when investigating a charge.

Next