Image generation costs vary by a factor of five depending on which model you pick and which plan you're on. Most developers default to Midjourney and overpay. Here's what everything actually costs.
Quick answer
The cheapest serious image generation models are Flux 2 Dev and Flux Schnell at 1 credit per image— about $0.017/image on the Hobby plan. That's 4× cheaper than Midjourney on the same plan.
For photorealism at a mid-tier price, Nano Banana (2 credits, ~$0.035/image) is the best value option.
How image API pricing works
JourneyAPI uses a credit system. You buy a plan, get a monthly credit allocation, and each generation deducts credits based on the model. The more credits per plan, the lower your effective cost per image.
| Plan | Price/mo | Credits/mo | Cost per credit |
|---|---|---|---|
| Hobby | $19 | 1,100 | $0.0173 |
| Pro | $99 | 6,000 | $0.0165 |
| Growth | $299 | 20,000 | $0.0150 |
| Scale 1 | $599 | 44,000 | $0.0136 |
| Scale 2 | $999 | 77,000 | $0.0130 |
The cost-per-image you pay is model credit cost × plan cost-per-credit. Upgrading your plan lowers the cost per credit, but changing models has a bigger impact.
Cost per image by model
All prices below are on the Hobby plan ($0.0173/credit). Your actual cost will be lower on higher-tier plans.
| Model | Credits | $/image (Hobby) | Best for |
|---|---|---|---|
| flux-2-dev | 1 | $0.017 | Prototyping, high-volume |
| flux-schnell | 1 | $0.017 | Rapid iteration |
| nano-banana | 2 | $0.035 | General purpose |
| gpt-image-1 | 2 | $0.035 | Instruction-following |
| flux-2-flex | 2 | $0.035 | Flux quality, mid-price |
| nano-banana-2 | 3 | $0.052 | Photorealism, faces |
| midjourney | 4 | $0.069 | Artistic, editorial |
| flux-2-max | 4 | $0.069 | Flux highest quality |
| ideogram-v3 | 5 | $0.087 | Text-in-image, design |
The range from cheapest (flux-2-dev at $0.017) to most expensive (ideogram-v3 at $0.087) is 5×. If you're currently using Midjourney by default, you're paying 4× more than you would with flux-2-dev for the same number of images.
Hidden costs to watch out for
Failed generations
Some providers charge credits for failed requests regardless of outcome. JourneyAPI only charges for successful generations — if a task fails, your credits are automatically preserved. At scale, this matters: a 5% failure rate on 10,000 images is 500 wasted credits with a charge-on-submit model.
Subscription lock-in vs pay-per-image
Flat-rate subscriptions look cheap until you realize you're paying for capacity you don't use. If your generation volume fluctuates month to month, a credit-based model means you only pay for what you actually consume.
Rate limits
Lower-tier plans have lower rate limits (requests per second). If you need to generate hundreds of images concurrently, you may need a higher plan — not just for the credits, but for the throughput.
Cheapest model by use case
Prototyping and iteration
Use flux-2-dev or flux-schnell. Both cost 1 credit. Fast enough to test prompts quickly. Good enough to validate an idea before committing to a higher-quality run.
Marketing and product visuals
Use nano-banana-2 (3 credits, ~$0.052). Strong photorealism, good face rendering, handles reference images well. The step up from the base model is worth it for customer-facing content.
Artistic and editorial content
Use midjourney (4 credits, ~$0.069). Still the benchmark for editorial aesthetics. If your use case specifically requires the Midjourney look, the premium over flux-2-dev is justified.
Text-in-image (logos, social graphics)
Use ideogram-v3(5 credits, ~$0.087). It's the most expensive model, but it's the only one that reliably renders text inside images. For everything else, it's overkill.
Recommendation
Don't default to one model. Route requests by task:
- Default generations → flux-2-dev (cheapest serious model)
- Customer-facing visuals → nano-banana-2 (best value at mid-tier)
- Artistic output specifically → midjourney
- Text-in-image → ideogram-v3 (no substitute)
All models run through the same /imagine endpoint — switching is a one-field change in your API call. There's no migration cost to testing a cheaper model.