ChatGPT image style transfer: restyle a photo by API

For style transfer with ChatGPT Image 2.5 by API, send the photo as an input reference and name the new style in the prompt. The request and its limits.

4 min readSume
All posts

Style transfer with ChatGPT Image 2.5 is an image edit: send your photo as an input_references item to POST /v1/images, and write the new style in the prompt, for example "make this scene look like a watercolor painting". Sume has no separate style-transfer route or style parameter; the style lives in your words and in an optional second reference.

The request shape comes from the Image API docs, read 2026-09-29. On the same date OpenAI's launch page says Images 2.5 is described as working from reference photos to transform familiar subjects across new settings, visual styles and compositions. That is OpenAI's claim about its model; check your own results.

What does a style-transfer request look like?

The docs' own image-to-image example is exactly this case, a watercolor restyle. Use the GPT Image 2.5 id and set aspect_ratio: "auto" so the output matches the photo's shape; the docs say omitting the field is not the same as sending auto.

curl -X POST "https://api.sume.com/v1/images" \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-image-2.5",
    "prompt": "Make this scene look like a watercolor painting. Keep the people, pose and layout.",
    "input_references": [
      { "type": "image_url", "image_url": { "url": "https://example.com/photo.jpg" } }
    ],
    "aspect_ratio": "auto"
  }'

How do I keep the subject while changing the style?

Say what must stay in the prompt, as the example does: the people, the pose, the layout. OpenAI's page describes the model as preserving subjects in reference photos, but it does not promise any particular result for a given style, so keep the prompt explicit.

If the edit should touch only one region, add mask_url; see GPT Image mask edit API.

Can I copy the style of a second image?

Both GPT Image 2.5 ids take up to 16 reference images. Send the photo first and a style example after it, then say in the prompt which image is the subject and which is the style. Nothing in the docs turns a second image into a style-only input, so the prompt has to assign the roles. More on that in GPT Image 2.5 reference images.

What are the limits?

Reference URLs must be public HTTPS; localhost, private-network and non-HTTPS URLs are rejected before submission. A request that sets a field the model does not list gets 400 unsupported_parameter.

From Image API, read 2026-09-29.
ItemGPT Image 2.5 on Sume
Model idsopenai/gpt-image-2.5 (Flare), openai/gpt-image-2.5-sunburst
Reference imagesUp to 16
Optional maskmask_url, public HTTPS
qualityauto, low, medium, high, xhigh, max; omitted means high
Slow callsPast 30 seconds the call returns 202 and a job

How much does one restyle cost?

Image calls are billed per image at the endpoint pricing, and a failed generation is not billed. Cost depends on quality and size; see GPT Image 2.5 API price for the reserve at each level. Because each try is billed when it completes, test a style on a lower quality value first, then re-run the keeper at the level you need.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume