Virtual de-staging

Empty any room down to the bare floor.

Remove every piece of furniture, rug, wall art and decor from an occupied room. Buyers see the real square footage and the space’s potential — and you get a clean canvas to re-stage.

POST/v1/studio/staging/emptyasync · ~12s
Living room with dated traditional furniture
The same living room with all furniture removed
FurnishedEmptied

Original photos on this page are AI-generated examples; every result is real Studio API output.

  • Furniture
  • Rugs
  • Wall art
  • Decor
  • Floor restored
Use cases

When the furniture is the problem

Drag any slider to compare. Every example runs through the same endpoint.

Formal living room with dark, heavy furniture
The same formal living room emptied
OccupiedEmptied

Dated furnishings

Heavy, personal or dated pieces distract from the room. Remove them and let the space speak.

Furnished bedroom with neutral bedding
The same bedroom emptied
FurnishedEmptied

Bedrooms

Show true dimensions and window placement without a bed dominating the frame.

Living room with dated traditional furniture
The emptied living room re-staged in modern style
OriginalRe-staged

Re-stage in a new style

Empty first, then send the result to Virtual Staging for a completely fresh look.

API

One request. That’s the integration.

Authenticate with x-api-key or Authorization: Bearer — the same key as the Listings API.

POST/v1/studio/staging/emptyAsync · ~12s
01POST the photo URL and the floor to restore. You get 202 Accepted and a job_id right away.
02Poll GET /v1/studio/jobs/:job_id, stream progress over SSE, or wait for your webhook.
03Download the finished image from the CDN — plus a before/after comparison where noted.
Body parameters4
photo_urlstringrequired
Public URL of the furnished room photo.
room_typeenum
living_room · bedroom · primary_bedroom · kitchen · dining_room · bathroom · home_office · outdoor_patio · entryway · basement · commercial_lobby
restore_flooringenum
hardwood · tile · carpet · polished_concrete — the floor to reveal under removed items.
webhook_urlstring
Called with the finished job when processing completes.
terminal
curl -X POST https://mlsapi.dev/v1/studio/staging/empty \
-H "x-api-key: $MLSAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"photo_url": "https://cdn.mlsapi.dev/photos/A12079565/07.webp",
"room_type": "bedroom",
"restore_flooring": "hardwood"
}'
202 Accepted
POST /v1/studio/staging/empty
{
"job_id": "job_studio_01JA0XQ4M9ZK7T",
"type": "staging_empty",
"status": "processing",
"progress_percentage": 10,
"current_step": "initializing_pipeline",
"estimated_completion_seconds": 12,
"created_at": "2026-09-29T14:02:11.000Z",
"status_url": "/v1/studio/jobs/job_studio_01JA0XQ4M9ZK7T"
}

Try Remove Furniture in Studio.

Sign up or log in at studio.mlsapi.dev to run it on your own photos — then call the same endpoint from your code.