Which Sume image model for a photo edit: mask, references or pixels?

Pick between ChatGPT Image 2.5, Ideogram 4.5 and Nano Banana 2 for a photo edit on Sume by what the edit needs: a mask, many references, or untouched pixels.

4 min readSume
All posts

Start from what the edit needs

Three needs decide the model for a photo edit: a mask over one area, a pile of reference images, or a promise that untouched pixels stay as they were. Sume's catalog covers all three, and a short script reads the catalog so you do not have to remember which model has which field.

Sume's Image API docs say a model only accepts the parameters its catalog descriptors list, so read supported_parameters before sending a field. A field the model does not list returns 400 unsupported_parameter.

Vendor pages say what each model is built for. Google's Gemini API docs list Nano Banana 2 as gemini-3.1-flash-image with up to 10 object images and up to 4 character images. Ideogram's API overview says pixels an edit does not touch are copied exactly and allows up to four reference images. OpenAI's guide covers masks for GPT Image.

Ask the catalog which models take a mask

GET /v1/images/models returns each model with a supported_parameters object. This script lists the ids that publish mask_url; change the field name to background or input_references to answer the other two questions. Per the docs, mask_url and background are live on ChatGPT Image 2.5 only.

import os
import requests

resp = requests.get(
    "https://api.sume.com/v1/images/models",
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
    timeout=30,
)
resp.raise_for_status()
for model in resp.json()["data"]:
    if "mask_url" in model["supported_parameters"]:
        print(model["id"])

A decision table from the vendor pages and Sume docs

Use this as a starting point and run the same photo on two models for anything important.

Which model for which edit (Sume docs and vendor pages, read 2026-10-03)
NeedModel on SumeWhy
Mask over one regionopenai/gpt-image-2.5-sunburstmask_url is live on ChatGPT Image 2.5 only
Many referencesopenai/gpt-image-2.5-sunburstUp to 16 references on this model
Exact untouched pixelsideogram/ideogram-v4.5Vendor says untouched pixels are copied exactly
Object and character setsgoogle/nano-banana-2Google lists 10 object and 4 character images

Test with your own photo

Tables only narrow the choice. Run your actual photo on two models with the same prompt and compare the areas you care about, such as text, edges and faces. Failed generations are not billed, so a rejected request costs nothing.

Quality and the first try

On ChatGPT Image 2.5 the quality field takes auto, low, medium, high, xhigh or max, and leaving it out means high. For a first pass at a layout idea, a lower tier is a reasonable way to look at composition before you pay for a final render.

Keep the source photo, the prompt and the response together for each option. That makes it easy to rerun the one you pick at a higher quality tier.

Sync, jobs and the bill

Treat the response code as the switch. 200 means the image body is in the response. 202 means a job was created because the 30-second wait ran out, and the image is read later from GET /v1/jobs/{id}/result.

A completed image is billed in full and a failed or cancelled one is not. The charge shown in usage.cost is provider list price times 1.25, so you can log it per edit and sum a batch from those numbers.

Sources

Related posts

More in Models

All Models posts

Written by Sume