Virtual staging AI: furnish an empty room from one photo
Virtual staging with AI: send the empty-room photo with a prompt naming the style and what must not change, then check the walls and windows.

Virtual staging with AI furnishes a photo of an empty room. You send the listing photo to an image model as a reference, with a prompt that names the room, the style, and the furniture, and says what must not change: walls, windows, doors, floor, ceiling, and camera angle. Ask for several versions and pick one. The model redraws the whole room, so check that nothing fixed has moved or changed before the photo goes on a listing.
On Sume, that is one POST /v1/images request. The facts below come from the Image API docs, the request schema in the Sume API reference, and the model catalog that GET /v1/images/models serves, read on 2026-09-28.
How do I virtually stage a room with AI?
- Start from the photo you would publish: level, well lit, with the whole room in view.
- Put it at a public HTTPS URL. Localhost, private-network, and non-HTTPS URLs are rejected before submission.
- Send it in
input_referenceswithaspect_ratio: "auto", so the staged photo keeps the listing photo's shape. Leaving the field out is not the same as sendingauto. - Ask for
n: 4to get four versions in one call, and set the file size withresolution(see the size question below). - Compare each version with the empty photo (see the checklist below), and keep one where only the furniture changed.
curl -X POST "https://api.sume.com/v1/images" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/nano-banana-pro",
"prompt": "Virtually stage this empty living room in a warm Scandinavian style: light-gray sofa facing the window, oak coffee table, wool rug, floor lamp, two framed prints. Keep the walls, windows, doors, floor, ceiling, light fixtures and camera angle exactly as they are.",
"input_references": [
{ "type": "image_url", "image_url": { "url": "https://example.com/listing/living-room.jpg" } }
],
"aspect_ratio": "auto",
"resolution": "2K",
"n": 4
}'What should a virtual staging prompt say?
Four parts cover it:
- The room and its use: "this empty living room", or "the second bedroom as a home office".
- The style and the pieces: "mid-century modern: walnut sideboard, mustard armchair, round mirror".
- What stays: "keep the walls, windows, doors, floor, ceiling, light fixtures, and camera angle exactly as they are".
- Placement: "leave the path to the balcony door clear", or "a queen bed against the wall facing the window".
Can I copy the style of another room?
Yes. Send a photo of a furnished room as a second reference, and name each image in the prompt by what it shows: "Stage the empty room with the white walls in the style of the furnished room with the green sofa." A reference has no role field, so the words have to tell the two apart; photo to painting AI covers style references in more detail. For a whole listing, reuse one style line in the prompt for every room.
Will the room's walls and windows stay the same?
Not guaranteed. The model redraws the whole photo, so it can move a window, change the floor, or make the room look bigger. Put the staged photo next to the empty one, as a before-and-after pair, and check:
- The number and position of windows and doors.
- The floor, walls, ceiling, and built-in fixtures.
- The view through the windows.
- The furniture's scale: sizes are the model's guess, not measurements.
Will the staged photo be big enough for the listing?
Check before you publish. aspect_ratio: "auto" matches your photo's shape (of the models that edit from references, openai/gpt-image-2.5, openai/gpt-image-2, google/nano-banana-2, and google/nano-banana-pro list it today), but the pixel size comes from a separate setting. On the Nano Banana models that setting is resolution, and in current code the 1K tier applies when you leave it out, so the example asks for 2K. In current code a higher tier can also cost more, and 4K is one of the slow configurations most likely to return 202 with a job to poll. Compare the downloaded file's width and height with your listing site's photo rules.
| Model id | Sets the pixel size | If you leave it out |
|---|---|---|
google/nano-banana-pro | resolution: 512, 1K, 2K, 4K | 1K |
google/nano-banana-2 | resolution: 512, 1K, 2K, 4K | 1K |
openai/gpt-image-2.5 | A custom image_size in your photo's shape, sent instead of auto, such as 3264 × 2448 for a 4:3 photo | With auto, the model picks the size |
What are the limits?
- A staged photo is an illustration, not a floor plan.
- Rules on labeling virtually staged photos are set by listing services and local regulators. Check yours before you publish, and don't stage over anything a buyer should see.
- Each completed image is billed, so
n: 4is four images. A failed or cancelled generation is not billed, andusage.costin the response is the USD amount billed. - Result URLs are Sume-hosted and signed, so download the photos you keep.
- For a video walkthrough, see real estate photo to video AI.
Sources
Related posts
More in Use cases
- Virtual try-on for Shopify: live AR or try-on videos
Virtual try-on on Shopify comes two ways: a live camera app on the product page, or AI try-on videos you make ahead and add to the product's media.
- What are faceless videos? The formats and how each is made
Faceless videos tell a story without the creator on camera: voiceover over B-roll, on-screen text, illustrated scenes, or an AI presenter.
- What is a hero video? The website loop and the brand film
A hero video is the short, usually silent, looping clip at the top of a web page. In campaign planning, the hero video is the flagship film instead.
- What is a packshot? Meaning, examples, and use in AI
A packshot is a clean, evenly lit photo of a product, often in its packaging, on a plain background. AI tools use one as the product's reference.
Written by Sume