Transparent background AI image on Sume: GPT Image 2.5 field

Only the GPT Image 2.5 rows take background on Sume's image route. OpenAI says transparency needs png or webp output. A request and an alpha check in Python.

4 min readSume
All posts

Send background: "transparent" to openai/gpt-image-2.5 or its Sunburst twin, and ask for png or webp output. Sume's docs list the background field, with values auto, transparent and opaque, as supported by the GPT Image 2.5 rows. OpenAI's guide (read 2026-10-06) says transparency works through the background setting with a png or webp output format.

Other rows will not take it. A model that does not list background returns 400 unsupported_parameter.

Which format carries the transparency

Background and output format, from Sume and OpenAI docs read 2026-10-06
SettingAccepted valuesNotes
background on Sumeauto, transparent, opaqueGPT Image 2.5 rows only
output_format on Sumepng, jpeg, webp, svg in the schema; each row lists its ownRead the row's descriptor
OpenAI transparencybackground: transparent with png or webpjpeg has no alpha channel
Other rowsNot accepted400 unsupported_parameter

Request it and test the alpha

The script asks for a transparent png and checks that the file has an alpha channel with at least some transparent pixels. If it does not, the check fails instead of letting a white box ship.

import io, os, requests
from PIL import Image

key = os.environ.get("SUME_API_KEY")
if not key:
    raise SystemExit("set SUME_API_KEY")
r = requests.post(
    "https://api.sume.com/v1/images",
    headers={"Authorization": f"Bearer {key}"},
    json={"model": "openai/gpt-image-2.5", "quality": "medium",
          "background": "transparent", "output_format": "png",
          "prompt": "Single sticker of a red kite, no shadow, no background"},
    timeout=90,
)
print(r.status_code)
r.raise_for_status()
im = Image.open(io.BytesIO(requests.get(r.json()["data"][0]["url"], timeout=60).content))
alpha = im.convert("RGBA").getchannel("A")
low = alpha.getextrema()[0]
print(im.mode, "min alpha", low)
assert low < 255, "no transparent pixels"

When it comes back opaque

  • Check you asked for png or webp and not jpeg.
  • Say it in the prompt too: a single object, no background, no floor shadow.
  • A 202 envelope means you have to fetch the result from the job before you can test the file.
  • Preview on a checkerboard or a dark color, because a white page hides a white fringe.

Where transparent images earn their keep

Stickers, product cutouts and icons are the usual jobs, since you can place the file on any page color without a separate cutout step. They are also the jobs where a hidden fringe of background color shows up most, so look at the edges on both a light and a dark surface before you publish.

Keep the transparent master and export flattened copies from it when a channel needs a solid background. Going the other way means regenerating.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume