The job that actually arrives
Nobody pays for one cut-out. The work is a shop with 400 products, a catalogue reshoot, a marketplace migration where every listing needs a white background at 2000 pixels square.
Doing 400 by hand at four minutes each is 27 hours. Doing them automatically and checking properly is about four. The difference is entirely in how you organise the checking, because the automatic pass will get somewhere between 85 and 97 per cent of them right and you cannot tell which without looking.
The pipeline
# 1. one folder in, one folder out, consistent model
rembg p -m isnet-general-use ./raw ./cutouts
# 2. composite onto white at a fixed canvas, keeping proportion
magick mogrify -path ./final \
-background white -alpha remove -alpha off \
-resize 1800x1800 -gravity center -extent 2000x2000 \
-quality 88 -strip ./cutouts/*.pngThat is the whole thing, and both tools are free. rembg does the masks; ImageMagick flattens onto white, resizes to fit inside 1800 pixels, centres on a 2000-pixel canvas with a consistent margin, and strips metadata.
The -resize 1800x1800 before -extent 2000x2000 is what gives every product the same 100-pixel breathing space regardless of its shape. Without it, a tall bottle and a wide box end up at different visual scales and the grid looks wrong even though every file is the same size.
If you prefer a graphical route: GIMP’s Script-Fu console and BIMP plugin both batch, Photoshop has Actions plus File > Automate > Batch, and Photopea has a scripting console. The principle is identical.
Consistency is the deliverable
For a catalogue, the individual cut-out matters less than the set matching. Decide these once and encode them in the script, not in your judgement:
- Canvas size and aspect. Most marketplaces want square; several require a minimum of 1600 pixels; some require the product to occupy 80 to 85 per cent of the frame.
- Margin. Same on every file.
- Background. Pure 255 white if the platform demands it; around 250 grey on your own site, so white product highlights do not dissolve into the page.
- Shadow. Either every product has one or none does. A grid where half the items float is the commonest tell of a job done in two sittings.
- File naming.
sku_view_index.jpg, machine-readable, no spaces.
Checking without looking at 400 images
Three passes, in increasing cost.
Contact sheet. Build a grid of every output and look at it at once.
magick montage ./final/*.jpg -tile 10x -geometry 200x200+4+4 sheet.jpgAt thumbnail size you will catch the catastrophic failures instantly: a product that came out as a silhouette, one that lost its handle, one where the model grabbed the shadow instead of the object, one that is upside down. This finds perhaps two thirds of the errors in three minutes.
Alpha contact sheet. The same grid built from the masks on a mid-grey background rather than white. Errors that vanish against white (a filled-in handle gap, a chewed edge) are obvious against grey. This is the pass most people skip and it is the one that pays.
Full-size sample. Open twenty at 100 per cent, chosen to cover the variety: the shiniest, the darkest, the thinnest, the one with a transparent lid, the one shot on a different day. If all twenty pass, the batch is probably sound. If three fail, inspect the whole set.
That is sampling, and it is the correct use of it: a sample tells you whether there is a systematic problem, not whether every individual file is right.
The categories that will fail, predictably
Pull these out for manual work before running the batch, and the batch gets much better:
- Glass, bottles, anything transparent. Blend-mode work from the previous lesson.
- White or very pale products on white. The model has no contrast to work with.
- Products with holes: handles, rings, open boxes, mesh.
- Anything with fine structure: jewellery chains, lace, wire.
- Reflective metal, where the reflection of the studio is part of the product.
Sorting the shoot into “automatic” and “by hand” folders at the start turns a frustrating batch into two predictable ones.
Privacy, and what leaves your machine
Running rembg locally means nothing is uploaded. Using a web service means 400 of a client’s product photographs, possibly unreleased, go to a third party under terms you probably have not read, and several such services reserve the right to use uploads for improvement.
For public catalogue images this is a small risk. For a product not yet announced, for anything under a non-disclosure agreement, or for photographs containing people, the local route is not merely cheaper: it is the only one you can honestly tell a client you used.
The limitation that determines the price
An automatic batch does not produce professional cut-outs. It produces acceptable ones, quickly, most of the time.
The gap is in the last five per cent: the sub-pixel edge, the decontaminated fringe, the contact shadow that makes the object sit on the surface. For a marketplace grid viewed at 200 pixels, nobody sees the gap. For a printed catalogue, a hero image or a brand that cares, they do.
Knowing which job is which is how you price the work. Quoting a by-hand rate for a job that a batch would have satisfied loses you the job; quoting a batch rate for a job that needed the hand work loses you the weekend.
Every lesson here is open. Your progress is recorded once you pass the Design, before Any Software exam.
Check your understanding
After batch-removing backgrounds from 400 product photographs, an editor builds a contact sheet of the finished images on white and sees nothing obviously wrong. Why is that insufficient evidence that the batch succeeded?
Pick the one you would defend. Your answer stays private.
Stuck on something?Ask Neema, your AI tutor