A pattern worth knowing if you generate product images. The rejections almost never come from bad lighting. They come from four things the model added on its own, all of which Amazon publishes as main-image standards: 1. Background. Pure white, RGB 255, 255, 255. Image models love a soft grey-to-white gradient because it looks like a real studio. It is not pure white and it does not pass. 2. Frame fill. The product has to occupy at least 85% of the image. Models like breathing room and will pad the composition. 3. Added elements. No text, logos, watermarks, borders or badges. Watch how often a model invents a label for a bottle it has never seen. 4. Extra objects. Nothing in shot that is not in the box. The eucalyptus sprig, the linen, the second jar - all props, all out. Now the useful bit, because you probably already knew those four. Go and look at where they sit in your prompt. In almost every prompt I have seen, they are in the same sentence as the style direction: "...on a clean white background, no props or text, product centred and filling most of the frame, styled like a premium wellness brand with soft directional light..." Everything in that sentence is negotiating with everything else. Swap "premium wellness" for "clinical minimal" and the model re-reads the whole line, and the constraints move with the style. That is the mechanism behind the thing that annoys everyone: the same prompt producing a compliant image one day and a gradient the next. The fix is structural, not a better sentence. Separate the blocks. Product facts in one. Style in one. Constraints in one, as explicit values rather than prose - background: #FFFFFF, frame_fill: 0.85 minimum, prohibited: text, logo, watermark, border, props. Then change the style block as often as you want. The constraint block never moves, so compliance stops being something you audit after the render. That structure is the whole reason ProductJSON Studio exists. It is free and it runs on your own key, so it costs nothing to test the split on a prompt you already use: