image generation API batch requests: what the n parameter actually saves
Every image model takes an n parameter and multiplies cost linearly.
| Model | Per image | n range | 4 images |
|---|---|---|---|
| Flux | 5 credits | 1–4 | 20 credits |
| Nano Banana | 4 credits | 1–4 | 16 credits |
| Ideogram | 6 credits | 1–4 | 24 credits |
There is no batch discount. Four images in one call costs exactly what four separate calls cost.
What you actually buy
Concurrency slots. Ceilings are per API key:
| Tier | Requests per minute | Concurrent jobs |
|---|---|---|
| Free | 5 | 1 |
| Pro | 60 | 5 |
On the free tier you get one in-flight job. Four images in one call is one job; four separate calls is four, and three of them come back with 429 CONCURRENCY_LIMIT_EXCEEDED.
Batching also costs you fewer requests against the per-minute limit — one instead of four.
Above the cap
n over the maximum fails validation with
400 INVALID_PARAM. Nothing is submitted and no credits
are touched.
Models covered on this page
Where these facts come from
- codebase: src/ai/providers/*.ts — every pricing() and paramsSchema
- codebase: src/config/website.tsx — credit pack pricing
- codebase: src/ai/api/quota.ts — per-tier ceilings