Per-product pipeline: for each product, Claude first reviews the actual artwork image and writes an art-director analysis of its essence (elements, palette, light, open space), then writes 2 variant(s) from what it sees (change the count in ⚙ Settings), and that product's renders start immediately while the next product is being written. Machine checks run on every result; safe to stop and resume any time — nothing already written is touched, rewrites keep the old version in History. Want more style options? Raise the variant count in ⚙ Settings and press ⚡ again — products below the new count get topped up with extra variants from different scene elements, keeping everything you have.
One image per variant, rendered with img2img on the product's own store artwork (the portrait stays untouched — only the name is added) with the test name (Clara / Michael). 6 render in parallel; failures are logged and can be retried; safe to stop and resume. Re-renders keep the old image in History.
🎨 Claude's artwork analysis
keys: 1…6 choose variant (← A · → B) · ↓ reject · space next · click image to zoom
Models & rendering
Changes save to the app and apply to the very next write / render — no redeploy needed.
The key for the chosen provider must exist as a Cloudflare secret (Settings → Variables and secrets, then redeploy): Claude → ANTHROPIC_API_KEY · ChatGPT → GPT_API (or OPENAI_API_KEY) · Qwen → QWEN_API (or DASHSCOPE_API_KEY). All models see the artwork image (vision) and follow the same rules and checks.
Applies to prompts written from now on. Products that already have prompts keep their current variants until you press ↻ regenerate on them. More variants = more Claude + render cost per product.
Status legend & how it works
| 🔴 MISSING PROMPTS | Not started — no name prompts written yet (fresh product, or you deleted its data). Press ⚡ WRITE + GENERATE. |
| 🔴 ERROR · flagged | Claude's prompts failed the machine checks twice. Press 🎨 REGEN or ⚡ to retry with a fresh attempt. |
| 🟡 NEEDS IMAGES | Prompts exist, some renders are missing or failed. ⚡ WRITE + GENERATE renders only what's missing. |
| 🔵 RENDERING… | Working right now — the row updates live when each image lands. |
| 🟠 TO REVIEW | Everything is rendered — compare the variants and ⬆ push the winner (or reject). |
| 🟢 READY | You decided — a winner is pushed (or the product is rejected). It moves to the READY section and is included in the export. |
Never-repeat memory: every variant you delete, reject, or replace with
🎨 REGEN is remembered per product and shown to Claude as a banned list — future writes must take a completely
different creative direction. This memory survives deletes and even the full reset, so discarded styles never come back.
Placement rule: the name always renders ABOVE the child, in the top part of the artwork — enforced when prompts
are written and again at render time.
⚠ Danger zone
Erases all prompts, renders, choices, pending jobs and history from the app so you can start completely fresh (for example after upgrading the prompt engine). Your products and these settings are kept. This cannot be undone.