---
title: "Lifestyle product scene — Meleon Skill"
description: "Place a real product photo into a believable real-world scene, such as a cafe counter, bathroom shelf, desk or garden table, with matched light direction, colour temperature, shadows and reflections, while the product's shape, colour, label and logo stay exactly as photographed. Ten scene recipes with light notes, a draft-then-final workflow and a side-by-side fidelity check. 4:5, 1:1 or 16:9."
url: https://meleon.ai/skills/lifestyle-product-scene/
author: "Meleon AI"
---

# Lifestyle product scene

> Put your real product into a believable lifestyle scene without a photoshoot.

- Type: Image Skill
- Category: Product photos
- Version: 1.0.0 (updated 2026-10-16)
- Made by: Meleon AI (official)
- Price: Free to download. Outside costs: No cost from the Skill. The image model you send the request to may charge about 2 cents per draft and 30 cents per final image.
- Runs in: Claude Code, Codex and Cursor
- Page: https://meleon.ai/skills/lifestyle-product-scene/
- Download: https://meleon.ai/downloads/lifestyle-product-scene.zip
- Manifest: https://meleon.ai/skills/lifestyle-product-scene.json

## What it does

Place a real product photo into a believable real-world scene, such as a cafe counter, bathroom shelf, desk or garden table, with matched light direction, colour temperature, shadows and reflections, while the product's shape, colour, label and logo stay exactly as photographed. Ten scene recipes with light notes, a draft-then-final workflow and a side-by-side fidelity check. 4:5, 1:1 or 16:9.

## Made for

- Brands
- E-commerce sellers
- Creators
- Agencies

## Before you start

- You give it: Product photo
- You need: Node.js 20.9 or newer (sharp needs it); run `npm install sharp` in the Skill folder for scripts/compare.mjs.
- Cost per run: No cost from the Skill. The image model you send the request to may charge about 2 cents per draft and 30 cents per final image.
- Makes: Still image, 4:5, 1:1 or 16:9, from a product photo (openai/gpt-image-2/edit)

## Install

Run the command for your agent in a terminal. It downloads https://meleon.ai/downloads/lifestyle-product-scene.zip and unzips it into the agent's personal Skills folder.

### Claude Code

```sh
mkdir -p ~/.claude/skills && curl -fsSL https://meleon.ai/downloads/lifestyle-product-scene.zip -o /tmp/lifestyle-product-scene.zip && unzip -o /tmp/lifestyle-product-scene.zip -d ~/.claude/skills
```

Then ask Claude Code to use it: `/lifestyle-product-scene`.

### Codex

```sh
mkdir -p ~/.agents/skills && curl -fsSL https://meleon.ai/downloads/lifestyle-product-scene.zip -o /tmp/lifestyle-product-scene.zip && unzip -o /tmp/lifestyle-product-scene.zip -d ~/.agents/skills
```

Then ask Codex to use it: `$lifestyle-product-scene`.

### Cursor

```sh
mkdir -p ~/.cursor/skills && curl -fsSL https://meleon.ai/downloads/lifestyle-product-scene.zip -o /tmp/lifestyle-product-scene.zip && unzip -o /tmp/lifestyle-product-scene.zip -d ~/.cursor/skills
```

Then ask Cursor to use it: `/lifestyle-product-scene`.

## Example request

```text
/lifestyle-product-scene my coffee bag on a morning cafe counter with steam, 4:5
```

In Codex, start with `$lifestyle-product-scene` instead of `/lifestyle-product-scene`.

## Files

Every file in the package, readable before you install:

