Why AI product photos drift
An image model does not paste your product into a scene. It draws it again from the reference, every time. Shapes are usually kept; the details that make a product yours are the first to go: the exact colour, the number of items, and above all the label, because a label is text and image models draw text as shapes.
In our tests a grey shoe came out a lighter grey, a single shoe became a pair, and a perfume's name came back with different letters. None of these is rare. They are the normal output of an unchecked drawing, which is why the check matters more than the prompt.
Choose the model for fidelity, not speed
We drew the same packshot in the same scene with three Google image models:
| Model | Size | Time | Result |
|---|---|---|---|
| gemini-2.5-flash-image | 896 x 1152 | 9.7 s | Drew a pair of shoes where the photo had one |
| gemini-3.1-flash-image | 1856 x 2304 | 16 s | Exact |
| gemini-3-pro-image | 1856 x 2304 | 25 s | Exact, but slower |
Hyzgen's Product Photoshoot uses the second at 2K, about $0.10 a picture at Google's list price. The cheaper model is fine for a scene in a video; it is not good enough for a photo a customer will compare with the box in their hands.
Give it clean references
- One to three photos. A clear front for the label, and other angles for a shape that matters in 3D.
- No transparency. Flatten a transparent PNG onto white first; saved as JPEG, its background turned black.
- No empty margins. Trim plain borders so the product fills the reference.
- Say what kind of product it is. A physical product must be drawn as an object in the scene. Without that, one shoe packshot came back as a photo of the shoe on a phone lying on a trail.
Watch the "no text" rule. Scene prompts often end with "no text in the image", which is right for a background and wrong for a product: under it, a model handed an app screenshot returned a blank device. Say instead that the model adds no text of its own, and the only lettering is what is already on the product.
Write a shot list before you draw
Asked for "four photos", a model repeats itself. Hyzgen first has a writing model act as art director: one shot per photo, each with its own setting, props, light and lens, from a set of styles (studio, podium, at home, outdoors, in hand, on a person, flat lay, dark and moody, festive). Only then is each shot drawn around the real photos.
Name colours in words. The brand colour goes into the shot list as "deep brick red", not as a hex code: given "#C21010", the model wrote the code into the scene as text.
Draw at the shape you will use
Asking for a shape in the prompt does not work with Gemini's image models: "framed as a vertical 9:16 image" came back 1024 x 1024, and cropping it to 9:16 threw half the picture away. The shape goes in the request's aspect ratio setting. With it, 9:16 came back 768 x 1344 from the standard model, and the 2K model returned 1856 x 2304 for 4:5 and 2752 x 1536 for 16:9. More in our guide to ad sizes.
Check every photo, then reshoot once
After each drawing, a vision model compares the photo with the reference photos: the shape, the colours and every letter of the label. A photo that fails is drawn once more at Hyzgen's cost, with the reason added to the prompt. The grey shoe that came out lighter was reshot this way and passed.
Show the result of the check to the person, too. Each photo in Hyzgen carries "Matches your product" or "Check the product" with the reason, so nobody publishes a lookalike by accident.