Change a garment's colour in a photo with a mask_url edit
Recolour clothing with a mask: send the photo as an input reference, a public HTTPS mask_url, and a colour prompt to ChatGPT Image 2.5 on POST /v1/images.

Send the original photo in input_references, a mask of the garment as mask_url, and a prompt that names the new colour, to POST /v1/images with openai/gpt-image-2.5. mask_url is documented only for ChatGPT Image 2.5 edits, and it must be a public HTTPS URL.
Details are from Sume's image docs, read 2026-10-01. The docs do not say which mask pixels mark the editable area, so test with one image before running a batch.
What does the request need?
The mask only covers the garment, so the prompt can stay short: name the item and the target colour, and say everything else stays the same.
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": "Change the jacket to deep green. Keep fabric texture, folds, skin and background unchanged.",
"input_references": [
{ "type": "image_url",
"image_url": { "url": "https://media.sume.com/artifacts/artf_demo/model.png" } }
],
"mask_url": "https://media.sume.com/artifacts/artf_demo/jacket-mask.png",
"aspect_ratio": "4:5"
}'Which limits apply to the edit?
| Input | What the docs say |
|---|---|
mask_url | Optional public HTTPS mask URL for ChatGPT Image 2.5 edits |
| References | Up to 16 images |
aspect_ratio | Normalized ratios include 1:1, 16:9, 9:16, 3:4, 4:5 and more |
| URL rule | Reference URLs must be public HTTPS; localhost and private-network URLs are rejected |
| Model ids | openai/gpt-image-2.5 and openai/gpt-image-2.5-sunburst |
How do I make several colourways?
Reuse the same photo and mask, and change only the colour in the prompt, one request per colourway. Keep the rest of the prompt identical so the differences you see come from the colour. For a catalogue workflow without masks, see product colour changer colourways.
How should I check the result?
Compare each output with the source at full size: look at seams, buttons, logos and edges where the mask meets skin or background. Runway's own changelog lists GPT Image 2.5 with up to 16 reference images, matching the count Sume documents. A colour edit is not a guarantee of the real product's dye, so do not label it as the actual item colour in a listing.
Sources
Related posts
More in Use cases
- HeyGen avatar new outfit with reference images vs Sume
HeyGen prompt avatars take avatar_id plus up to three reference_images for a new outfit. Sume's photo input takes one image_url per avatar.
- Add a hook title to the first seconds of a video with one cue
Send one authored cue with start 0 and end 3 to POST /v1/video-captions and Sume burns that hook text into the clip, with no speech-to-text step.
- Ken Burns effect API: Timeline stills are static holds
Sume Timeline holds a still image static; motion is accepted and ignored with a motion_ignored warning. zoompan is on the video filter allowlist.
- AI kids story video generator: scenes of 2 to 30 seconds
Make a children's story video as one scene per request: wan-3.0 takes 2 to 30 seconds per scene, then join up to 200 slots in a Timeline 1.0 render.
Written by Sume