Tools

Remove Furniture

Remove 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.)

post/api/v1/tools/remove_furniture

Request

  • Base URL: https://pixly.app
  • URL: https://pixly.app/api/v1/tools/remove_furniture
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://pixly.app/oauth/authorize, token URL https://pixly.app/api/oauth/token, scopes: tools)

Headers

Idempotency-Keystring

Recommended. A retry with the same key and body returns the first run's result (header Idempotency-Replayed: true) instead of running and charging again. Kept 24 hours; failed runs release the key.

Request body

imageUrlstring

Public https URL of the source photo, or a data: URI. Either imageUrl or r2Path is required.

r2Pathstring

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.

mode'movable' | 'fitted'

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.

extrasstring[]

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.

Response

Finished inline — resultUrls present (photo tools)

jobIdstring required

Job id — pass to get_job to poll

type'image_staging' | 'video_pair' | 'video_tour' required

Job family

status'pending' | 'processing' | 'completed' | 'failed' required

Anything not completed/failed is still running

creditsChargednumber nullable required

Credits debited for this job

createdAtstring date-time required

Submission time

completedAtstring date-time

Present once finished

resultUrlsstring[]

Presigned download URLs (present when completed; valid 7 days)

resultPathsstring[]

Storage path of each result, in resultUrls order — pass one as r2Path (or beforeR2Path, a photos[] item…) to run another tool on this result

errorstring

Failure reason; the message says whether the credit came back immediately or is in 24h refund review

notestring

Hint for agents, e.g. poll again in a few seconds

Changes

No recorded changes to this operation across all 1 revision of this API.