Bumper sticker art: a 3:1 strip at 1536x512 on GPT Image 2.5

Make a wide bumper sticker on Sume with GPT Image 2.5 at a custom 1536x512 size, why 3:1 is its widest shape, and what to do for longer stickers.

5 min readSume
All posts

For a bumper sticker, ask GPT Image 2.5 on Sume for a custom size such as 1536x512, which is exactly 3:1 and the widest shape the model accepts. Send it as image_size: {"width": 1536, "height": 512} to openai/gpt-image-2.5, keep the slogan short and quoted, and crop in code if your sticker is longer than 3:1.

The rules come from the Sume Image API docs: for custom pixels on ChatGPT Image 2.5 both edges must be multiples of 16, the maximum edge is 3840, the aspect ratio can be at most 3:1, and the image must have between 655,360 and 8,294,400 pixels. GPT Image 2.5 is listed on fal as OpenAI's default image model, with quality tiers low, medium, high, xhigh and max (read 2026-10-06, fal).

Check a size against the rules

1536 and 512 are both multiples of 16 (96 and 32 times 16). The ratio is 3.0, which is allowed. The pixel count is 786,432, which sits inside the allowed range. A size like 1920x480 is 4:1 and would be refused, and 1280x320 has only 409,600 pixels, which is under the minimum.

Candidate bumper sticker sizes against GPT Image 2.5 rules, read 2026-10-06
SizeRatioPixelsAccepted
1536x5123.0:1786,432Yes
1920x6403.0:11,228,800Yes
1920x4804.0:1921,600No, wider than 3:1
1280x3204.0:1409,600No, wider than 3:1 and under 655,360

The request

Quote the slogan. Ask for a flat design with a solid background, since stickers are printed in flat color and a busy background makes the text harder to read. Keep the slogan under six words; a long line shrinks the letters, and a sticker is read from a moving car, so the type has to be big. Run a few variants of the slogan at medium quality and pick the one that reads fastest when you shrink it to thumbnail size on your screen.

import os
import requests

body = {
    "model": "openai/gpt-image-2.5",
    "prompt": (
        'Flat bumper sticker design, white background, bold black block '
        'letters reading "I BRAKE FOR YARD SALES" with a small red '
        'stop sign icon at the left. No other text.'
    ),
    "image_size": {"width": 1536, "height": 512},
    "quality": "medium",
}
r = requests.post(
    "https://api.sume.com/v1/images",
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
    json=body,
    timeout=60,
)
print(r.status_code)
print(r.json()["data"][0]["url"] if r.status_code == 200 else r.text[:300])

A real bumper sticker is longer than 3:1

A common bumper sticker is about 11.5 by 3 inches, which is roughly 3.8:1. That is past the 3:1 limit. Generate at 3:1, then place the image inside a longer canvas in Pillow, and fill the extra length with the same solid color, or crop the top and bottom if the art has margin. Do not ask the API for 4:1 on this model; expect the request to be rejected rather than resized, since the catalog sets what a model accepts and Sume does not silently change a parameter.

Check the sticker vendor's requirements for pixel size and file type. Sume returns PNG by default; if you need a transparent background, GPT Image 2.5 accepts background: "transparent" according to the docs, and no other Sume image model advertises that field.

Steps for a longer sticker

If your sticker is longer than 3:1, a short, repeatable recipe beats guessing.

  • Generate at 1536x512 with the slogan quoted and a solid background.
  • Open the file in Pillow and create a new canvas at the sticker's real ratio.
  • Fill the canvas with the same flat color as the art's background.
  • Paste the art in the middle, so the extra length becomes even margins.
  • Export a PNG at the vendor's pixel size and proof it on screen at full length.

Cost and iterations

Quality changes the price. The Sume docs give example output costs at 1024x1024 for the highest tiers, and say input tokens and Sume pricing come on top. For a sticker, try medium first; the type is large and flat, so a high tier may add nothing. Read the endpoint pricing for the billed amount per image before you run a batch, and remember a completed generation is billed in full even if you dislike the result.

Sources

Related posts

More in Models

All Models posts

Written by Sume