Retries and failures
Failed or uncertain inference refunds its reservation. Crash holds stay pending until their finite deadline, then expire on access. A late completion cannot charge an expired request. An admitted request keeps running if your client disconnects, and completed work is charged even when its response cannot be delivered; it cannot be downloaded later. Settlement follows the response, so headers and JSON report reserved credit, while usage history is final.
Audio, transcripts and synthesis text are transient. There is no result replay, job polling or download store. After an ambiguous failure, a fresh submission is a new request and may consume compute and credit again.
Errors use error.code, message, request_id and retryable. Only safe
pre-admission capacity rejections advertise retryability. 402 indicates credit,
422 invalid/unsupported input and 503 service failure.
Charges and pack allowances are described under credits and packs.