# Light, fidelity and failure modes ## Matching light Every scene has one key light. State its direction (from the left, from behind, overhead) and its colour temperature. Then require three things in the prompt: shadows that fall away from the key, a soft contact shadow under the product, and reflections that fit the surface (a faint glow on glaze, none on matte paper). | Source | Temperature | Look | |---|---|---| | Candle, bedside lamp | 2700K | Orange, soft, low contrast | | Tungsten pendant, golden hour | 3000 to 3200K | Warm amber, long shadows | | Overcast window, frosted glass | 5000 to 5500K | Neutral, very soft | | Open shade | 6000 to 7000K | Slightly blue, flat | Mixed light (warm lamp plus cool window) looks richest and most real. Name both. ## Keeping the product exactly as it is The photo is the source of truth. The prompt says, in plain words, to keep shape, proportions, material, colour, label, logo and printed text, and not to redraw them. The skill then checks the result, because models still make small mistakes. Run `node scripts/compare.mjs --input photo.jpg --scene scene.jpg --output compare.jpg` and look at it. Check, in order: 1. Label and logo: every letter, the logo shape, the layout. 2. Shape and proportions: height-to-width ratio, corners, handle, cap, seam positions. 3. Colour and material: the product may look warmer because the room is warmer, but it must not change hue (a green sole must not turn blue). 4. Nothing added or removed: no extra buttons, straps, zips, text. 5. Scale: the product is not suddenly huge or tiny next to the props. If any fail, run it again with a lower-drama scene, or use the fallback model in `assets/generation-input.json`. Never return a scene that misrepresents the product. ## Failure modes | Symptom | Fix | |---|---| | Label text garbled or a letter changed | Re-run. If it repeats, try the fallback model, or composite the original label back | | Product floats, no contact shadow | Add "a soft contact shadow where it touches the surface" and name the surface | | Light on the product disagrees with the room | Restate the key light direction in both the scene and light lines | | Plastic, over-smooth surfaces | Add "natural film grain, real material texture", lower the number of props | | Props overlap the label | Say "props kept away from the label" and move them to the background | | Extra duplicate of the product | Say "one single product, no duplicates" | | Invented brand text on props | Remove branded props from the scene description | | Cluttered, busy background | Shorten the scene; ask for "out-of-focus background" and f/2 | ## Product types and materials | Product | Watch for | Do | |---|---|---| | Packaged goods with a label | Letters drift | Keep props away from the label; check every letter | | Glass, bottles, transparent items | The new background must show through, with correct refraction | Pick a scene with a simple background; avoid busy props behind the glass | | Glossy, metallic, mirror-like | The old room's reflections stay, the new room's do not appear | State the new reflection ("a soft window reflection on the left edge"); choose a matte surface under it | | Matte, kraft, fabric | Easy; the main risk is colour shift in warm light | Check the hue against the photo | | Skincare, small items | Look huge next to props | Add a scale cue of the right size (a towel, a hand-sized plant) | | Large items (bags, appliances) | Wrong scale on a shelf | Choose floors, counters or tables, not shelves | | Apparel and shoes | Shape drift | Use a simple surface and a low-angle shot; check seams and soles | | Food and drink | Steam, condensation, crumbs invented | Name the one detail you want, forbid the rest | | Items shot with a second object (the mug in the sample) | The model may restyle the second object | Name both objects in the product line, or crop the photo to one | ## Drafts Run `--draft` first (low quality, half size, about two cents). It answers composition, light and fidelity. Only run the full quality version once the draft is right.