AI image workflow cost tracker
A single “cost per image” number almost always understates reality. A finished, client-ready image usually passes through several billed stages — you generate a batch, pick a winner, upscale it, fix a detail with inpainting, then strip the background. This tool models that whole pipeline so you can see what one finished image actually costs and what your monthly bill will be.
How it works
Each row is one workflow step with two numbers: cost per run and runs per image. The runs-per-image field is what makes the estimate honest — if you generate four candidates to keep one, generation runs four times per finished image. The tool multiplies cost by runs for every step, sums them into a per-image cost, then multiplies by your monthly volume for the total. You can add or remove steps freely to match your exact pipeline.
A worked example: e-commerce product image pipeline
For a product photography workflow, a typical pipeline might look like this (using illustrative costs to show the method — your actual provider rates will vary):
| Step | Cost per run | Runs per finished image | Cost per image |
|---|---|---|---|
| Initial generation (batch of 4) | $0.04 each | 4 | $0.16 |
| Human selection | (your time) | — | — |
| Background removal | $0.02 | 1 | $0.02 |
| High-res upscale | $0.06 | 1 | $0.06 |
| Inpainting (fix 1 flaw) | $0.03 | 0.5 (needed ~half the time) | $0.015 |
| Total per image | $0.255 |
At 2,000 finished images per month, that is roughly $510 — more than twice what you would estimate if you only looked at the generation cost of $0.04 per image. The inpainting column shows another often-missed cost: steps that only run part of the time still add up at volume.
The most commonly underestimated costs
Rejection rate during generation is the single biggest hidden cost for most teams. If you generate ten images to find one that works, the generation step multiplies tenfold. Some workflows can reduce this with better prompts or ControlNet guidance; others accept it as the cost of quality control. The runs-per-image field captures this directly.
Upscaling at high resolution often costs more per run than the original generation. A 4× upscale on an already-large image is computationally expensive, and the fee on hosted upscalers reflects this. Tracking it as a separate line keeps it visible rather than absorbed.
Revision loops (inpainting to fix a flaw, regenerating a specific area) add costs that vary by how good your initial prompts are. If roughly half your images need an inpaint pass, set runs-per-image to 0.5 for that step.
Tips and examples
- Count rejections. The biggest hidden cost in image work is the images you throw away. If your hit rate is one in five, set generation to 5 runs per image.
- Upscaling is often the priciest step. High-resolution upscalers can cost more per run than the original generation — keep it as its own line so it stays visible.
- Model two pipelines side by side. Build a “current” version and a “leaner” version (fewer candidates, a lighter upscaler) to see the monthly saving before you change anything.
- Self-hosted GPU? Convert run time to a per-run cost: hourly GPU rate divided by how many runs you complete per hour, then enter that as the step cost.