ProductImage type — including shot_type, AI-generated alt_text, and an optional cleaned_url that shows a centered product on a clean background.
Shot types
Every image is classified into ashot_type so you can curate what shoppers see. Building a scrollable grid? Prefer hero images. Want a mood-board feel? Try lifestyle. Filter out size_chart from carousels. Use on_model for fit and virtual try-on flows.
Each product can have multiple images across types. Read shot_type on any image in the images array:
TypeScript
RelevanceLevel.MAJOR (relevance score 4), with AI-analyzed, displayable images.
| Shot type | Examples | |
|---|---|---|
heroPrimary product shot — usually front-facing on a clean background. | ||
lifestyleStyled or environmental context — editorial settings and mood shots. | ||
on_modelModel wearing the product — useful for fit and virtual try-on. | ||
detailClose-up of fabric, stitching, hardware, or texture. | ||
flat_layProduct photographed flat from above. | ||
in_useProduct actively being used, worn, or opened in context. | ||
scale_referenceSize context — dimensions annotated or shown next to reference objects. | ||
packagingProduct in retail box, bag, or packaging. | ||
size_chartSizing tables or measurement diagrams. | ||
product_informationSpecs, features, or infographics about the product. | ||
merchant_informationRetailer marketing — banners, warranties, and store messaging (not the product itself). |
Cleaned images
Cleaned images have:- Square aspect ratio
- Uniform background
- Centered product
ProductImage as cleaned_url. The url field stays the regular hosted hero shot; use cleaned_url in product grids.
is_cleaned_image is deprecated and always false. Use cleaned_url ?? url for product grids.
Take nordstrom.com on our dashboard. Before cleaned images, the product grid is good, but bad aspect ratios stick out and on-model shots break up the layout.

Before: inconsistent aspect ratios and on-model shots break up the grid.

After: every tile is a square, monochromatic lay-flat shot.
Prefer cleaned images in grids
When displaying search or similar-product results, pick the cleaned image when one is available:TypeScript
images — search, lookup, and product detail all expose the same ProductImage model.
Migration: Older API responses duplicated cleaned shots as a second
images[] entry with is_cleaned_image: true. That duplicate row is removed;
use cleaned_url ?? url on the original shot instead. The is_cleaned_image
field remains for backward compatibility but is always false.