← Articles FR
Generative AI · ComfyUI · Node.js

Generating product visuals for a Shopify store with ComfyUI, Flux2 and a DGX Spark

How I built an AI image generation pipeline integrated into a custom Node.js backoffice, to automatically produce 132 product visuals in 3 different moods for the artisan shop bymuriel.fr.

Sébastien Burel · haruni.net · March 2026

The problem: expensive and time-consuming product photos

bymuriel.fr is an artisan shop from Brittany, France, specializing in premium candles and scented wax melts. Each product comes in multiple visual moods — sand, bohemian, seashells — to match the brand's universe inspired by the Breton coastline.

The problem: shooting 44 products in 3 different moods means 132 photo sessions. For a small artisan brand, that's simply not feasible — neither in time nor budget.

The solution: an AI image generation pipeline, integrated directly into the product management backoffice, that automatically produces visuals from a simple white-background photo.

44 Products
3 Visual moods
132 Generated visuals
~5min Per image (DGX Spark)
Node.js backoffice — catalog view of 44 bymuriel.fr products with Shopify sync status
The Node.js backoffice — catalog view of 44 products with Shopify sync status

Pipeline architecture

The system relies on three components working together:

1. A custom Node.js backoffice

Rather than using the native Shopify interface, I developed a dedicated backoffice that centralizes product management, fragrances, waxes, and generation configuration. It's from this interface that Muriel manages her entire catalog — and triggers image generation.

2. ComfyUI + Flux2 on DGX Spark

The generation engine runs on an NVIDIA DGX Spark. ComfyUI orchestrates the Flux2 workflow: it takes the product's source image (white background), removes the background, and recomposes the scene with one of the defined backdrops. The DGX Spark ensures fast inference even on complex workflows.

3. The Shopify API

Once images are generated and validated, the backoffice automatically syncs the visuals to the store via the Shopify API. Each product goes through several statuses:

📷
Created
Source image uploaded
🎨
Generated
3 product visuals by ComfyUI
📝
Described
Shopify description by LLM
Validated
Review by Muriel
🚀
Synced
Pushed to Shopify

The workflow in practice

Step 1 — Upload the source image

Muriel photographs each product on a white background, simply with her phone. She uploads this image to the product page in the backoffice. That's the only manual step in the process.

Product page B0001 in the backoffice — technical information and source image
Product page B0001 — technical information, source image and generated visuals in all 3 moods

Step 2 — Generating the visuals

With a single click, the backoffice sends the image to the DGX Spark. ComfyUI runs the Flux2 workflow with three distinct background prompts:

Each prompt is crafted to keep the product strictly intact — container color, wax color, wick — and only modify the environment. This is the main challenge of this type of workflow: preventing Flux2 from "reinterpreting" the product.

The result: 3 professional-quality visuals generated in a few minutes per product.

Images section of the product page — source image and 3 generated visuals: Sand, Bohemian, Seashells
Source image (white background) and the 3 generated visuals: Sand, Bohemian, Seashells

Step 3 — Generating product descriptions

In parallel, the backoffice generates Shopify descriptions via an LLM (Claude Sonnet, Mistral, or a local model via Ollama depending on preference). The prompt includes Muriel's brand context, the fragrance's olfactory notes (top, heart, base), technical specifications (weight, wax type, fragrance load), and the brand's style guidelines.

The response is structured as JSON { title, description_html } and directly injected into the product page, ready for Shopify.

Step 4 — Shopify sync

Once the product is validated (visuals + description), syncing to Shopify is triggered with a single click. The status changes to "synced" and the product is live.

Technical challenges

Preserving the product intact

This is the number one issue with diffusion models: they tend to modify the product itself — change the glass color, add reflections that don't exist, distort the container's shape. The solution involves a very precise prompt and explicit instructions not to touch the product, combined with a masking technique that isolates the product from the background before composition.

ComfyUI prompt configuration — main template and Sand, Bohemian, Seashells backgrounds
ComfyUI prompt configuration — customizable per product family from the backoffice

Adapting prompts per product family

A candle, a wax melt, and a wax burner don't photograph the same way. The wax burner in particular is a two-part object — the wick-less wax tablet in the upper tray, the tea light candle in the lower chamber. ComfyUI prompts are configurable per family directly in the backoffice, without touching any code.

Speed on DGX Spark

Generating 3 images per product for 44 products means 132 inferences. On a consumer GPU, a model like Flux2 simply won't fit in memory. On the DGX Spark, the entire batch completes in minutes.

The result

44 products × 3 moods = 132 professional visuals, generated in a few days of development and a few minutes of generation time.

The benefit is twofold for Muriel: no more photography budget, and most importantly the ability to add a new product to her catalog in complete autonomy — upload the photo, click "Generate", validate, sync to Shopify.

Tech stack

# Image generation ComfyUI → Flux2 workflow orchestration Flux2 → Diffusion model (inpainting + composition) # Infrastructure NVIDIA DGX Spark → Blackwell GB10, 128 GB unified memory # Backoffice Node.js → Custom backoffice (Express + HTMX) Shopify API → Catalog synchronization # Text generation Claude / Mistral → Structured product descriptions

What this project illustrates

This type of pipeline — LLM + diffusion + e-commerce API — is exactly the kind of project that seemed reserved for large brands 18 months ago. Today, with ComfyUI, Flux2, and models accessible via API or locally, it becomes realistic for a small artisan business.

The real work isn't in the model itself. It's in the integration: understanding Muriel's business workflow, building the interface that fits her habits, calibrating the prompts for her brand's visual universe, and connecting all the components reliably.

That's exactly what I do at haruni.net — turning AI technologies into operational tools for real-world projects.

🤝 Have an e-commerce project?
You have a store that needs an image or product description generation pipeline? Feel free to contact me.