RoomagenDevelopersGet API key

Guide

Virtual staging

Furnish an empty room in a chosen style. Requires the style option.

Virtual staging furnishes an empty room: it reads the geometry and light in your photo, then places plausible furniture in the style you ask for. Listing agents use it to show what a bare property could look like, but the same call serves interior designers pitching a concept, property managers advertising a vacancy, and furniture retailers putting a catalogue into a real room.

An empty living room furnished by virtual staging — before
Before
An empty living room furnished by virtual staging — after
After

Options

OptionTypeValuesDefaultRequiredDescription
stylestring
modernscandinavianindustrialtraditionalminimalistbohemianmid-century-moderncoastalfarmhouseluxuryjapandiart-decomediterraneancustom
required

Required. custom leans on the model's own judgement rather than a named look.

roomTypestring
living-roombedroomkitchendining-roombathroomhome-officekids-roomstudiohallwayentrywaylaundrydressing-roomgaragebalconyterrace
optional

Helps the model place plausible furniture. Inferred from the photo when omitted.

modestring
empty-roomrestylerecreate
empty-roomoptional

empty-room furnishes a bare room, restyle re-dresses a furnished one, recreate rebuilds it as a different room type. All three report tool: virtual-staging.

furnitureModestring
aimanual
aioptional

With manual, list the pieces you want in furniture.

furniturestringoptional

Comma-separated pieces to place, e.g. "sectional sofa, floor lamp, rug".

changeWallsbooleanfalseoptional

Allow repainting or re-finishing the walls.

changeFloorbooleanfalseoptional

Allow replacing the flooring.

Example

json
{
  "tool": "virtual-staging",
  "image_url": "https://example.com/empty-living-room.jpg",
  "options": {
    "style": "scandinavian",
    "roomType": "living-room",
    "mode": "empty-room"
  }
}

style is required

This is the one tool with a mandatory option. A staging request without style is rejected with invalid_request.

Pick a named style from the table above, or send custom to let the model use its own judgement instead of a named look — useful when the room already has a strong character you do not want to fight.

What mode does

mode decides what happens to what is already in the photo:

  • empty-room (default) — furnish a bare room.
  • restyle — re-dress a room that is already furnished, keeping its purpose.
  • recreate — rebuild the space as a different kind of room.

All three report tool: virtual-staging on the job.

Choosing the furniture yourself

furnitureMode defaults to ai, which lets the model decide what belongs in the room. Set it to manual and list the pieces you want in furniture as a comma-separated string, for example "sectional sofa, floor lamp, rug".

changeWalls and changeFloor are both false by default, so the room's existing finishes are preserved. Turn them on to let the model repaint walls or replace flooring as part of the staging.

The common options do not apply here

Virtual staging runs a multi-step pipeline rather than a tool handler. It always renders at 2K, has no tier or customPrompt path, and rejects any key outside its own list — including resolution, tier and customPrompt — with invalid_request. Sending them is an error, not a no-op, which is the opposite of how every other tool treats an unknown key.

Next steps

  • Tools — the rest of the launch set and the common options.
  • Quickstart — send this request end to end.