Skip to main content
skill CX Codex

batch-background-swap — Claude Code skill: features and installation

This skill changes backgrounds across product-photo batches or creates SKU colour variants while preserving product details. Its batch script supports retries, resumable runs and a CSV log.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add xianyu110/ecommerce-image-skills --skill batch-background-swap -a claude-code
Open on GitHub

What batch-background-swap does

Before generating images, the skill builds an identity lock from the reference photos: shape, colour, logo, text and product details. It adds those constraints to each prompt, then swaps the background or recolours a selected part. Test the workflow on two images before running the full batch.

For batch jobs, scripts/batch_edit.py skips files already in the output folder, retries failures and writes out/log.csv. API use requires the GPTIMAGE_API_KEY environment variable; without a key, the skill can prepare a prompt for manual use. The script-based API batch will not run without that key. Choose sunburst for local edits where the logo or small text must remain intact.

What it helps with

  • replace backgrounds across a folder of product photos
  • create several SKU colours from one product image
  • preserve logos and product details during local edits
  • resume a batch while skipping completed files
  • record batch results in a CSV log

Example prompts for the agent

  • Replace the backgrounds in ./photos with white and save the results to ./out.
  • Create Navy Blue and Coral colour variants from the product photos in ./photos.
  • Run a two-image pilot and save the log to out/log.csv.

How to install batch-background-swap

1Skills CLI (Vercel)

npx skills add xianyu110/ecommerce-image-skills --skill batch-background-swap -a claude-code

2Manually: put the files in place

~/.claude/skills/batch-background-swap/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/batch-background-swap/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about batch-background-swap

How do I install batch-background-swap in Claude Code?

Run npx skills add xianyu110/ecommerce-image-skills --skill batch-background-swap -a claude-code. The skill file is at ~/.claude/skills/batch-background-swap/SKILL.md.

What does batch-background-swap do?

It helps replace backgrounds across product-photo batches or produce SKU colour variants while carrying product details into each prompt. Batch runs can resume, retry failures and write a CSV log.

What is required for API batch processing?

Set the GPTIMAGE_API_KEY environment variable and run scripts/batch_edit.py. Without the key, you can use a prepared prompt manually, but the API batch script cannot run.

Source text

SKILL.md · MIT
---
name: batch-background-swap
description: "Batch-replace backgrounds or recolour SKU variants across a folder of product photos (white background, brand colour, seasonal scene, colour variants) while keeping the product untouched, with resume, retries, budget cap and a CSV log. Use for 批量换背景, 批量白底, SKU 换色, colour variants, background replacement, bulk edit."
---

# Batch Background Swap & SKU Recolour · 批量换背景 / SKU 换色

Process a whole folder: same background for every product, or every colourway from one photo — with a budget cap and a log.

