AI Handbag Photography API — Color, Hardware and Strap Variants
A handbag brand has one finished studio photo of its new structured tote — black pebbled leather, gold clasp, top handles standing upright — and the season's launch needs the same bag in cognac, forest green, and a limited ivory, plus a silver-hardware option for each. Photographing every leather color and hardware finish combination means ordering sample bags in every colorway, and a limited ivory run often isn't cut until pre-orders justify it. Generating the colorway and hardware variants from the one bag already photographed shows "what does the cognac tote with silver hardware look like" before a single extra sample is stitched.
Direct answer: a reference-guided image generation API takes the existing studio handbag photo as input plus a prompt describing the new leather color, hardware finish, or strap material, and returns a new image that holds the bag's silhouette, stitching layout, and handle shape fixed while changing only the described detail — no reshoot per colorway.
How Does an API Generate Handbag Color and Hardware Variants From One Photo?
Reference-guided generation anchors the output to the bag's fixed geometry — body shape, handle height, flap or zipper placement, stitching lines — then renders the described leather color, hardware finish, or strap change around that shape. Plain text-to-image generation has no source bag to match and produces a plausible-looking handbag rather than the exact model going on sale, a real risk when a product page photo needs to match what the customer receives.
As of October 2026, GenRelay exposes three image models through one endpoint for this workflow:
| Model | Best for | 1K price | 4K price | Editing support |
|---|---|---|---|---|
| Nano Banana Pro | Reference-guided leather color, hardware, and strap swaps | $0.030 | $0.042 | Yes, strong consistency |
| Nano Banana 2 | Faster batch variants, slightly lower consistency | $0.020 | $0.036 | Yes |
| GPT-image-2 | Instruction-based edits (recolor a charm, swap a buckle) | $0.014/image | $0.014/image | Yes, instruction-driven |
Nano Banana Pro holds a bag's silhouette and stitching layout most reliably across a full leather-and-hardware change, which matters when pebbled grain and metal clasp reflections must read as the same bag in a new color. GPT-image-2 suits small, targeted edits — recoloring a bag charm or swapping a buckle finish — better than a full colorway restyle.
How Do I Call the API to Generate a Colorway Variant?
Authenticate with a bearer token and send the source photo plus a prompt describing the color or hardware change. Here's a minimal request using Nano Banana Pro:
import requests
API_KEY = "YOUR_KEY"
BASE = "https://genrelay.ai/v1"
with open("tote_studio.jpg", "rb") as f:
r = requests.post(
f"{BASE}/images/generations",
headers={"Authorization": f"Bearer {API_KEY}"},
files={"reference_image": f},
data={
"model": "nano-banana-pro",
"prompt": (
"Same structured tote, same handles and stitching, "
"leather recolored to warm cognac with pebbled grain, "
"gold clasp swapped to brushed silver, "
"studio lighting unchanged."
),
"resolution": "2k",
},
)
image_url = r.json()["data"][0]["url"]
For a full colorway lineup, batch the same reference image against a list of prompts instead of calling the endpoint one at a time:
import concurrent.futures
variants = [
"leather recolored to cognac, gold hardware unchanged",
"leather recolored to forest green, silver hardware",
"leather recolored to ivory, gold hardware, tan top handles",
]
def generate(prompt):
with open("tote_studio.jpg", "rb") as f:
r = requests.post(
f"{BASE}/images/generations",
headers={"Authorization": f"Bearer {API_KEY}"},
files={"reference_image": f},
data={"model": "nano-banana-pro", "prompt": prompt, "resolution": "2k"},
)
return r.json()["data"][0]["url"]
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as pool:
results = list(pool.map(generate, variants))
Both calls are synchronous: image generation returns a URL in the response, with no polling loop, unlike video jobs.
What Does a Full Colorway Launch Cost?
Cost scales with resolution and image count, not with how different each variant looks from the original. A launch of 3 colorways from one bag photo — 3 images — at Nano Banana Pro's 2K price of $0.030 per image costs $0.09. The same 3 images at 4K for a print lookbook cost $0.126 at $0.042 each. A brand generating one new colorway across 8 bag styles — 8 images — pays $0.24 at 2K.
| Scope | Images | Model/resolution | Total cost |
|---|---|---|---|
| One bag, 3 colorways | 3 | Nano Banana Pro, 2K | $0.09 |
| Same set, print lookbook | 3 | Nano Banana Pro, 4K | $0.126 |
| 8 styles × 1 seasonal colorway | 8 | Nano Banana Pro, 2K | $0.24 |
| 8 styles, instruction-only charm recolor | 8 | GPT-image-2 | $0.112 |
At these prices, generating a whole seasonal colorway lineup costs less than shipping one sample bag, so most brands generate the variants first and cut real leather only for the colorways that pre-sell.
How Do I Keep the Bag Recognizable Across Variants?
Keep every prompt change scoped to leather color, hardware finish, or strap material, never the body shape, handle height, or stitching layout, since those are the elements reference-guided generation is designed to hold fixed. If a variant drifts (the body gets rounder, the handles reshape), the prompt is usually too aggressive about "reimagining" the product; rephrase toward "same bag, same handles and stitching, change only the leather color and hardware."
FAQ
Does the API support video as well as photos for handbag showcases?
Yes. GenRelay's video models (Veo 3.1 Lite, Grok Imagine) can turn a still bag photo into a short flap-opening or rotating clip. See the handbag video API guide for pricing and code.
Can I edit one detail instead of restyling the whole bag?
Yes. GPT-image-2 handles instruction-based edits like "recolor the bag charm" or "swap the buckle finish" at $0.014 per image, cheaper than a full Nano Banana Pro restyle when the change is small.
Do I need to disclose that variant images are AI-generated?
Disclose AI-generated marketing images per your local advertising rules. This is a legal requirement rather than a technical one, and the images should match the real product's shape closely enough for marketing use.
What image formats does the API accept as a reference?
JPEG and PNG, up to 10MB. Output size is controlled by the resolution parameter, not by the input file size.
Is there a rate limit on generation calls?
Yes, scoped per API key. Check response headers for your current limit, and use a small thread pool (3–5 workers) for batch jobs rather than firing every request at once.
Explore the Nano Banana Pro model page for full parameter docs, or read the visual consistency guide for more on reference-guided generation across a product line.