Remove Furniture
remove_furnitureRemove furniture from a photo: empty a room and rebuild the surfaces behind what was taken out, keeping the architecture and camera angle identical — the blank canvas for restaging. By default it also removes the room's own joinery (fitted kitchen, built-in wardrobes, bathroom fixtures); mode 'movable' leaves those alone, and an optional extra takes the floor covering out too, for a full renovation strip-back. Doors always stay. (Declutter is the opposite: it keeps the furniture.) Costs credits from the user's Pixly balance.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | How far to strip the room. 'fitted' (the default) removes the movable contents AND the room's own joinery — the fitted kitchen and its appliances, built-in wardrobes and shelving, and bathroom sanitaryware. 'movable' removes only furniture, rugs, curtains, art, plants and lamps, leaving the kitchen, built-ins, sanitaryware, floor and doors exactly as they are. | |
| extras | No | Extra things to take out, for a full strip-back. Only applies with mode 'fitted' and is ignored otherwise: 'floor' takes the floor covering down to bare concrete screed. Omit to keep the floor. Doors always stay, as do walls, ceiling, windows, structural openings and the camera. | |
| r2Path | No | Storage path of a photo already in the user's Pixly library (from list_library, or returned by an upload ticket) — the alternative to imageUrl. | |
| imageUrl | No | Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required. | |
| listingId | No | A property folder (from list_listings or create_listing) to put the result in. Results of a photo that is already in a folder go there by themselves. |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | No | Several jobs at once (get_job with jobIds, or a plan's steps): each one's jobId, status and results | |
| note | No | ||
| type | No | ||
| error | No | ||
| jobId | Yes | Pass to get_job to poll | |
| quote | No | Present when status is "awaiting_confirmation": nothing ran and nothing was charged yet — the price and settings the user is asked to confirm | |
| status | Yes | pending | processing | completed | failed — anything not completed/failed is still running | |
| createdAt | No | ||
| resultUrls | No | Present when completed; valid 7 days | |
| completedAt | No | ||
| resultPaths | No | Storage path of each result — pass one as r2Path (or beforeR2Path, a photos[] item) to run another tool on this result | |
| creditsCharged | No |