- [SKILL.md](https://meleon.ai/skills/lifestyle-product-scene/files/SKILL.md) (4.9 KB)
- [references/lighting-and-fidelity.md](https://meleon.ai/skills/lifestyle-product-scene/files/references/lighting-and-fidelity.md) (4.0 KB)
- [references/output-spec.md](https://meleon.ai/skills/lifestyle-product-scene/files/references/output-spec.md) (1.0 KB)
- [references/scenes.json](https://meleon.ai/skills/lifestyle-product-scene/files/references/scenes.json) (3.8 KB)
- [references/scenes.md](https://meleon.ai/skills/lifestyle-product-scene/files/references/scenes.md) (2.4 KB)
- [assets/example-input.webp](https://meleon.ai/skills/lifestyle-product-scene/files/assets/example-input.webp) (62.8 KB)
- [assets/generation-input.json](https://meleon.ai/skills/lifestyle-product-scene/files/assets/generation-input.json) (1.0 KB)
- [assets/preview.webp](https://meleon.ai/skills/lifestyle-product-scene/files/assets/preview.webp) (156.3 KB)
- [assets/prompt-template.md](https://meleon.ai/skills/lifestyle-product-scene/files/assets/prompt-template.md) (695 bytes)
- [scripts/build-input.mjs](https://meleon.ai/skills/lifestyle-product-scene/files/scripts/build-input.mjs) (3.8 KB)
- [scripts/compare.mjs](https://meleon.ai/skills/lifestyle-product-scene/files/scripts/compare.mjs) (1.9 KB)

## Versions

- 1.0.0 (2026-10-16)

## Instructions (SKILL.md)

Use this skill when someone has a plain photo of a real product and wants it to look as if it was shot in the real world: on a cafe counter in morning light, on a bathroom shelf, on a desk. The product stays the same. The room, the light and the shadows are new.

### What you need

- The product name.
- One product photo, as a public URL. The whole product in frame, in focus, label readable.
- A scene: one of the ten recipes in `references/scenes.md`, or the person's own description.
- The ratio: 4:5 (default), 1:1 or 16:9.
- Props, as a short list. Optional.

If the photo is missing, ask for it. Do not invent the product. If the photo shows several objects, say which one is the product.

### What you make

One still image of the same product in a real scene: 4:5 (1600 x 2000), 1:1 (2048 x 2048) or 16:9 (2048 x 1152), as a JPEG, with a side-by-side comparison against the original photo.

### How to run it

1. Read `references/scenes.md` and pick the scene recipe that fits the product and the channel.
2. If the photo is a local file, upload it to a temporary host you control to get a public https URL, and delete it afterwards. Run `node scripts/build-input.mjs --product "<name>" --image <url> --scene <id> --ratio 4:5 --draft` to print a cheap draft request. Add `--props "..."` for details such as steam or a lemon. The preview used `--scene cafe-counter --props "fresh coffee in the mug with a clearly visible soft curl of steam rising, backlit by the window"`. POST the printed JSON `input` to fal model `openai/gpt-image-2/edit` with the person's own `FAL_KEY` (this Skill never stores keys). Without a key, paste the printed prompt and the product photo into any GPT-Image-class editor that takes a reference image (the fallback model `fal-ai/nano-banana-pro/edit`, about $0.15 per image, also works: run the script with `--model fallback` to print its fields, which are `aspect_ratio` and `resolution` instead of `image_size` and `quality`). If you uploaded the photo to a public URL for this, delete it afterwards.
3. Look at the draft. Check composition, light direction and the label.
4. Run the same command without `--draft` and send it. This is the final. The defaults (4:5, 1600 x 2000, high quality) produced `assets/preview.webp`.
5. Run `node scripts/compare.mjs --input <photo> --scene <final> --output compare.jpg` and look at it. Work through `references/output-spec.md`. The product must match the photo.
6. If a check fails: max 3 attempts, change one thing per attempt (a simpler scene, one prop fewer, the fallback model via `--model fallback`; say which), view each output beside the input, then return the best one and say what still differs. Never return a scene that misrepresents the product.
7. Return the final image and the prompt you used.

### Files

- `references/scenes.md` and `references/scenes.json`: ten scene recipes with light and camera notes, and how to write a custom one.
- `references/lighting-and-fidelity.md`: matching light, keeping the product unchanged, failure modes and fixes.
- `references/output-spec.md`: sizes, format and the checklist.
- `assets/prompt-template.md`: the prompt to fill in.
- `assets/generation-input.json`: the model, sizes for each ratio, draft sizes (not below the model's minimum pixel count) and the fallback model.
- `assets/example-input.webp` and `assets/preview.webp`: a real input photo and the scene made from it.
- `scripts/build-input.mjs`: prints the full model request. It does not call any API.
- `scripts/compare.mjs`: builds the original-versus-scene side by side. Needs `sharp`.

## Related

- [Studio product shot](https://meleon.ai/skills/studio-product-shot.md): Turn any product photo into a clean, marketplace-ready shot on pure white.
- [Packaging mockup](https://meleon.ai/skills/packaging-mockup.md): See your flat packaging art as a real, photographed product.
- [Product colour variants](https://meleon.ai/skills/product-colour-variants.md): Turn one product photo into a set of colourways with everything else locked.
- [All Meleon Skills](https://meleon.ai/skills/) (index as JSON: https://meleon.ai/skills.json; site guide: https://meleon.ai/llms.txt)
