Use caseWorkflow automation
On-model photos for every colorway, generated from your packshots and approved by a person
Generates on-model photos for every colorway from flat lays and ghost-mannequin shots, checks color and print fidelity, and publishes only approved images.
A blueprint, not a client story. The business described is illustrative; the architecture, integrations and trade-offs are real, and this is how I would build it. By Ergini, .
The short version
A pipeline that turns the product photos a brand already takes (flat lays, ghost-mannequin shots, detail close-ups) into on-model images for every SKU and colorway, using model references the brand has licensed. Code measures each image against the real garment: color against a measured reference, prints and logos against the close-ups, hem length against the tech pack. Nothing reaches Shopify until a named person approves it, and every published image carries its AI disclosure and machine-readable provenance.
- Best for
- Apparel brands that shoot the hero colorway on a model and show the rest as flat lays, across hundreds of styles a season.
- Connects to
- Shopify, PIM (Akeneo or Plytix), DAM or image storage, Image generation model, QA review screen, Google Merchant Center
- The AI does
- Generates each on-model image from packshots and a licensed model reference, and a second model inspects it for anatomy and garment defects.
- People do
- Approve or reject every image before it goes live, own the model releases, and decide which products are never generated.
- Built as
- AI Workflow Automation, usually $15K - $30K
The colorways nobody books a model for
Picture a womenswear brand in Berlin selling through Shopify in four EU countries, with Google Shopping as its biggest paid channel: about 400 styles a season, most in five colorways. The photo budget covers one studio day per drop, enough for the hero colorway of each new style on a model. The other four are shot on the ghost mannequin or laid flat.
So the linen midi in Sand hangs and moves on a real person, while the same dress in Olive is a flat outline on white, and a shopper cannot see where its hem falls or whether the color reads green or brown against skin. The merchandisers suspect those colorways sell worse, and return comments saying 'shorter than I expected' and 'the color is different' point the same way.
Shooting every colorway would add several studio days per drop, plus model fees, styling and retouching; the photoshoot cost breakdown has the line items. Last season the team tried a self-serve AI model tool on twenty styles. Most images were usable; a few failed in ways that took a second look to notice: a floral print quietly redrawn, a logo missing a letter, a hand with six fingers.
Nobody could push 1,600 images through that tool with a proper review step, or say which published images had to be labeled. Hence the brief: on-model images for every colorway, generated from photos the brand already takes, checked against the real garment, approved by a person, labeled, and published to the right variant.
What the pipeline needs for each style
Generation is only as faithful as its references, and most of these already exist somewhere in the packshot workflow.
| Input | What it protects | Where it usually comes from |
|---|---|---|
| Ghost-mannequin front and back | The garment's true shape, neckline and proportions, without a body hiding them | The existing packshot studio |
| Close-ups of prints, logos, trims and texture | The reference every print and logo in the output is matched against | One or two extra frames per style at the packshot stage |
| Measured color per colorway | A target in CIELAB values instead of an impression on someone's screen | The approved lab dip or a spectrophotometer reading on arrival, stored in the PIM |
| Garment measurements | Hem, sleeve and rise positions, so a midi does not become a maxi on a tall model | The tech pack, through the PIM |
| Licensed model references | Faces and bodies the brand has the right to use, with a release that names AI generation, markets and term | Model agency contracts, stored with their scope and expiry date |
| Look preset | Pose set, light, background, crop and styling rules, so five colorways look like one shoot | Set once per collection by the art director |
From packshot to a published on-model image
Two AI models do the judgment-heavy work, one generating and one inspecting; measurement is standard computer-vision code. Whether a job may start, whether an image passes and where it goes live are decided by code and by a named reviewer.
01 Trigger · PIM webhook, DAM
A colorway is ready for imagery
A variant is complete in the PIM, its packshots are in the DAM and a look preset is assigned: one job per colorway and pose.
02 Plain code
Refuse to start without the right inputs
No job runs without a measured color, close-ups for any print or logo, and a model reference whose release covers AI generation, this market and today's date. A missing piece goes back to its owner as a task.
03 AI model · Image model API
Generate candidates
The image model gets the ghost-mannequin shots, close-ups, model reference and preset, and returns four candidates per pose. The instructions fix pose, light and crop, and never describe the garment in words where a reference image can show it.
04 Plain code · Segmentation and image checks
Measure what can be measured
Code cuts out the garment with a standard segmentation model, compares its color with the measured reference as a Delta E, matches prints and logos against the close-ups at feature level, and checks the hem position against the garment measurements for the model's height.
05 AI model · Structured output
Inspect what cannot
A vision model works through a fixed checklist per candidate (fingers and limbs, buttons, pockets and seams, visible texture, any change to the model's face or body) and answers item by item under a schema, with coordinates for anything it flags.
06 Decision
Which candidates reach a reviewer?
Tolerances set by the art director, applied by code.
- Every measurement inside tolerance and no inspection flag then the best two go to the review queue, ranked
- Color out of tolerance, a print mismatch or an anatomy flag then regenerated once with the failure noted, then moved to the 'needs a photo' list
- A logo, lettering or licensed artwork fails its match then never regenerated; retouched from the real packshot or shot for real
07 Person · QA review screen
A reviewer approves, retouches or rejects
The QA screen shows packshot, candidate, a zoomed view of any flag and every check result. Approval is per image and named; a rejection needs a reason from a short list, which drives the next preset change.
08 Plain code · C2PA, IPTC metadata
Mark the file and record where it came from
Approved images get C2PA Content Credentials and the IPTC DigitalSourceType field, and a provenance record: source files, model reference and release, image model version, preset, check results and reviewer.
09 Result · Shopify Admin API
Publish to the variant, once
Code attaches the image to its Shopify variant with alt text written from the PIM record, and a product metafield tells the theme which images get the disclosure line. A content hash stops a retried job from uploading the same image twice.
One colorway at the review desk
The job log for a single image, as the reviewer's screen shows it. Function names are the build's own, and results are shortened.
Job log, style DR-0412 linen midi, colorway Olive, front pose
- inputs.check(style: "DR-0412", colorway: "OLIVE")no print / measured color Lab 42, -6, 19 / length 118 cm / model M-07, release covers AI use in DE, AT, NL, FR until March 2027
- generate(preset: "SS27-daylight-studio", pose: "front", candidates: 4)4 candidates / image model version pinned in the job record
- check.color(candidates: [1, 2, 3, 4])Delta E 1.8 / 2.4 / 5.9 / 2.1 against a tolerance of 3.0 / candidate 3 fails, olive drifted toward brown
- check.hem(candidate: 1, model_height_cm: 176)hem at mid-calf, consistent with 118 cm / pass, as do 2 and 4
- inspect(candidates: [1, 2, 4], checklist: "garment+anatomy")candidate 1: belt loop missing on the right side, region flagged / candidate 2: left hand merges into the skirt / candidate 4: all items pass
- Candidates 4 and 1 go to the queue; 2 and 3 are logged with their failure reasons.
Reviewer · QA screen
4 approved. 1 rejected, belt loop missing. Please queue the back view with the same crop.
- publish(variant: "DR-0412-OLIVE", image: "c4", position: 2)C2PA manifest signed / IPTC DigitalSourceType TrainedAlgorithmicMedia / provenance record P-88213 / attached to the Shopify variant, alt text set, disclosure flag on
Where a generated garment stops being your garment
These failures do not show up in a demo of five images. They show up at image four hundred, which is why each one has a check rather than a hope.
Color that drifts toward pleasant
Image models nudge colors toward what looks good, and olive turns khaki. The measured reference and a tolerance per fabric type decide, not the reviewer's screen, and a colorway that keeps failing goes to the 'needs a photo' list. Google Merchant Center's image rules already demand the correct color, pattern and material.
Prints, logos and lettering
A floral print gets tidied up, stripes change width, a logo gains or loses a letter. Printed garments are matched against their close-ups, and anything with text, a logo or licensed artwork needs an exact match or a retoucher's composite from the real packshot. The model never redraws a trademark.
Texture and drape
Linen comes back looking like cotton, a rib knit goes smooth, a heavy coat hangs like jersey. The checklist includes the visible features the PIM records for each fabric (slub, rib, nap, sheen), and a candidate that loses them is rejected. Fabrics that never survive generation stay on the shoot list.
Hands, anatomy and the body itself
Extra fingers are the famous failure and the easiest to catch. The subtler one is body drift: a model who comes back slimmer, taller or younger than the person who signed the release. Proportions are compared with the reference, and a changed body is rejected, because it misrepresents both the fit and the person.
A set that does not match itself
Five colorways should look like one shoot. The preset fixes model, pose, light and crop, sets are approved side by side rather than image by image, and a regenerated image is compared with its siblings as well as the packshot.
Fit the image cannot promise
A generated model shows how a garment could look, not how a size 38 fits a real size 38 body. Fit information stays in the size guide and the garment measurements, and for fit-critical products such as swimwear and tailoring, a generated image is never the only image on the page.
Labels, marks and releases, by kind of image
Two EU rules, one ad platform's rule and the model's contract all apply here. This is an engineer's planning summary; the legal reading belongs to your counsel.
| Kind of image | What applies | What the build does |
|---|---|---|
| A real model's photo, altered by AI: garment swapped, pose or body changed | The clearest deep fake case under Article 50(4) of the EU AI Act, so the brand, as deployer, must disclose it. The contract must allow it too: in Germany, publishing a person's picture needs their consent under § 22 KUG. | Generates only from references whose release names AI use, market and term; labels the image in the gallery; rejects any change to the body at QA |
| A generated model wearing your garment | The Act defines a deep fake as content that resembles existing persons, objects, places, entities or events and would falsely appear authentic. On-model imagery is made to look like a real photo, so I label it rather than argue the edge. | Labels it; if the person was built from a real model's reference, treats it as the row above |
| Garment only: ghost mannequin, flat lay, generated background | No person, but the definition also names objects and places: the lowest exposure, and a question for counsel, not an assumption. | Records the image type, so labels can be switched on for this type catalog-wide in one change |
| Every generated file, whatever it shows | Article 50(2): the provider of the generating system marks outputs as AI-generated in a machine-readable way, and owning the pipeline makes that you. Google Merchant Center also requires AI metadata, such as IPTC DigitalSourceType TrainedAlgorithmicMedia, on generated product images. | Writes C2PA Content Credentials and the IPTC field at export, and keeps the provenance record on the server, because marketplaces and social platforms often strip metadata on upload |
Proving it on photos you already own
Before generating anything for the store, the pipeline has to hold up against real photographs of the brand's own garments.
- Pick about thirty styles where two colorways were already shot on a model, spread across the range's fabric types: jersey, linen, prints, knits and anything sheer.
- Generate the second colorway from its packshot and the same model reference, with the look preset set to match the real shoot.
- Show the art director real and generated images side by side, unlabeled and in random order, and record which is which and which is acceptable.
- Measure color against the measured reference for both images, so the photograph's own error is on record too.
- Decide per fabric type: generate, generate and retouch, or keep shooting.
- Only then run the backlog of carryover styles, with new-season styles last.
If generated linen cannot survive a blind comparison with photographed linen, no pipeline engineering fixes that, and it is better learned in week two than after 1,600 images.
A self-serve AI model tool, or a pipeline wired into your catalog?
For a few dozen SKUs, or for campaign and social imagery, buy. Botika, Photoroom's AI Fashion Models and similar tools turn a product photo into on-model images in the browser: upload, choose a model, download, and a designer checks the result. At that volume a subscription is cheaper than anything I would build, and I would tell you so.
Those tools stop at the edge of the browser. They do not know your measured colors, cannot check a release's expiry before using a face, keep no provenance record of yours, and hand you files instead of publishing to the right variant with a label. A custom pipeline earns its cost at catalog scale: hundreds of styles in several colorways, strict color standards, licensed model references, and someone asking which published images are generated.
The two combine well. The generation step can be a vendor's API wherever its output is good for your fabrics, with the input checks, measurements, review queue, marking and publishing built around it. That keeps the vendor replaceable in a field where the best model changes every few months. The same approval queue can also carry images for the marketplace listing pipeline.
How you would know it is working
A blueprint has no results to report, so here is what I would measure from the first week instead, on your own data.
- First-pass approval rate
- Share of images approved without retouching, by fabric type: where generation works for your garments, and where a shoot is still cheaper.
- 'Looks different' returns
- Return comments about color or appearance for colorways that moved to generated imagery, against the same colorways before, on bases large enough to mean something.
- Reviewer minutes per approved image
- The real running cost. It should fall as presets improve; a sudden rise usually means a new model version is misbehaving.
- Conversion by colorway
- Product page conversion for colorways that moved from flat lay to on-model, against comparable colorways that did not, over the same weeks.
What a build like this costs
This is built as AI Workflow Automation, which runs $3.5K - $60K overall. A build like this one usually lands in the multi-step workflow tier: $15K - $30K, 3-5 weeks. The first working version runs on your real data well before the end of that window.
What it costs to run
Generation is billed per image: Google's list prices in September 2026 run from $0.039 for a 1024-pixel image on Gemini 2.5 Flash Image to $0.24 for a 4K image on Gemini 3 Pro Image, with batch jobs at half price. Four candidates per pose and a few poses per colorway multiply that, and reviewer time usually costs more than the compute.
What moves the price
- Garment complexity: jersey basics pass easily, while prints, sheers, sequins and textured knits need more checks and produce more rejects
- Whether measured color references exist, or have to be captured for the back catalog first
- The number of looks and model references, and whether releases live in a system the build can read
- Publishing targets: Shopify only, or also Google Merchant Center, marketplaces and the DAM
- Hosting: a vendor's image API, or an open-weights model on EU servers because model references may not leave your infrastructure
Who this is for
- Apparel brands that shoot the hero colorway on a model and show the rest as flat lays or ghost mannequin
- Brands with a back catalog of carryover styles that were never photographed on a person
- Teams already trying a self-serve AI model tool who need review, labeling and publishing at catalog scale
- Brands selling into the EU that must be able to say which published images are generated, and prove it
Questions people ask about this
Can AI generate on-model photos from flat lays or ghost-mannequin shots?
Yes, for many garments, and well enough for product pages when every image is checked against the real one. Jersey, shirting and simple dresses usually work; complex prints, sheers, sequins and heavy knits fail more often. So each image is measured against the packshot and a color reference and approved by a person, and garments that keep failing go back to a real shoot.
Do I have to label AI-generated model photos in the EU?
For images of people that would pass as real photos, yes. Article 50(4) of the EU AI Act requires deployers to disclose deep fakes, it has applied since 2 August 2026, and on-model imagery is made to look authentic. Separately, generated files need machine-readable marking under Article 50(2). The AI Act imagery guide goes through the cases; your counsel has the final word.
Can I use AI-generated product images on Google Shopping?
Yes, within Google's rules. Merchant Center requires images created with generative AI to contain metadata saying so, such as the IPTC DigitalSourceType value TrainedAlgorithmicMedia, and tells merchants not to remove it. It also requires images to show the product's correct color, pattern and material. The pipeline writes that metadata at export, and its color check is what makes the second rule verifiable.
Do I need a model's permission to use their likeness in AI images?
Yes. A photo of an identifiable person is personal data under GDPR, and in Germany publishing someone's picture requires their consent under § 22 of the Kunsturhebergesetz. Do not assume a release for a studio shoot covers AI generation: have it name AI use, markets, channels and term. The pipeline checks that record before every job and refuses references whose release has lapsed.
How much does an AI product photography pipeline cost to build?
It usually lands in the multi-step tier of AI workflow automation: input checks, generation, measurement, a review screen, marking and publishing. Garment complexity, the state of your color references and the number of publishing targets move it within that tier. Running costs are per image, cents to tens of cents at current list prices, plus reviewer time, usually the larger share.
Sources
- Regulation (EU) 2024/1689, the EU AI Act, Articles 3(60) and 50 (EUR-Lex)
- Faegre Drinker: Commission guidelines on Article 50 and the marking grace period
- Google Merchant Center: image link requirements, including AI-generated images
- § 22 Kunsturhebergesetz (gesetze-im-internet.de)
- Gemini API pricing (image generation)
- Photoroom AI Fashion Models