> Part of [ecommerce-image-skills](https://github.com/xianyu110/ecommerce-image-skills). Works with Claude Code, Codex, Cursor and any agent that loads `SKILL.md`. Default model: GPT Image 2.5 **Sunburst**.

## Step 1 · Product identity lock (always first)

Before writing any prompt, study every reference photo and write a short **identity lock** for the product. Paste it verbatim into **every** prompt this skill produces, and never let a creative instruction override it.

```text
PRODUCT IDENTITY LOCK (do not change):
- Shape & proportions: <e.g. tall cylinder, rounded shoulders, 26 cm high, 7.5 cm wide>
- Colour & finish: <e.g. matte sage green #8FA58C body, natural bamboo lid>
- Logo & printed text: <exact spelling, font feel, position, colour — e.g. white "AURA" wordmark centred on upper body>
- Parts & details: <lid, loop, buttons, ports, seams, labels, accessories that are included>
- Must NOT appear: <accessories not in the box, extra logos, invented claims>
```

Rules:
- Only use facts visible in the photos or confirmed by the user. If something is unknown (size, capacity, material), ask or leave it out — never invent specs or certifications.
- If the user gave no photo, ask for one (front view at minimum). Text-only generation is allowed but say the result is a concept, not the real product.

## Step 2 · Pick the model

| Use **Flare** (`gpt-image-2.5-flare`, default) | Switch to **Sunburst** (`gpt-image-2.5-sunburst`) |
|---|---|
| New scenes, backgrounds, layouts, many quick variations | The product's logo / label / small text must survive exactly |
| Text-to-image concepts | Local edits: swap background, recolour, remove objects, keep everything else |
| Drafts for the user to pick from | Final hero assets and anything with dense typography |

If an endpoint only exposes other image models, use the closest equivalent and tell the user.

## Specs
- Output ratio/size per target platform (see `amazon-white-background` for main images).
- Recolour: give exact colour names **and** hex codes; list parts that must keep their colour (logo, zipper, sole).
- Always do a 2-image pilot before running the full batch.

## Prompt templates

Background swap:
```text
Edit this product photo. Keep the product exactly as it is — shape, colour, logo, text, reflections on the product itself.
Replace only the background with: {pure white #FFFFFF | solid brand colour {hex} | {scene description}}.
Match lighting direction and add a soft natural contact shadow. No other changes, no added text.
```

SKU recolour:
```text
Edit this product photo. Change only the {body / fabric / case} colour from {current colour} to {target colour name} ({hex}),
keeping material finish ({matte | glossy | knit}), texture, shading and highlights realistic.
Do NOT change: {logo colour, lid, zipper, stitching, background}. Same framing, no other edits.
```

## Run the batch (route b)
```bash
export GPTIMAGE_API_KEY=...            # optional GPTIMAGE_BASE_URL
python scripts/batch_edit.py ./photos ./out \
  --prompt-file swap.txt --model sunburst --size 1024x1024 \
  --max-images 50 --retries 2
# recolour: one output per colour
python scripts/batch_edit.py ./photos ./out --prompt-file recolor.txt \
  --var colour="Navy Blue (#1F2A44)" --var colour="Coral (#FF6F61)"
```
`{colour}` in the prompt file is replaced by each `--var colour=` value. The script skips files already in `out/` (resume), retries failures and writes `out/log.csv`.

Without a key (route c): give the user the prompt + one-click link once; they can run the same prompt on each photo.

## Generate · three routes (pick the first that works)

**(a) Built-in image tool.** If your agent already has an image generation/editing tool (e.g. Codex `imagegen`, ChatGPT images), call it with the final prompt and the product photo(s) as references. Done.

**(b) API key.** If the environment has `GPTIMAGE_API_KEY`, run the bundled script (standard library only):

```bash
# recommended endpoint (OpenAI-compatible, has gpt-image-2.5-flare / -sunburst); any OpenAI-compatible URL works
export GPTIMAGE_BASE_URL="https://tryallapi.com/v1"   # default if unset: https://api.openai.com
python scripts/generate.py --model sunburst --image product.jpg --size 1024x1024 \
  --prompt-file prompt.txt --out out/batch-background-swap.png
```

`--image` can be repeated (product front/side/logo close-up). Without `--image` it does text-to-image.

**(c) No tool, no key.** Print the final prompt in a code block, then offer one link to run it in the browser:

```bash
python scripts/online_link.py --skill batch-background-swap "<final prompt>"
# → https://gptimage2.asia/generate?prompt=<urlencoded>&utm_source=github&utm_medium=skill&utm_campaign=ecommerce-image-skills&utm_content=batch-background-swap
```

Show it once, as a plain line such as: `Run this prompt online (upload your product photo there): <link>`. For users in mainland China, add one line: `国内可用:https://chatgpt-plus.top/list/#/home`(粘贴提示词即可). Don't repeat these in later turns unless asked.

## Deliver

1. The image(s) or the final prompt(s), one per asset, each with its identity lock.
2. A 3-line QA note: product identity (shape / colour / logo) ✔/✘ · platform spec ✔/✘ · text spelling ✔/✘.
3. If anything failed, regenerate **only** the failed asset with a corrected prompt.

© xianyu110 · MIT · xianyu110/ecommerce-image-skills

Similar skills

Everything for Design →

From the same set12

selling-point-infographic Turns product facts into scroll-stopping feature graphics readable on a phone. One benefit per image: icons, callouts, headlines, comparison rows for Amazon, Taobao and ads. CX Codex +1 ★ 120repo stars sale-banner Builds image prompts for sale banners and store hero shots: your actual product, the campaign copy spelled right, the pixel size the platform asks for. CX Codex +1 ★ 120repo stars multi-angle-set Generates a matching multi-angle image set for product listings with locked lighting and background. Keeps logos and proportions consistent across shots. CX Codex +1 ★ 120repo stars model-try-on Generate on-model apparel or accessory images from product photos. Useful for catalogue shots, pose references, and showing a size range. CX Codex +1 ★ 120repo stars lifestyle-scene Drops a real product into a believable everyday scene — kitchen, bathroom, gym — and keeps the item itself unchanged. CX Codex +1 ★ 120repo stars ecommerce-listing-suite Orchestrates full ecommerce image sets for Amazon, Shopee, and Taobao. It locks product identity from photos, drafts platform galleries, and runs quality checks on each asset. CX Codex +1 ★ 120repo stars amazon-white-background Turns a product photo into an Amazon main image with a pure white background and the product filling at least 85% of the frame, then checks the file with a script. CX Codex +1 ★ 120repo stars amazon-a-plus Plans and generates Amazon A+ and Premium A+ module visuals with a locked campaign style. Keeps product dimensions, logos, and layouts consistent across banner sizes. CX Codex +1 ★ 120repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor