---
title: "Product colour variants — Meleon Skill"
description: "Turn one product photo into four to six colourways with the shape, label layout, framing and lighting locked, plus a labelled contact sheet with exact colour names. Name the parts that change and give each colour a name and hex code. Built for e-commerce colour options, line sheets and launch posts."
url: https://meleon.ai/skills/product-colour-variants/
author: "Meleon AI"
---

# Product colour variants

> Turn one product photo into a set of colourways with everything else locked.

- 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 requests to may charge about 20 cents per colourway at the default settings.
- Runs in: Claude Code, Codex and Cursor
- Page: https://meleon.ai/skills/product-colour-variants/
- Download: https://meleon.ai/downloads/product-colour-variants.zip
- Manifest: https://meleon.ai/skills/product-colour-variants.json

## What it does

Turn one product photo into four to six colourways with the shape, label layout, framing and lighting locked, plus a labelled contact sheet with exact colour names. Name the parts that change and give each colour a name and hex code. Built for e-commerce colour options, line sheets and launch posts.

## Made for

- E-commerce sellers
- Brands
- Product designers
- Agencies

## Before you start

- You give it: Product photo + colour list
- You need: Node.js 20.9 or newer (sharp needs it); run `npm install sharp` in the Skill folder for scripts/variant-sheet.mjs.
- Cost per run: No cost from the Skill. The image model you send the requests to may charge about 20 cents per colourway at the default settings.
- Makes: Still image edits, one per colour (openai/gpt-image-2/edit), and a local contact sheet

## Install

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

### Claude Code

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

Then ask Claude Code to use it: `/product-colour-variants`.

### Codex

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

Then ask Codex to use it: `$product-colour-variants`.

### Cursor

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

Then ask Cursor to use it: `/product-colour-variants`.

## Example request

```text
/product-colour-variants my sneaker in navy, coral, charcoal and mustard
```

In Codex, start with `$product-colour-variants` instead of `/product-colour-variants`.

## Files

Every file in the package, readable before you install:

- [SKILL.md](https://meleon.ai/skills/product-colour-variants/files/SKILL.md) (5.0 KB)
- [references/colourway-guide.md](https://meleon.ai/skills/product-colour-variants/files/references/colourway-guide.md) (3.7 KB)
- [references/output-spec.md](https://meleon.ai/skills/product-colour-variants/files/references/output-spec.md) (1.2 KB)
- [assets/example-input.webp](https://meleon.ai/skills/product-colour-variants/files/assets/example-input.webp) (66.9 KB)
- [assets/generation-input.json](https://meleon.ai/skills/product-colour-variants/files/assets/generation-input.json) (744 bytes)
- [assets/preview.webp](https://meleon.ai/skills/product-colour-variants/files/assets/preview.webp) (154.6 KB)
- [assets/prompt-template.md](https://meleon.ai/skills/product-colour-variants/files/assets/prompt-template.md) (595 bytes)
- [scripts/build-input.mjs](https://meleon.ai/skills/product-colour-variants/files/scripts/build-input.mjs) (3.5 KB)
- [scripts/variant-sheet.mjs](https://meleon.ai/skills/product-colour-variants/files/scripts/variant-sheet.mjs) (4.2 KB)

## Versions

- 1.0.0 (2026-10-16)

## Instructions (SKILL.md)

Use this skill when someone has one photo of a product and needs it in several colours: a launch with six colour options, a line sheet, a listing that has not been photographed in every colour yet.

### What you need

- The product name.
- One clean product photo, as a public URL. Plain or white background, even light, whole product in frame. If the photo has a busy background, make a clean one first with the `studio-product-shot` Skill.
- Which parts change colour, described by position ("the three side panels and the midsole").
- Four to six colours, each with a name and a hex code, for example `Navy=#1B2A4A`.

If the photo or the colour list is missing, ask. Do not invent colours or the product.

### What you make

- One image per colourway, 1024 x 1024 JPEG, framing and lighting matching the input photo.
- A labelled contact sheet of all colourways (2000 px wide, names drawn locally, cells keep the photo's ratio, nothing cropped).

The preview was made from the studio-product-shot output of the same sneaker photo (that white-background shot is `assets/example-input.webp`).

### How to run it

0. If the photo's background is not plain, run the `studio-product-shot` Skill first. Use its output as the input photo: if you need a public URL, upload it to a temporary host you control and delete it when you have the colourways.
1. Read `references/colourway-guide.md`. Decide which parts change and which are locked.
2. Run `node scripts/build-input.mjs --product "<name>" --image <url> --recolour "<parts>" --colour "Navy=#1B2A4A" --colour "Coral=#E0523A" --draft` to print one low-quality request per colour. POST each printed `input` to fal model `openai/gpt-image-2/edit` with the person's own `FAL_KEY` (this Skill never stores keys). Colours without a hex code make the model guess the shade: always give one. Without a key, paste each printed prompt and the product photo into any GPT-Image-class editor that takes a reference image. Check one draft before you spend on the rest. If you uploaded the photo to a public URL for this, delete it afterwards.
3. When the draft is right, run the same command without `--draft` and send every request. The defaults (1024 x 1024, high quality) produced `assets/preview.webp`. Always edit the original photo, never a previous colourway.
4. Put the original beside each colourway and work through `references/output-spec.md`. Re-run only the colourways that fail.
5. If a colourway fails: max 3 attempts, change one thing per attempt (say what; one option is the fallback model `fal-ai/nano-banana-pro/edit`, about $0.15 per image, via `--model fallback`, which prints `aspect_ratio` and `resolution` instead of `image_size` and `quality`), view each output beside the input, then return the best and say what still differs.
6. Run `node scripts/variant-sheet.mjs --output sheet.jpg --variant "Navy=navy.jpg" --variant "Coral=coral.jpg" ...` to build the contact sheet.
7. Return the colourway images and the sheet. Say that the model re-renders the product, so very fine details can differ slightly from the photo.

### Files

- `references/colourway-guide.md`: naming parts, choosing colours, materials, failure modes.
- `references/output-spec.md`: sizes and the checklist.
- `assets/prompt-template.md`: the prompt for one colourway.
- `assets/generation-input.json`: the model, size, quality, draft settings and fallback.
- `assets/example-input.webp` and `assets/preview.webp`: the white-background studio shot of a real sneaker photo (the actual input) and the colourway sheet made from it.
- `scripts/build-input.mjs`: prints one request per colour. It does not call any API.
- `scripts/variant-sheet.mjs`: builds the labelled contact sheet. Needs `sharp`.

## Related

- [Lifestyle product scene](https://meleon.ai/skills/lifestyle-product-scene.md): Put your real product into a believable lifestyle scene without a photoshoot.
- [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.
- [All Meleon Skills](https://meleon.ai/skills/) (index as JSON: https://meleon.ai/skills.json; site guide: https://meleon.ai/llms.txt)
