AI Ad Creative Generation API — Banner and Social Ad Images (2026)

Sep 16, 2026·5 min read

A performance marketing team running Meta and Google campaigns typically needs 15-20 creative variants per ad set to find the two or three that actually convert — different backgrounds, different product angles, different headlines baked into the image. Commissioning that volume from a design team or freelancer usually means a multi-day turnaround per batch, which is too slow when a campaign needs fresh creative every week to avoid ad fatigue.

This guide covers model selection for ad creative, a batch generation pattern for producing multiple aspect-ratio variants from one brief, and cost math for a typical weekly creative refresh.

Which Model Should I Use for Ad Creative Generation?

Nano Banana Pro handles text-in-image reliably, which matters for ad creative that needs a headline or price callout baked into the visual rather than added as a separate overlay layer. Nano Banana 2 is the lower-cost option for background and lifestyle-scene variants where no in-image text is required, and GPT-image-2 is well suited for quick instruction-based edits — swapping a background color or product angle on a creative that's already testing well.

Model Best for 1K price 4K price In-image text
Nano Banana Pro Hero creative with headline/price text $0.030 $0.042 Reliable
Nano Banana 2 Lifestyle/background variants, no text $0.020 $0.036 Inconsistent
GPT-image-2 Fast edits on existing creative $0.014/pic $0.014/pic Inconsistent

Definition: ad creative generation means producing the visual assets used in a paid ad unit — banner, social feed image, or story/reel cover — directly from a text prompt or an edit instruction on an existing image, rather than through manual design software.

For a new campaign concept, start with Nano Banana Pro to lock in a hero creative with correct in-image text, then use GPT-image-2 for cheap iteration once you know which visual direction is converting.

How Do I Generate Multiple Ad Aspect Ratios From One Brief?

Submit the same prompt with different aspect_ratio values to cover the placements a campaign actually needs — square for feed, vertical for stories/reels, and landscape for display banners — in one batch call.

import requests
from concurrent.futures import ThreadPoolExecutor

API_KEY = "YOUR_GENRELAY_KEY"
BASE_URL = "https://genrelay.ai/v1"

PROMPT = (
    "Minimalist product shot of a wireless earbud case on a gradient "
    "coral background, bold sans-serif headline text '30% OFF TODAY', "
    "studio lighting, clean commercial ad style"
)

PLACEMENTS = {
    "feed_square": "1:1",
    "story_vertical": "9:16",
    "display_landscape": "16:9",
}

def generate(placement, ratio):
    r = requests.post(
        f"{BASE_URL}/images/generations",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "model": "nano-banana-pro",
            "prompt": PROMPT,
            "aspect_ratio": ratio,
            "resolution": "2K",
        },
        timeout=60,
    )
    return placement, r.json()

with ThreadPoolExecutor(max_workers=3) as pool:
    results = dict(pool.map(lambda kv: generate(*kv), PLACEMENTS.items()))

for placement, data in results.items():
    print(placement, data.get("data", [{}])[0].get("url"))

Once the hero creative direction is validated, generate colorway or headline variants by re-running the same prompt with the text swapped, or use an edit call against the winning image:

import requests

r = requests.post(
    "https://genrelay.ai/v1/images/edits",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "gpt-image-2",
        "image_url": "https://cdn.example.com/hero-creative.png",
        "prompt": "Change the headline text to 'LAST DAY — 30% OFF' and swap the background to teal gradient",
    },
    timeout=60,
)
print(r.json())

Cap max_workers around 3-5 for a batch this size — see the rate limits and quotas guide for the general concurrency pattern, which applies to image endpoints as well.

What Does a Weekly Ad Creative Refresh Cost?

As of September 2026, GenRelay pricing per image:

A typical weekly refresh — one hero creative at 2K across 3 aspect ratios, plus 8 GPT-image-2 edit variants for A/B testing — costs (3 × $0.030) + (8 × $0.014) = $0.202 per ad concept. Running 5 concepts per week for a mid-size campaign comes to roughly 5 × $0.202 = $1.01 per week, well under a single freelance design commission for equivalent variant volume.

Batch Composition Weekly cost
Single concept 3 ratios (Nano Banana Pro 2K) + 8 edits (GPT-image-2) $0.202
5 concepts/week Above × 5 $1.01
20 concepts/week (agency scale) Above × 20 $4.04

For campaigns needing print-resolution assets (retargeting display banners at large sizes), swap the 2K hero generation for 4K — see the image resolution API guide for the full pricing tiers.

Internal Links

FAQ

Can the API generate accurate in-image text like prices or discount codes?
Nano Banana Pro handles short, quoted text strings in prompts reliably — spell out the exact text you want in quotes (e.g. '30% OFF TODAY') rather than describing it indirectly. Longer paragraphs of text are less reliable across all current image models.

How do I keep brand colors consistent across creative variants?
Include exact color references in the prompt (hex codes or named brand colors) and, for closer consistency, use reference-guided generation with an existing on-brand asset as the reference image — see the visual consistency guide.

What aspect ratios should I generate for standard ad placements?
1:1 covers most feed placements, 9:16 covers Stories/Reels/TikTok, and 16:9 covers display and YouTube pre-roll. Generating all three from one prompt in a single batch call is the most efficient pattern.

Is there a way to test creative directions before committing to a full batch?
Yes. GenRelay includes free credits on signup, enough to generate several 2K test variants across Nano Banana Pro and GPT-image-2 before running a full weekly refresh batch.

Do generated ad images include a watermark I need to remove?
No — API output from GenRelay's supported models is delivered clean, without a visible watermark. See the no-watermark API guide for details on embedded metadata versus visible marks.


As of September 2026. Pricing subject to change — verify current rates at genrelay.ai.

Related posts

Join our DiscordAI Ad Creative Generation API — Banner and Social Ad Images (2026) — GenRelay