
Your AI product photography cost per approved image depends on what survives review, not just what finishes generating. A beautiful coffee scene is still unusable if the pouch shows the wrong roast. A cosmetics image with a redesigned pump can consume more editing time than a replacement photograph.
The useful calculation is simple: divide the complete batch cost by the number of approved images that fulfill your brief. The difficult part is keeping the numerator honest and the denominator consistent.
This guide gives you a spreadsheet-ready worksheet, two invented examples, and a stop rule for deciding whether to retry, retouch, or photograph the product again. For the creative workflow behind the numbers, start with our AI product photography guide.
The cover is an AI-generated editorial illustration, not a test output from the cost scenarios below.
Write a short brief with the SKU, required view, destination, and reviewer. An approved image must satisfy that brief, not merely look attractive in a contact sheet.
Use these acceptance gates:
These gates have a practical basis. Google Merchant Center's image guidance calls for accurate product and variant representation and retention of AI-related metadata. A correct-looking preview does not establish that the exported listing file meets those requirements.
For example, a serum bottle with an invented concentration fails the label gate. A coffee pouch with a rounded base instead of its real gusset fails geometry. Earbuds with an extra indicator light fail product accuracy. The packaging-label checklist helps make those decisions repeatable.
Count one approved master image once. Track its square, portrait, and landscape crops separately as delivery derivatives. If your actual contract pays per exported asset, calculate a second cost-per-delivered-file metric and label it clearly. Do not compare that number with another workflow's cost per unique master.
Use the following definitions for one batch:
C = F + T + L + E.cost per approved image = C / A.If A is zero, the ratio is undefined. Report “no approved images” alongside the amount spent; zero cost per image would describe the opposite of what happened.
Record G, the number of generated candidates, too. Where each candidate can contribute at most one approved master and every approved master belongs to that candidate set, A / G is the approval yield. For composites assembled from several candidates, or workflows that produce several masters from one output, keep a separate lineage log instead of presenting that ratio as a simple success rate.
Retries belong in G and their charges belong in T when separately billed. Their prompting, inspection, and correction time belongs in L. Allocating a subscription and then charging its included generations again would double-count the same cost.
Maintain two views when useful. A cash-spending view records actual payments within the chosen period. An allocated economic-cost view assigns a share of shared tools and values staff or owner time, even when there is no new invoice.
For instance, existing equipment might require no payment during a pilot but still receive a documented usage allocation. An owner editing at night might have no incremental payroll expense, yet the time matters when comparing production methods. State your allocation rule and period; do not present an allocated total as the cash paid that day.
This is not a claim that other pricing guides ignore production work. Claid's product photography pricing guide also discusses revisions, labor, and quality control. The worksheet here makes those inputs auditable at the individual batch level rather than relying on a headline price comparison.
Create a sheet named Batch. Put the labels below in column A and enter values or formulas in column B. Use one monetary unit throughout; the worked examples use fictional budget units, with no connection to Oxava prices or credits.
| Cell | Label | Entry or formula |
|---|---|---|
| B2 | Generated candidates, G | Enter a whole number |
| B3 | Approved masters, A | Enter a whole number |
| B4 | Allocated fixed cost, F | Enter amount |
| B5 | Extra variable tool charges, T | Enter amount |
| B6 | Other expenses, E | Enter amount |
| B7 | Labor cost, L | =SUM(D13:D17) |
| B8 | Total batch cost, C | =SUM(B4:B7) |
| B9 | Cost per approved image | =IF(B3=0,"No approved images",B8/B3) |
| B10 | Approval yield, when eligible | =IF(B2=0,"No candidates",B3/B2) |
Format B10 as a percentage only when the one-to-one counting rule applies, and require A to be no greater than G. Use nonnegative numeric inputs and keep pending images out of B3 until signed off.
These formulas use English function names and comma separators. Your spreadsheet language or locale may require localized function names and semicolons instead. Check the example totals after pasting.
Build the labor block in rows 13–17, using column A for the task, B for hours, C for hourly rate, and D for cost:
| Row | Task | D-column formula |
|---|---|---|
| 13 | Reference preparation | =B13*C13 |
| 14 | Prompting and generation handling | =B14*C14 |
| 15 | Review and rejection logging | =B15*C15 |
| 16 | Retouching and correction | =B16*C16 |
| 17 | Export, delivery, and final checks | =B17*C17 |
Split a task into additional rows when people have different rates, and extend the SUM range. Enter actual working time rather than counting unattended generation time as labor. Track elapsed turnaround separately if scheduling matters.
On a second sheet, record candidate ID, SKU, reference filename, intended view, rejection reason, correction minutes, final master ID, reviewer, and approval date. Link receipts and source files where appropriate. This lets you explain why costs changed instead of attributing every difference to the image model.
You can run a small, defined batch in the Oxava studio and keep this worksheet alongside it. Finish review before expanding the batch; an attractive first result is not an approval-rate estimate.
The following numbers are invented teaching scenarios, not observed results, industry benchmarks, or Oxava pricing. Both batches generate 100 candidates and use the same fictional costs: F = 60, T = 20, E = 0, and a labor rate of 40 budget units per hour.
| Input or result | Batch A | Batch B |
|---|---|---|
| Reference preparation hours | 0.5 | 1 |
| Generation handling hours | 1 | 2 |
| Review hours | 1 | 2 |
| Retouching hours | 1 | 4 |
| Delivery hours | 0.5 | 1 |
| Total labor hours | 4 | 10 |
| Labor cost | 160 | 400 |
| Complete batch cost | 240 | 480 |
| Approved masters | 40 | 20 |
| Approval yield | 40% | 20% |
| Cost per approved image | 6 | 24 |
Batch A costs 240 / 40 = 6 budget units per approved image. Batch B costs 480 / 20 = 24. The fourfold difference comes from both higher labor and fewer approved images, despite equal candidate counts.
Imagine Batch A uses clear front-view cosmetics references for controlled backgrounds. Batch B attempts unfamiliar electronics angles with missing reference detail. Those are hypothetical explanations to investigate, not evidence that one product category always costs more.
Avoid pooling everything into a single reassuring average. Keep separate rows for simple background changes, packaging-heavy images, reflective products, and new-angle requests. For scale-sensitive objects, use the product size and proportion checks before approving the batch.
Your completed-batch cost measures what happened. Your next production decision should compare future avoidable costs. Money already spent does not become recoverable because you generate again.
For each rejected image, estimate four routes:
A pouch with repeated shape distortion may need a new source angle or a photographed product composited into a scene. One community report about a distorted pouch illustrates that frustration, but it is an individual account, not a measured failure rate or a basis for ranking tools.
Shopify's photography guidance recommends capturing multiple angles, evaluating images, and retouching where necessary. Budgeting for a source-photo refresh is therefore a legitimate production option, rather than treating every failure as a prompt-writing problem.
For a straightforward comparison, use:
maximum retouch minutes = 60 * (replacement cost - other remaining costs) / hourly rate
All costs must use the same unit. “Replacement cost” means the estimated remaining cost of obtaining an equivalent approved image by another route. “Other remaining costs” includes review and delivery still required after retouching. The hourly rate must be positive.
In an invented example, a replacement costs 18 budget units, other remaining costs are 6, and the editor's rate is 40 per hour. The ceiling is 18 minutes. That is the break-even time, not a recommendation to spend the full allowance.
If replacement cost is already below other remaining costs, there is no positive retouch budget on these assumptions. If either route has uncertain acceptance, account for expected additional attempts and test a pessimistic estimate. Never use a neat formula to justify repairing an unknown label or inventing an unseen connector.
Set a pilot rule such as: stop a route when the same factual defect repeats without a new reference or a meaningful workflow change. Log the reason, choose the next route, and retain the failed candidates in the cost record.
For a completed pilot with fixed total cost C and an equivalent alternative costing a positive amount P per approved image, the pilot is strictly cheaper only when A > C / P. Equality is break-even. This comparison assumes matched quality, scope, and included delivery work; if costs increase as you seek more approvals, recalculate C.
For 3D, compare its setup cost plus the per-view cost against the alternative for the same required views. If 3D has higher setup but lower variable cost, divide the extra setup cost by the per-view saving to find the break-even volume. Include model validation and updates, and use only views you genuinely plan to deliver. Hundreds of possible renders do not create savings when you need three photographs.
Finally, inspect delivered files after resizing and compression. The product image export guide covers that final check. If export creates a label defect, reopen approval and record the additional work.
For a defined batch, add allocated fixed costs, separately billed tools, labor, and other expenses, then divide by approved masters. Report the counting unit and allocation method so another person can reproduce the result.
Yes. Their charges and handling time belong in the batch total, but they do not enter the approved-image denominator. Keep pending images separate until review is complete.
Report the batch spend and “no approved images.” Cost per approved image is undefined; review the failure reasons before committing more budget.
They can lower a separately defined cost per delivered file, but they do not create new approved master photographs. Keep master-image economics and derivative-delivery economics distinct when comparing methods.
A useful AI product photography cost per approved image starts with a real acceptance standard and ends with verified delivery. Record the work, preserve rejected attempts in the ledger, and choose the next step using remaining cost and product accuracy.
Start your next product-image batch in Oxava, keep the scope small enough to review completely, and use the worksheet to decide what deserves to scale.
Be the first to hear about new techniques, model updates and ideas on AI generation.