AI exterior house paint colors: preview three options from one photo
Try three siding and trim color schemes on one photo of your house with Sume image edits, keeping the roof, windows, lawn and sky untouched in each version.

Three schemes, one source photo
A paint contractor or a homeowner wants to see three palettes on the same house, from the same angle, in the same light. That is three edit calls that share a source photo and differ in one sentence each.
Use POST /v1/images on openai/gpt-image-2.5-sunburst with the house photo in input_references.
The e Image API docs](https://docs.sume.com/models/images) list ChatGPT Image 2.5 as openai/gpt-image-2.5 (Flare) and openai/gpt-image-2.5-sunburst. OpenAI's guide says to choose Sunburst where editing precision matters most and Flare for fast everyday generation, so these edits use Sunburst. ChatGPT Image 2.5 takes up to 16 references, an optional mask_url and quality up to xhigh and max, with high as the default when you omit it.
Name each surface and send the original every time
Models repaint what the prompt leaves open. Spell out body, trim and door as separate surfaces and say what must not move: roof, windows, driveway, landscaping and sky. Send the original photo each time rather than the previous result. Editing a result again stacks small changes, and roofline or window drift can creep in; rerunning from the source keeps the options comparable.
import os
import requests
REFS = [
"https://example.com/house.jpg",
]
resp = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json={
"model": "openai/gpt-image-2.5-sunburst",
"prompt": "Repaint the exterior: body warm white, trim charcoal, "
"front door deep red. Keep roof, windows, lawn, driveway "
"and sky unchanged.",
"aspect_ratio": "auto",
"input_references": [
{"type": "image_url", "image_url": {"url": u}} for u in REFS
],
},
timeout=60,
)
print(resp.status_code)
print(resp.json())Three colorways for one house
Swap only the scheme sentence between calls and keep everything else fixed. A mask over siding and trim tightens the result further, with the alpha-channel and same-size rules from the OpenAI guide.
| Option | Body | Trim | Door |
|---|---|---|---|
| A | Warm white | Charcoal | Deep red |
| B | Soft grey-green | Cream | Natural wood |
| C | Dark slate blue | White | Black |
Check the shape and the shadows
Pass aspect_ratio: "auto" so each version keeps the photo's shape. Then compare the three side by side at full size: window frames, the roof edge and cast shadows are where an edit most often wanders. Real paint also looks different in sun and shade, so confirm with a test patch.
Cost, retries and slow calls
Each edit is one billed image when it completes, and nothing when it fails. Sume's docs say the amount in usage.cost is what the wallet is charged, with the 1.25 multiplier on provider list price already applied. That makes a retry cheap to reason about: a failed attempt costs zero.
Slow settings, such as 4K output, high quality or a large n, can push a call past the 30-second wait. Then the response is 202 with a job envelope rather than the image, and you fetch the result from the job endpoints.
Sources
Related posts
More in Use cases
- AI garden design preview from a photo of your yard
Preview new garden beds, a patio or a lawn from one yard photo: a single Sume image edit call, an optional mask for the area, and a check that the house stays.
- AI person in a Meta ad: is the label next to Sponsored?
Meta puts AI info next to Sponsored when its own tools make a photorealistic human. For outside tools it describes About this ad. How to add your own cue.
- AI hoodie logo mockup: put your logo on a blank hoodie photo
Show your logo on a real blank hoodie photo with one Sume image edit: the hoodie first, the logo second, and a prompt that keeps the folds and the color.
- AI image slideshow Shorts on YouTube: what narrative to add
YouTube's inauthentic content policy lists image slideshows with minimal narrative as not allowed. Turn stills into a Short with a real story, using Sume.
Written by Sume