Charges per request not per image

Rate limit errors should have no impact on your bill. That is you getting denied by the API endpoint without anything reaching the model.

The python openai library has built-in retry, and other methods like httpx and requests also have connection timeouts that don’t expect internet resources to take a long time. I would increase all its timeouts so your (their) code doesn’t give up on waiting for an image that’s being created.

Content filter I’d think should stop you at prompt, not generation. Billing just for an intermediary AI to say “no” seems shady if true.

Microsoft uses computer vision to block generations from being received, but I haven’t heard evidence or error message of this being done by OpenAI. Determined probing would allow one to determine if image generation is being completed, only to be then denied on the output’s contents.