AI Footwear Photography API — Sneaker Colorway Variants
A footwear brand dropping a sneaker in 12 colorways has one studio pair photographed by its manufacturer, but the storefront needs a clean 45-degree product shot for every colorway before the drop date. Re-shooting the same silhouette a dozen times — swapping laces, midsole, and upper color while keeping the angle, shadow, and stitching detail identical — turns a single-shoe photoshoot into a full studio day. Generating each colorway from the one reference pair removes the reshoot and keeps every listing on the same lighting setup by construction.
Direct answer: a reference-guided image generation API takes one product photo as image input plus a prompt describing the target color change, and outputs a new image that holds the shoe's silhouette, panel lines, and stitching consistent while altering only the requested colorway — no separate photo shoot per variant.
How Does an API Generate Colorway Variants From One Product Photo?
Reference-guided generation anchors the output to the shape, panel geometry, and proportions of the source image, then applies the color change described in the prompt. This differs from text-to-image generation, which has no source object to match and would produce a plausible-looking sneaker rather than the exact silhouette shipping to retailers.
Material and texture cues carry through the prompt: describing "suede toe box, mesh side panel, rubber outsole" keeps the model from flattening every material into a single glossy texture when only the color is meant to change, since panel material is what distinguishes a sneaker's identity as much as its colorway does.
Which Model Fits Sneaker Product Photography?
Nano Banana Pro's reference-guided mode holds panel geometry and stitching lines consistent across color changes, which matters for footwear because a subtly warped toe box or shifted lace-eyelet spacing reads as a design flaw rather than a rendering artifact on a symmetric, well-known product shape. GPT-image-2 fits smaller instruction-based touch-ups — background swap, crop, or shadow correction — on a photo that's otherwise already final.
| Model | Mode | Resolution / price | Shape consistency | Best for |
|---|---|---|---|---|
| Nano Banana Pro | Reference-guided | 1K $0.030 / 2K $0.030 / 4K $0.042 | High | Full colorway sets from one base studio pair |
| Nano Banana 2 | Reference-guided | 1K $0.020 / 4K $0.036 | Medium-high | Lower-cost variant runs for internal review |
| GPT-image-2 | Instruction-based edit | $0.014/image | N/A (edits existing photo) | Background swap or shadow correction on a near-final shot |
For a full colorway drop, Nano Banana Pro's consistency at 2K resolution is worth the small premium over Nano Banana 2 — a slightly shifted panel line or mismatched lace color reads as a product defect to a shopper zooming in on a product detail page, not a rendering quirk.
How Do I Generate a Sneaker Colorway Variant via API?
Submit the base product photo as image input with a prompt describing the target colorway and material breakdown; the endpoint returns a job ID to poll for the finished image.
import requests
import time
API_KEY = "YOUR_GENRELAY_KEY"
BASE_URL = "https://genrelay.ai/v1"
def submit_job(image_url, prompt, model="nano-banana-pro", resolution="2k"):
r = requests.post(
f"{BASE_URL}/images/generations",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": model,
"mode": "reference-guided",
"image_url": image_url,
"prompt": prompt,
"resolution": resolution,
},
timeout=30,
)
return r.json()["id"]
def poll_job(job_id, interval=3, timeout=60):
elapsed = 0
while elapsed < timeout:
r = requests.get(
f"{BASE_URL}/images/generations/{job_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
)
data = r.json()
if data["status"] in ("completed", "failed"):
return data
time.sleep(interval)
elapsed += interval
raise TimeoutError(f"job {job_id} did not finish in {timeout}s")
job_id = submit_job(
"https://cdn.example.com/sneakers/runner-01-white.jpg",
"Same sneaker silhouette in burnt orange suede toe box and midsole, "
"black mesh side panel, white outsole, 45-degree studio angle, "
"soft even studio lighting, seamless grey background",
)
result = poll_job(job_id)
print(result.get("output_url"))
How Do I Generate a Full Colorway Set for One Silhouette?
Loop each base silhouette against the colorways it ships in, submitting with bounded concurrency so a full drop doesn't queue sequentially.
from concurrent.futures import ThreadPoolExecutor
SILHOUETTES = ["runner-01", "runner-02", "trail-01"]
COLORWAYS = [
("burnt orange suede toe, black mesh panel, white outsole"),
("navy suede toe, grey mesh panel, gum outsole"),
("all-black nubuck upper, black outsole"),
("cream suede toe, tan mesh panel, white outsole"),
]
def build_prompt(colorway):
return (
f"Same sneaker silhouette with {colorway}, 45-degree studio angle, "
"soft even studio lighting, seamless grey background"
)
def generate_variant(args):
silhouette, colorway = args
image_url = f"https://cdn.example.com/sneakers/{silhouette}.jpg"
job_id = submit_job(image_url, build_prompt(colorway))
return silhouette, colorway, poll_job(job_id)
jobs = [(s, c) for s in SILHOUETTES for c in COLORWAYS]
with ThreadPoolExecutor(max_workers=4) as pool:
results = list(pool.map(generate_variant, jobs))
for silhouette, colorway, r in results:
print(f"{silhouette} [{colorway[:20]}...]: {r.get('output_url')}")
See the batch image generation guide for retry and concurrency patterns at larger drop sizes.
How Do I Keep the Studio Angle Consistent Across a Drop?
Reusing the same angle, lighting, and background phrasing across every prompt in a batch is what keeps a product grid looking shot in one studio session rather than assembled from different sources — the model has no memory between calls, so consistency comes entirely from the prompt text staying fixed while only the varying attribute (colorway, material) changes. See the visual consistency guide for prompt-structuring patterns that extend beyond footwear to any repeated-silhouette catalog.
What Does a Full Colorway Drop Cost?
As of September 2026, GenRelay per-image pricing: Nano Banana Pro $0.030 at 1K/2K resolution, Nano Banana 2 $0.020 at 1K, GPT-image-2 $0.014.
A 3-silhouette drop across 12 colorways at 2K via Nano Banana Pro is 3 × 12 × $0.030 = $1.08. Adding a lower-cost first pass with Nano Banana 2 for internal color review before the final Nano Banana Pro render costs an extra 36 × $0.020 = $0.72, for a combined workflow total of $1.08 + $0.72 = $1.80.
| Approach | Composition | Cost |
|---|---|---|
| Nano Banana Pro only (2K) | 3 silhouettes × 12 colorways | $1.08 |
| Nano Banana 2 review pass + Pro final | 36 draft + 36 final | $1.80 |
| GPT-image-2 touch-ups only | 36 images | $0.50 |
At $1.08 for a 36-shot colorway set, generating the full drop catalog costs a fraction of a single studio session, and every colorway ships from the same angle and lighting setup by construction rather than by matching separate shoots across a photography schedule.
Internal Links
- Nano Banana Pro on GenRelay
- E-commerce product image generation API
- How to maintain visual consistency in AI-generated images
FAQ
Can the API design a new sneaker colorway that doesn't exist yet from a text description alone?
Text-to-image can produce a plausible-looking sneaker, but for cataloging an actual product, reference-guided generation from a real photo is what keeps the silhouette, panel lines, and proportions accurate to what ships.
Does it handle material texture differences like suede versus mesh accurately?
It approximates material texture based on the reference photo and the material description in the prompt; naming each panel's material explicitly keeps the model from rendering every surface as the same glossy finish.
Can one API call generate multiple angles of the same shoe?
No — each angle requires its own reference photo as input. The model varies the requested attribute (colorway, material) around a given angle rather than synthesizing new viewpoints from a single photo.
What resolution is needed for a zoomable product detail page?
2K is sufficient for most storefront zoom interactions; 4K adds a $0.012 premium per image and is worth it only for print catalogs or very aggressive pinch-zoom UX on stitching detail.
Is there a free tier to test colorway consistency before running a full drop?
Yes. GenRelay includes free credits on signup, enough to generate a handful of colorway variants from one silhouette before committing to a full drop batch.
As of September 2026. Pricing subject to change — verify current rates at genrelay.ai.