# Product photography template

**Default model:** Gemini Pro 4K for finals. Gemini Flash 2K for lighting / angle exploration. OpenAI gpt-image-1.5 with `background=transparent` when you need an immediate transparent-PNG catalog cutout.

## Required inputs

- Product (with material, color, finish description — be specific)
- Shot type (hero / lifestyle / catalog cutout / flat-lay / detail)
- Background (studio white / marble / concrete / lifestyle setting / transparent)
- Lighting setup (three-point softbox / golden hour / studio rim / overcast)
- Camera angle (eye-level / 45° / overhead flat-lay / low hero)
- Lens / aperture vibe (85mm portrait / 50mm standard / 100mm macro / wide)
- Color grade (warm / cool / neutral / brand palette)
- Aspect ratio (1:1 catalog / 4:5 social / 16:9 banner / 3:4 magazine)

## Gemini variant (narrative)

```
A [SHOT TYPE — e.g., "high-end commercial product photograph"] of [PRODUCT
WITH MATERIAL/COLOR/FINISH DETAIL] [ACTION/PRESENTATION — e.g., "resting
on", "floating against", "held in mid-air"] [SURFACE/BACKGROUND
DESCRIPTION]. Lit by [LIGHTING — e.g., "soft three-point softbox with
strong rim light from behind"], creating [SHADOW QUALITY — e.g., "subtle
contact shadow, gentle reflections on the surface"]. Captured with [LENS
— e.g., "85mm portrait lens at f/2.8"], [DEPTH OF FIELD]. [STYLE /
POST-PRODUCTION — e.g., "editorial commercial photography, cinematic
warm color grading, slight film grain"]. [COLOR PALETTE NOTES].
```

**Run with:** `--model gemini-3-pro-image-preview --aspect 1:1 --size 4K` (catalog) or `--aspect 4:5 --size 4K` (social).

## OpenAI gpt-image-1.5 variant

```
Brief: [SHOT TYPE] product photograph of [PRODUCT WITH MATERIAL/COLOR/
FINISH DETAILS].
Setting: [BACKGROUND/SURFACE].
Lighting: [LIGHTING SETUP].
Camera: [LENS, APERTURE, ANGLE].
Composition: [FRAMING — e.g., "centered, eye-level, generous padding"].
Style: [POST-PRODUCTION FEEL].
Color: [GRADING NOTES].
Constraints: realistic textures, accurate material rendering, no text,
no logos, no watermark.
```

**Run with for catalog cutout:** `--quality high --size 1024x1024 --background transparent --output-format png`.

## Filled examples

### Hero shot — premium ceramic mug

**Brief:** Matte black ceramic coffee mug, hero shot for landing page. Marble countertop, warm studio light, shallow depth of field. 1:1 catalog aspect.

**Gemini Pro prompt:**
```
A high-end commercial product photograph of a minimalist matte black
ceramic coffee mug with a slightly tapered cylindrical silhouette and
hand-formed rim, resting on a polished white Carrara marble countertop
with subtle gray veining. Lit by a soft three-point softbox setup with a
gentle rim light from behind right, creating a subtle contact shadow on
the marble and soft reflections in the matte glaze. Captured with an 85mm
portrait lens at f/2.8, shallow depth of field with the marble veining
gently blurred in the background. Style: editorial commercial e-commerce
photography, warm neutral color grading, clean minimalist composition.
Color palette: deep matte black, soft warm whites, muted gray marble
veins. 1:1 aspect.
```

### Catalog cutout — sneaker

**Brief:** Sneaker for product catalog. Pure white background, studio lit, transparent PNG for catalog overlay.

**OpenAI gpt-image-1.5 prompt:**
```
Brief: catalog product photograph of a white-and-blue running sneaker
with a knit upper and chunky white midsole.
Setting: pure white seamless studio backdrop.
Lighting: even softbox lighting from above and slightly to the left,
eliminating harsh shadows, gentle contact shadow under the sneaker.
Camera: 50mm standard lens at f/8, eye-level three-quarter view of the
sneaker (showing both the side profile and a hint of the upper).
Composition: centered, generous padding, sneaker fills 70% of the frame.
Style: clean commercial e-commerce catalog photography.
Color: accurate product colors, no color grading.
Constraints: realistic textures, accurate material rendering. No text,
no logos visible on the sneaker, no watermark.
```

**Run with:** `--quality high --size 1024x1024 --background transparent --output-format png`.

### Lifestyle hero — outdoor product

**Brief:** Stainless water bottle, lifestyle hero on a hiking trail at golden hour. 4:5 social aspect.

**Gemini Pro prompt:**
```
A lifestyle hero photograph of a brushed stainless steel insulated water
bottle with a black silicone grip band, sitting on a moss-covered rock
at the edge of a winding mountain hiking trail. The trail recedes into
soft alpine forest in the background, shallow blurred. Lit by warm
golden-hour backlight filtering through pine trees, creating a soft rim
glow on the bottle and dappled light on the moss. Subtle lens flare in
the upper-right corner. Captured with a 50mm standard lens at f/2.0,
shallow depth of field with the bottle in crisp focus. Style: outdoor
lifestyle editorial photography, warm earthy color grading, cinematic
mood. Color palette: warm golden light, deep forest greens, soft moss
tones, brushed silver accents. 4:5 aspect.
```

### Identity-preserving virtual try-on (gpt-image-1.5 strength)

For "model wearing the product" shots where the model and product images already exist, see [../reference/openai-gpt-image-1-5.md](../reference/openai-gpt-image-1-5.md) §"Cookbook verbatim edit examples — Virtual try-on." This is gpt-image-1.5's signature workflow: pass model photo + clothing photo as references with `input_fidelity=high`.

## Tips

- **Material vocabulary matters.** "Matte black ceramic" beats "black mug." "Brushed stainless steel" beats "silver." "Hand-formed rim" beats "ceramic edge."
- **Lighting vocabulary matters more.** Specifying "three-point softbox" or "golden-hour backlight" steers realism reliably. Generic "good lighting" is meaningless.
- **Don't ask for logos or product text.** The model will mangle them. Add real branding/labels in post via mockup tools.
- **For seamless backdrops**, specify color + sweep: "pure white seamless studio backdrop with subtle gradient" produces a cleaner result than "white background."
- **For `--background transparent` on OpenAI**, the model still composes a tasteful shadow into the alpha channel. Specify "subtle realistic contact shadow in the alpha (no hard cut line)" to control it.