Cost to clean 200 product photos: background removal and upscale

Removing 200 backgrounds costs $4.50 at $0.0225 each and upscaling all 200 adds $40.00 at $0.20 each. Upscale only the keepers and the total drops to $16.50.

5 min readSume
All posts

Cleaning 200 product photos on Sume costs $4.50 for background removal at $0.0225 per image and $40.00 for upscaling at $0.20 per image, so doing both to every photo is $44.50. Upscaling is where the money is, so remove backgrounds on everything and upscale only the photos you will actually publish.

The prices below are list rates from Sume's pricing page, read on 2026-10-02. Both are listed as flat per-image prices. This post gives the table, a better order of operations and a script that totals the plan.

If you also generate lifestyle scenes from the cleaned cutouts, price that separately at the image rates, because the router estimate is a different SKU with its own range.

What does each step cost per photo?

The pricing page lists a single price per image for both operations. That makes planning easy: count the images and multiply.

A useful sanity check before any batch is to run ten photos first. At $2.23 for ten full passes it costs less than a coffee, and it shows you the failure rate on your real catalog before you commit $44.

Per-image prices (read 2026-10-02)
OperationUnitList price100 photos200 photos
Background removalper image$0.0225$2.25$4.50
Image upscaleper image$0.20$20.00$40.00
Bothper image$0.2225$22.25$44.50

Should I upscale every photo?

Usually not. Upscaling costs almost nine times as much as removing a background, and not every photo will make the shortlist. Suppose you keep 60 of the 200. Remove backgrounds on all 200 ($4.50), then upscale the 60 ($12.00) for $16.50 in total, about 63 percent less than the $44.50 full pass.

Order matters too. Remove the background first and review the cutouts, then upscale. A bad cutout you upscale is $0.20 wasted, while a bad cutout you caught first costs 2 cents.

Where the original photo is already large enough for the channel, skip the upscale. Marketplaces and ad platforms each publish their own size minimums, so check yours before paying for pixels you will not use.

How does this compare with generating new images?

Image generation is priced per model and settings, not at a flat rate, so read the estimate for the model you would use in the catalog or the Image API docs before comparing. The estimate is a planning number; the real price depends on the model and the settings you pick.

Upscaling a photo you already own is a fixed $0.20, so compare that with the generation estimate for your chosen model. If your goal is a new scene, generate. If your goal is a sharper version of a photo you like, upscale only the ones that earn it.

Do not forget the review step. A person looking at 200 cutouts costs time, not dollars, but it is the step that decides how many photos reach the $0.20 upscale.

RMBG = 0.0225
UPSCALE = 0.20

photos, keepers = 200, 60
full = photos * (RMBG + UPSCALE)
smart = photos * RMBG + keepers * UPSCALE
print(f"full ${full:.2f}  smart ${smart:.2f}  saved ${full - smart:.2f}")

How do I confirm the bill afterwards?

Read GET /v1/usage with the thread, run or job id, and quote summary.debited_usd. For a loop of 200 jobs, sum by scope rather than by row, because a refunded row keeps its hold amount.

If the wallet runs out mid-batch, the next submit is refused with 402 insufficient_credits. Check GET /v1/balance before you start.

What are the limits of this estimate?

  • The price is per image, so a retry of a failed job is a new job at the same price.
  • Concurrency still applies. Your plan decides how many jobs run at once, so 200 images take longer on a smaller plan even though the price is identical.
  • The prices change when the catalog changes. Re-read the pricing page before a large batch.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume