# Product Shot Lab > One phone photo of a product becomes a complete e-commerce listing image set, rendered with gpt-image-2. > https://product-shot-lab.skillsafe.ai/ ## What it does 1. The seller attaches one to four photos of a product and picks the shots the listing needs — the five every listing has (packshot, lifestyle, detail, scale, alternate angle) plus optional flat lay, packaging and hero banner — and the marketplace (Amazon, Shopify, Etsy, Instagram). 2. One text run on `gpt-terra`, with the photos attached, writes a **product card** — shape, materials, colours, the exact label text, and three to six facts every render must keep — and one **brief per shot** following the camera angle, lighting, shadow and background conventions of the `product-photography` skill and the category's own rules. 3. Every brief is editable and is checked in the browser: a packshot that is not on pure white for a white-packshot marketplace is blocked, props or added text in a packshot are flagged, lighting that fights the category is flagged, and any fact from the card the brief dropped is flagged — because the renderer will invent it. 4. Each shot is rendered with `gpt-image-2` on its own, or the whole set in listing order. ## Why it is two-legged, and what that means An image-generation run on this platform refuses attachments. There is no image-in/image-out call. So the photo goes to the READER (a text model) and only words go to the RENDERER. Every shot is a new photograph of the product described in the card — not an edit of the seller's photo. The card is how the seller checks that nothing was lost, and the "must stay true" facts are what the brief checker measures against. A side effect: this app cannot reproduce a photograph or a person. ## Runs and prices - `task: "describe"` on `gpt-terra` with `$files` — one run per set; attachments add about 35 credits each to the hold. - `$model: "gpt-image"` — one run per shot; the hold is per picture and does not depend on the brief. Template briefs, the card form, every check and every export are free and work signed out. ## Sources Shot types, camera angles, lighting setups, shadow types, backgrounds, the e-commerce image set and the per-category conventions follow the `product-photography` skill in github.com/inference-sh/skills, with the eachlabs product-photography skills as a secondary reference. Neither repository declares a licence; this app is an original implementation that credits them as its design sources and copies none of their code. ## Pages - / — the lab - /api.html — driving it programmatically - /tokens.html — token management (noindex) - /describe-prompt.js — the exact reading guide sent to the model