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.

4 min readSume
All posts

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.

Colorways to try (example prompts; edit rules per Sume docs and OpenAI guide, read 2026-10-03)
OptionBodyTrimDoor
AWarm whiteCharcoalDeep red
BSoft grey-greenCreamNatural wood
CDark slate blueWhiteBlack

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

All Use cases posts

Written by Sume