Shopify Product Imagery with AI: The End-to-End Workflow
By the ORA Lab team · Updated 19 September 2026 · 9 min read
Key takeaways
- The workflow is a pipeline with five stations: capture, generate, gate, format, publish. Most teams improvise the last three and lose the value the first two created.
- Every PDP wants the same stack: a clean hero on white or neutral, two to three context or worn frames, a detail crop, and a short loop, in that order, telling one product's story.
- Variants are where Shopify imagery discipline pays: each colourway gets its own hero anchored to its own capture, never a colour-shifted copy of another variant's photo.
- Alt text is the workflow's free SEO: describe the product factually per image at publish time, when context is fresh, not in a retrofit sprint a year later.
- Page speed is an imagery decision: modern formats, sane dimensions, and lean file sizes keep the richest PDP fast, and fast pages convert the imagery you worked for.
Shopify made publishing a store trivial and left the hard part untouched: filling it with imagery that sells. A typical store's product pages still betray the production reality behind them, one good hero shot from launch week, a phone photo added later, variants sharing one image because the reshoot never happened. Generation solves the supply problem, as the rest of this library argues at length. This guide is about the plumbing that turns that supply into a well-run store: the end-to-end workflow from capture session to published page, with the Shopify-specific decisions (specs, variants, alt text, speed) handled once and systematised.
The five stations
| Station | What happens | The discipline |
|---|---|---|
| Capture | One clean session per physical product or variant | The [standard checklist](/blog/jewellery-photo-prep-checklist-for-ai): sharp, square-on, colour-lit |
| Generate | Scenes, worn frames, and detail crops from each capture | One [locked look](/blog/hints-vs-prompts-art-direction) across the catalog; scene variety per product, style variety never |
| Gate | Fidelity checks before anything is store-bound | The [count and colour tests](/blog/ai-product-photo-fidelity-checklist) at zoom, plus category-specific checks |
| Format | Crop, size, and compress per placement | One master per image, cut to spec; never resize upward |
| Publish | Upload, order, alt text, variant assignment | The PDP stack in its fixed order, metadata written while context is fresh |
Specs that keep you out of trouble
- Dimensions: 2048 by 2048 pixels square is the safe standard for product images, large enough for Shopify's zoom, small enough to serve fast. Go larger only if your theme's zoom genuinely uses it.
- Aspect ratio: pick one ratio per store (square is the default for good reason) and hold it across every product, because mixed ratios make collection grids ragged and read as neglect.
- Format: upload modern compressed formats; Shopify serves WebP/AVIF variants via its CDN, but a lean source file keeps originals manageable and previews honest.
- File size: keep product images comfortably under half a megabyte after compression; hero images earn more budget than gallery frames.
- Consistency beats maximums: a catalog of identical 2048 squares at consistent quality outperforms a mix of 4K heroes and 800-pixel strays on every metric that matters, per the resolution rules.
The PDP stack, in order
Every product page tells its story in the same sequence, and the ghost-mannequin-versus-worn logic supplies the plot: verify, then desire. First position, the hero: the product clean on white or a neutral brand surface, the frame that represents the product in grids, search, and shared links. Second and third, context: the product in its world, a styled scene or room, and worn or in-use where the category wants it. Fourth, the detail crop: the zoom the buyer was going to attempt anyway, pre-framed, clasp, grain, stone field, stitching. Fifth, motion where it earns its place: the six-to-eight-second loop breathing under the add-to-cart button. Five to seven frames total; more dilutes, fewer under-answers. The whole stack generates from one capture, which is the point: the marginal product page stops being a photography project and becomes an hour of directed generation plus the gate.
Variants, the discipline that separates stores
Shopify's variant system lets each colourway carry its own images, and the difference between stores that use it properly and stores that fake it is visible at a glance. The rule: every physical variant gets its own capture, and every variant image traces to its own capture. The tempting shortcut, generating the navy version by colour-shifting the black one, fails exactly where colour truth matters most: dyes sit differently on materials, hardware contrasts change, and the customer who receives a navy that is nothing like the listing's navy is a return with a review attached. Capture cost per variant is one packshot, not a session; the generation layer then gives each variant its full stack in the same scenes, which is precisely the multiplication economics that make the discipline affordable for the first time.
Alt text and the metadata pass
- Write alt text at publish time, per image, describing what the frame factually shows: 'gold vermeil pendant on a model, close crop on collarbone' beats both emptiness and keyword soup.
- Lead with the product, include the variant: material, product type, colourway, then the frame's context. Search engines and screen readers both want the same sentence.
- Name files before upload: sku-variant-frame (meridian-navy-hero) survives exports, apps, and audits; IMG_4302 does not.
- Skip alt text only on genuinely decorative frames, and keep the product's structured data pointing at the hero, consistent with the marketplace-grade discipline applied storewide.
- Do the pass while context is fresh: publish-time metadata costs seconds per image; the retrofit sprint across 400 products costs a sprint.
Speed, the silent conversion partner
Everything above serves a page that must also load fast, because imagery that converts in principle loses to a spinner in practice. The workflow's speed decisions are already made if you followed the specs: sane dimensions, compressed sources, one ratio, and loops kept short and muted. Two additions complete it: let your theme lazy-load below-the-fold gallery frames (Shopify themes largely do this by default; verify rather than assume), and resist the temptation to stack ten frames because generation made them cheap; five to seven well-chosen frames serve both the story and the speed budget. Test the PDP on a phone over ordinary mobile data once per template change, the same honest-device habit the ad-spec guide prescribes for creative. If you would rather receive the whole pipeline as a service, capture guidance in, publish-ready stacks out, that is the shape of what ORA runs for Shopify brands: with your store URL and your two most neglected product pages, and we will show you their finished stacks first.
Frequently asked questions
- What image size should I use for Shopify product photos?
- 2048 by 2048 pixels square is the reliable standard: large enough for Shopify's zoom feature, small enough to serve quickly, and consistent grids come free. Keep compressed file sizes comfortably under half a megabyte, hold one aspect ratio across the whole store, and let Shopify's CDN handle format conversion from a clean source.
- How many images should a Shopify product page have?
- Five to seven, in a fixed order: a clean hero on white or neutral, two or three context or worn frames, a detail crop pre-framing the zoom buyers attempt anyway, and optionally a short silent loop. Fewer under-answers the buyer's questions; more dilutes the story and the page-speed budget.
- Should each product variant have its own images on Shopify?
- Yes, anchored to its own capture: photograph each colourway once and generate its full stack from that photo. Never colour-shift another variant's image, because dyes, contrast, and hardware relationships change per colour and the mismatch becomes returns. One packshot per variant is the entire capture cost.
- How do I write alt text for AI-generated product images?
- The same way as for photographs, factually and per image: product first with material and colourway, then what the frame shows ('teak lounge chair in a sunlit reading corner'). Write it at publish time when context is fresh, name files by sku-variant-frame before upload, and skip only genuinely decorative frames.
- Do AI product images slow down a Shopify store?
- Not inherently: generated images are ordinary files, and the speed outcomes are decided by your specs. Consistent 2048 squares, compression under half a megabyte, one ratio, lazy-loaded galleries, and short muted loops keep even a rich PDP fast. The risk is volume temptation: generation makes frames cheap, but the page-speed budget still prefers five to seven good ones.