AI-Powered Image Generation for Customizable Grocery Products
instacart · E-commerce · 2024 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.4 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Grocery retail product imagery
Instacart's FoodStorm needed a practical way for grocery retailers to create images for customizable prepared-food products where professional photography for every filling, topping, side, banner, and thumbnail was impractical.
Constraints:
- professional photographs of real products remain the authenticity standard
- customizable grocery items create many possible product configurations
- retailers need a non-technical UI for image generation
- vague prompts produce misaligned product images
- generated images can contain visual artifacts and must be inspected
- images must be optimized and distributed across multiple Instacart surfaces
Architecture
Instacart integrated generative image creation into FoodStorm through its internal Pixel text-to-image service. Pixel abstracts access to multiple image models, including Google Imagen, and includes acceptable-use controls for prompts. FoodStorm added a Create AI Image dialog on top of the existing image upload component so retailers can enter and refine prompts, preview multiple generated variations, inspect a larger selected image for errors, accept terms of use, and publish optimized images across Instacart customer and in-store surfaces.
Diagram confidence: reconstructed (reconstructed from prose).
flowchart LR foodstorm-oms["foodstorm-oms"] --> image-upload-component["image-upload-component"] image-upload-component --> create-ai-image-dialog["create-ai-image-dialog"] create-ai-image-dialog --> prompt-refinement-ui["prompt-refinement-ui"] create-ai-image-dialog --> terms-of-use-gate["terms-of-use-gate"] create-ai-image-dialog --> pixel-service["pixel-service"] pixel-service --> acceptable-use-controls["acceptable-use-controls"] pixel-service --> google-imagen["google-imagen"] create-ai-image-dialog --> variation-preview["variation-preview"] variation-preview --> large-detail-preview["large-detail-preview"] large-detail-preview --> post-generation-processing["post-generation-processing"] post-generation-processing --> content-delivery-network["content-delivery-network"] content-delivery-network --> platform-publishing["platform-publishing"] platform-publishing --> foodstorm-oms
Components
| Component | Role | Interacts with |
|---|---|---|
foodstorm-oms |
Order Management System where grocery retailers manage customizable prepared-food products and imagery. | image-upload-component, create-ai-image-dialog, platform-publishing |
image-upload-component |
Existing FoodStorm image workflow extended so upload locations can also create AI images. | foodstorm-oms, create-ai-image-dialog |
create-ai-image-dialog |
Retailer-facing dialog for entering prompts, generating variations, previewing selected images, and accepting terms. | image-upload-component, prompt-refinement-ui, pixel-service, variation-preview, terms-of-use-gate |
prompt-refinement-ui |
Prompt entry/editing surface that lets users specify product details such as ingredient type, cut, and background. | create-ai-image-dialog |
pixel-service |
Instacart internal text-to-image service with model access and acceptable-use prompt controls. | create-ai-image-dialog, google-imagen, acceptable-use-controls |
google-imagen |
Image-generation model noted for food components and white-background product imagery. | pixel-service |
acceptable-use-controls |
Prompt governance layer inside Pixel for acceptable image-generation use. | pixel-service |
variation-preview |
Best-of-n style preview surface where users compare multiple generated options. | create-ai-image-dialog, large-detail-preview |
large-detail-preview |
Larger inspection view for spotting artifacts and image errors before publication. | variation-preview, post-generation-processing |
terms-of-use-gate |
Legal/compliance step requiring users to agree to terms before using AI image generation. | create-ai-image-dialog |
post-generation-processing |
Compresses and scales generated images for web performance. | large-detail-preview, content-delivery-network |
content-delivery-network |
Serves generated images efficiently to Instacart surfaces. | post-generation-processing, platform-publishing |
platform-publishing |
Publishes accepted images to Instacart App, Storefront, Storefront Pro, and FoodStorm Kiosk. | foodstorm-oms, content-delivery-network |
Data flow
A FoodStorm retailer opens the existing image upload flow and chooses Create AI Image. The retailer enters a prompt, ideally with product form and background details such as sliced monterey jack cheese on a white background. FoodStorm calls Pixel, which routes to image models such as Google Imagen under acceptable-use prompt controls. The UI returns multiple variations, the retailer selects one, expands the preview to inspect details and artifacts, and only then publishes. After generation, FoodStorm compresses and scales the image, serves it through the CDN, and makes it available across Instacart App, Storefront, Storefront Pro, and FoodStorm Kiosk.
4 supporting quotes
Why this architecture
Instacart used an internal model abstraction and embedded UI because the hard problem was not just model access; it was making image generation controllable and usable by retailers inside their existing product-image workflow. Pixel supplied governed access to image models, while FoodStorm supplied prompt refinement, multiple variations, larger previews, legal gating, and CDN-ready publishing.
4 supporting quotes
Models used: Google Imagen · Pixel text-to-image models
Scale
- The UI went through three iterations: one-click generation, prompt fine-tuning with variations, and larger detail preview.“Our initial design allowed for one-click AI image generation for any sandwich fillings”article, stated“We then landed on a third iteration that also provides a larger preview of the selected image.”article, stated
- Generated images can be published across four named Instacart surfaces: App, Storefront, Storefront Pro, and FoodStorm Kiosk.“AI-generated images can be published across the Instacart Platform, including the Instacart App, Storefront & Storefront Pro and FoodStorm Kiosk for in-store ordering.”article, stated
Alternatives considered (roads not taken)
Professional photography for every configuration
Rejected because: Professional photography remains best for real products, but sourcing images for every customizable filling, topping, side, and configuration is impractical.
One-click generation from ingredient names
Rejected because: Simple prompts like cheese were too vague about product type, form, and presentation.
Get Anthony Super’s stories in your inbox
Join Medium for free to get updates from this writer."
— article, stated
First generated image as the final answer
Rejected because: AI image models can miss details or produce artifacts, so users need multiple variations and inspection before publishing.
Patterns
model-routing (model access)
FoodStorm does not integrate directly with one image model; it calls Pixel, an internal service that provides access to multiple text-to-image models including Google Imagen.
safety-policy-enforcement (safety)
Pixel includes acceptable-use controls for prompts, and FoodStorm requires users to agree to terms before using the image-generation feature.
human-in-the-loop-gate (quality)
Retailers choose among multiple variations and inspect a larger preview before publishing generated images.
prompt-versioning (prompting)
The case does not describe versioned prompt artifacts, but it does show prompt refinement as a first-class UI behavior: users move from vague ingredient names to detailed prompts.
latency-optimization (delivery)
Post-generation compression, scaling, and CDN delivery optimize generated images for web use after a human accepts them.
Tradeoffs
Use AI for component and promotional imagery
Chose generated images for fillings, toppings, sides, hero images, promotions, category thumbnails, and banners over photographing every customizable configuration.
Rationale: Generative imagery covers long-tail visual gaps where full photography would be expensive or impractical, while real product photos remain preferred for authenticity.
3 supporting quotes
Embed generation in the existing upload flow
Chose Create AI Image inside the image upload component over a separate standalone image-generation tool.
Rationale: Embedding the capability where users already manage product images lowers workflow friction and makes generation available anywhere upload was already supported.
Expose prompt details to retailers
Chose user-controlled prompt refinement over one-click generation with hidden prompt assumptions.
Rationale: Retailers need to specify product form and visual context to get images that match their actual offerings.
Gotchas (what bit them)
Domain shorthand makes bad prompts.
Root cause: Retailers know what cheese means in context, but the model needs explicit details about type, preparation, and visual presentation.
Resolution: The UI lets users fine-tune prompts with specific product and background details.
Generated food images can contain plausible but wrong artifacts.
Root cause: Image models are nondeterministic and may misinterpret the subject or add unexpected objects.
Resolution: FoodStorm provides multiple variations and a larger inspection preview so users can reject flawed generations.
AI images should not be positioned as a replacement for real product photography.
Root cause: Generated images can help visualize components, but real products need authentic photography for trust and accuracy.
Resolution: Instacart frames the feature as a complement for fillings, toppings, sides, hero images, banners, and thumbnails with quality controls.
Evaluation
Evaluation is primarily human-in-the-loop: internal tests validated Google Imagen's ability to generate food components and white-background images, then users preview multiple variations and inspect selected images for artifacts before publishing. No quantitative model metrics are provided.
Metrics: human selection of generated variations · manual artifact inspection · white-background suitability · terms acceptance before use
3 supporting quotes
Outcomes
- FoodStorm retailers can create AI images wherever they previously uploaded images.
- The system supports ingredient/component images, hero images, promotional content, category thumbnails, and banners.
- Accepted images can be published across Instacart App, Storefront, Storefront Pro, and FoodStorm Kiosk.
- The author reports that the feature enabled FoodStorm to produce promotional visuals effortlessly.
The source gives no adoption counts, latency, cost, or conversion metrics. It does state the feature went through three UI iterations and publishes across four named Instacart surfaces.