The OpenAI batch API is pretty cool at 50% of the cost. Great for large scale tasks such as captioning 42k images with gpt-5-mini.
Here is what I learned:
1. there is an org-level cap of 5M enqueued tokens per model so you need to throttle the uploads to stay below that. Not sure why they don't take care of that internally;
2. each batch upload must be below 200MB of so I had to create 75 JSONL files (multiple JSON objects per line) for 42k images resized to 1536px on the long edge.