AI Beverage Photography API — Bottle and Can Variants

Oct 4, 2026·6 min read

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.

Related posts

Join our DiscordAI Beverage Photography API — Bottle and Can Variants — GenRelay