Google Pics API? Edit one object with Nano Banana on Sume

Google's Pics announcement describes an app, not an API. The closest call on Sume: Nano Banana reference edits, or a GPT Image 2.5 mask for one region.

5 min readSume
All posts

Google Pics is an app, not an API: Google's announcement describes an image tool at pics.new and inside Docs and Slides, built on its Nano Banana model, and the page names no developer endpoint. If you want the same kind of edit from code, the closest call on Sume is POST /v1/images with input_references and a plain-language change request, or, for one exact region, openai/gpt-image-2.5 with a mask_url.

Everything about Pics below comes from Google's announcement, read 2026-10-03. Everything about Sume comes from the Image API docs.

What Google says Pics does

The announcement lists four things: you can isolate an object and transform it without altering the rest of the image, modify or translate text inside an image without disrupting the design, share a creation so teammates can edit the same image, and get several options from a single prompt. The page does not say how objects are separated internally, so this post does not either.

Pics features from Google's page, and the Sume call that comes closest (read 2026-10-03)
Pics feature (Google)Closest Sume callDifference
Isolate one object and transform itgpt-image-2.5 with input_references + mask_urlA mask is supported on ChatGPT Image 2.5 only; other models take the prompt alone
Modify or translate text in an imageAn edit call that names the old and new textOne call per edit; no live text layer
Several options from one promptn greater than 1The per-model ceiling is in the catalog
Collaborative editing of one imageJobs under one workspaceEach edit is a new job, not a shared canvas

The edit call

Send the source as a public HTTPS URL in input_references, describe only the change, and say what must stay the same. The docs state that reference URLs must be public HTTPS; localhost, private-network and non-HTTPS URLs are rejected before submission. ChatGPT Image 2.5 accepts up to 16 references and an optional mask_url.

import os
import requests

key = os.environ["SUME_API_KEY"]
payload = {
    "model": "openai/gpt-image-2.5",
    "prompt": "Replace only the masked mug with a blue ceramic mug; keep everything else unchanged",
    "input_references": [
        {
            "type": "image_url",
            "image_url": {
                "url": "https://example.com/desk.png"
            }
        }
    ],
    "mask_url": "https://example.com/desk-mask.png",
    "quality": "medium"
}
resp = requests.post(
    "https://api.sume.com/v1/images",
    headers={"Authorization": f"Bearer {key}"},
    json=payload,
    timeout=60,
)
if resp.status_code == 200:
    print([item["url"] for item in resp.json()["data"]])
elif resp.status_code == 202:
    print("still running:", resp.json()["data"]["status_url"])
else:
    print(resp.status_code, resp.text)

Limits to plan for

Sume has no object-layer canvas. Every edit regenerates the image through the model you choose, so unchanged regions are preserved by instruction and mask, not by a layer. The route waits up to 30 seconds and answers 200 with the image, or 202 with a job envelope you read from the status and result URLs, so branch on the status code, as the Jobs and results page explains.

Which model sits behind Pics is Google's to state; Sume's catalog lists google/nano-banana-2 and google/nano-banana-pro as separate ids, and nothing here claims they match what Pics runs.

Sources

Related posts

More in Models

All Models posts

Written by Sume