Pinterest visual search ads: a transparent-background product cutout
Visual search ads match your product by its look. Ask for background: transparent on openai/gpt-image-2.5 and keep a clean PNG cutout of each item.

For a clean product cutout to use in Pinterest visual search ads, call POST /v1/images with model: "openai/gpt-image-2.5", background: "transparent" and output_format: "png". The Image API page lists background: auto|transparent|opaque for ChatGPT Image 2.5 on Sume. A trade tracker lists Pinterest visual search ads as a planned beta (read 2026-10-06), so I do not claim any Pinterest requirement for the format; the point here is a clean, reusable asset.
Sume facts: Image API: generate and edit images. Pinterest note: Social media platform updates, October 2026 (read 2026-10-06).
Why a cutout helps a visual-search format
A search that matches by appearance rewards an image where the product is the clear subject. A cutout removes the room, the hand and the props, and you can then place the same item on any backdrop later without regenerating it. It also gives your design tools one master per SKU instead of one image per scene.
How to send it
Send the real product photo as an input_references item (a public HTTPS URL), tell the model to keep the object unchanged and remove everything around it, and set the background field. If the model or endpoint you choose does not list background in its catalog descriptors, Sume answers 400 unsupported_parameter instead of quietly ignoring it, so check GET /v1/images/models for the model first. The image doc also points to Image 1.0 with transparency: true as the other route for transparent stills.
import json, os, urllib.request
body = {
"model": "openai/gpt-image-2.5",
"prompt": "Cut this exact product out. Keep shape, colour and label "
"unchanged. Remove everything else.",
"input_references": [
{"type": "image_url",
"image_url": {"url": "https://media.sume.com/img/demo/lamp-photo.jpg"}}
],
"background": "transparent",
"output_format": "png",
"aspect_ratio": "auto",
}
req = urllib.request.Request(
"https://api.sume.com/v1/images",
data=json.dumps(body).encode(),
headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"],
"Content-Type": "application/json"},
)
with urllib.request.urlopen(req) as r:
res = json.load(r)
print(res["data"][0]["url"], res["data"][0]["media_type"])
Format and size choices
The Image API page lists output_format as png, jpeg, webp or svg, and a sample response in the docs returns media_type next to each URL. Use png for a transparent cutout: jpeg has no alpha channel, so a transparent request saved as jpeg would defeat the purpose. Read media_type on the response rather than trusting the file extension in the URL (Image API: generate and edit images).
For sizes, GPT Image 2.5 on Sume takes image_size as a named preset, auto, or custom pixels where both edges are multiples of 16, the longest edge is at most 3840, the ratio is at most 3:1 and the image holds 655,360 to 8,294,400 pixels. For a master cutout, a square at a moderate size is enough; you can regenerate a larger one for the few SKUs that need it.
Quality defaults to high when omitted, with low, medium, xhigh and max available. For a plain object on a transparent field, medium is a sensible first test, and you raise it only if edges look soft. Pricing for the model is token-based, so check the Image API page for the current rates before you run a catalogue.
Checking the edges
Open the PNG on a dark and a light background. Fringes of the old backdrop show against the opposite colour. Check that thin parts, such as handles, cords and chain links, were not cut away, and that the label text is the same as in the source. If one edge is wrong, rerun that single SKU rather than the whole set.
| Parameter | Value | If unsupported |
|---|---|---|
| background | transparent | 400 unsupported_parameter |
| output_format | png | Pick a listed format |
| aspect_ratio | auto on edits | Omitting it is not the same as auto |
| input_references | 1 product photo | Public HTTPS URL only |
| Response | 200 with data[].url, or 202 job | Branch on status code |
Where the cutout goes next
Once you have the transparent PNG, you can reuse it for other things: a lifestyle backdrop through a second image call with the cutout as the reference, a first frame for a short video, or a catalogue tile. For a whole catalogue, run SKUs through one queue with a stable key per SKU so a restart does not make you pay twice. A stored post covers 25 Etsy-style listings cut out and restyled in one go.
Sources
Related posts
More in Use cases
- Podcast network: transcripts, cover art and stings for 12 episodes
12 episodes of 45 minutes, four Ideogram 4.5 cover options each and three music stings each cost about $14.24 a month on Sume. Unit prices and the sum.
- Print-on-demand: 200 designs a month on Ideogram 4.5, plus cutouts
200 text-on-shirt designs a month cost about $16 at Ideogram 4.5 medium or $58 at high on Sume, plus $4.75 for cutouts. The budget, line by line.
- Product video for ecommerce: a white-background photo to 9:16
Turn a white-background product photo into a 5-second vertical scene with POST /v1/videos, seedance-2 and an image_url input reference.
- Real-estate agent, 25 listings a month: staged photos and voiceover
25 listings with six AI-edited photos, a voiceover and a music bed cost about $14.60 a month on Sume. Unit prices and the sum.
Written by Sume