AI Beverage Photography API — Bottle and Can Variants
A craft soda brand has one clean studio photo of its flagship bottle on a white backdrop, and the launch plan calls for four more flavor labels, a condensation-beaded version for summer ads, and an ice-bucket variant for the holiday catalog — all before the next bottling run makes the other four flavors physically available to photograph. Booking a studio day and a photographer per flavor label costs more than most beverage brands budget for a seasonal refresh, and the retail listing deadline doesn't move for a shoot that can't happen until the product exists. Generating the label and scene variants from the one bottle already photographed answers "what does the full lineup look like on the shelf" without reshooting anything.
Direct answer: a reference-guided image generation API takes the existing studio bottle or can photo as input plus a prompt describing the new label, condensation, ice, or backdrop, and returns a new image that holds the container's shape and cap fixed while changing only the described surface or scene — no reshoot per flavor, no waiting on physical stock.
How Does an API Generate Beverage Variants From One Studio Photo?
Reference-guided generation anchors the output to the container's fixed geometry — the bottle's shape, cap, and label placement — then renders the described change around it. This differs from plain text-to-image generation, which has no source bottle to match and would produce a plausible-looking bottle rather than the exact SKU shipping to retailers, a real risk when a listing photo needs to match the can a customer picks off the shelf.
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 label, condensation, and scene 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 (swap a label color, add a logo) | $0.014/image | $0.014/image | Yes, instruction-driven |
Nano Banana Pro holds bottle and can geometry most reliably across a full label change, which matters when a cap color or a neck label needs to stay consistent while the body artwork changes per flavor. GPT-image-2 fits small, targeted edits — swapping a single label color or adding a seasonal sticker — better than a full scene restyle.
How Do I Call the API to Generate a Flavor Label Variant?
Authenticate with a bearer token and send the source photo plus a prompt describing the label or scene change. Here's a minimal working request using Nano Banana Pro:
import requests
API_KEY = "YOUR_KEY"
BASE = "https://genrelay.ai/v1"
with open("soda_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 bottle, same shape and cap, label recolored to "
"deep purple with grape artwork, condensation beads "
"on the glass, studio lighting unchanged."
),
"resolution": "2k",
},
)
job = r.json()
image_url = job["data"][0]["url"]
For a full flavor lineup, batch the same reference image against a list of prompts rather than calling the endpoint one at a time:
import concurrent.futures
flavors = [
"label recolored to deep purple with grape artwork, condensation beads",
"label recolored to bright yellow with lemon artwork, no condensation",
"label recolored to red with cherry artwork, ice bucket in background",
]
def generate(prompt):
with open("soda_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, flavors))
Both calls are synchronous — image generation returns a URL directly in the response rather than requiring a polling loop, unlike video generation jobs.
What Does a Full Flavor Launch Cost?
Cost scales with resolution and image count, not with how different each label looks from the studio original. A beverage brand launching 5 flavor variants from one bottle photo — 5 images — at Nano Banana Pro's 2K price of $0.030 per image costs $0.15 for the full set. Running the same 5 images at 4K for print catalog use costs $0.21 at $0.042 per image. A retailer generating a condensation and an ice-bucket variant across 8 SKUs — 16 images — costs $0.48 at 2K.
| Scope | Images | Model/resolution | Total cost |
|---|---|---|---|
| Single bottle, 5 flavor labels | 5 | Nano Banana Pro, 2K | $0.15 |
| Same set, print-quality | 5 | Nano Banana Pro, 4K | $0.21 |
| 8 SKUs × condensation + ice variant | 16 | Nano Banana Pro, 2K | $0.48 |
| 8 SKUs, instruction-only label swap | 8 | GPT-image-2 | $0.112 |
At this price point, generating a full flavor lineup costs less than a single reshoot of one bottle, which is why most beverage brands generate the label variants first and reserve a physical shoot for the flavors that sell well enough to justify it.
How Do I Keep the Bottle Recognizable Across Variants?
Keep every prompt change scoped to the label artwork, condensation, ice, or background — never the bottle's shape, cap, or proportions — since those are exactly the elements reference-guided generation is designed to hold fixed. If a variant starts drifting (a cap changes color, the bottle neck gets longer), the fix is almost always a prompt that's too aggressive about "reimagining" the container rather than relabeling it; rephrase toward "same bottle, same shape and cap, change only the label and surrounding scene."
FAQ
Does the API support video, not just photos, for beverage product showcases?
Yes — GenRelay's video models (Veo 3.1 Lite, Grok Imagine) can turn a still bottle or can photo into a short pour or steam clip. See the coffee and beverage video API guide for pricing and code.
Can I edit a specific detail instead of restyling the whole label?
Yes — GPT-image-2 handles instruction-based edits like "change the label color to red" or "add a seasonal sticker" at $0.014 per image, cheaper than a full Nano Banana Pro restyle when the change is small.
Will the generated bottle pass as the real product to a customer comparing it to the one they receive?
It should match the container's real shape and cap closely enough for marketing use, but disclose AI-generated marketing images per your local advertising rules — this is a legal, not technical, requirement.
What image formats does the API accept as a reference?
JPEG and PNG, up to 10MB. Larger source files should be downsized before upload; resolution of the output is controlled by the resolution parameter, not the input file size.
Is there a rate limit on reference-guided generation calls?
Yes, scoped per API key — check response headers for your current limit, and use a thread pool with a small max_workers count (3–5) for batch jobs rather than firing all requests simultaneously.
Explore the Nano Banana Pro model page for full parameter docs, or read the AI image editing API guide for more on GPT-image-2's instruction-based edits.