Furnish empty rooms, empty furnished rooms, renovate spaces, and edit interiors with prompts or masks — all the room-content operations in one place.
The virtual staging endpoints cover everything that changes the contents of a room: adding furniture, removing it, renovating the space, surgical edits via prompt, and mask-based object removal. For photo cleanup (enhance, sky, blur), see Image enhancement.
Furnish an empty room
POST/api/furnish
Add realistic furniture to an empty room. Pedra preserves the room's architecture (walls, windows, doors, floors) and only adds furniture and decoration.
URL of the empty room photo, or a base64 data URI (data:image/png;base64,...).
roomTypestringrequired
Type of space to furnish. The eight values below are the pre-defined space types. You can also pass any other space as a custom string (e.g. "Kid's room", "Garden", "Home gym").
Values:Living roomDining + Living roomBedroomDining roomTerraceEntranceOfficeBathroom
stylestringrequired
Furniture style. Pass one of the named styles below, or a public URL to a reference image (e.g. a Pinterest photo or product shot) — Pedra will match the look from the reference.
How much liberty the AI takes with the design. Medium is the recommended default; High runs on a lighter, faster model. Medium costs 2 credits per image, High costs 1 — see Pricing.
Values:MediumHigh
Default:Medium
propertyIdstring
Optional id of the property (from list_properties or create_property) this photo belongs to. When set, the result is saved into that property's gallery — visible and editable from the app — instead of only returned as a URL.
Remove furniture and objects from a room, leaving the architecture intact. Useful when listing photos are taken with the previous owner's belongings still in place.
URL of the furnished room photo, or a base64 data URI.
propertyIdstring
Optional id of the property (from list_properties or create_property) this photo belongs to. When set, the result is saved into that property's gallery — visible and editable from the app — instead of only returned as a URL.
Show what a room could look like after renovation: new finishes, updated kitchens, refreshed bathrooms. Optionally keep windows in place and re-furnish in the same call.
Renovation style. Pass one of the named styles below, or a public URL to a reference image — Pedra matches finishes, palette, and overall look from the reference.
Keep windows in their original position. Recommended for accurate listings.
Default:false
furnishboolean
Add furniture to the renovated room in the same call. When true, roomType is required.
Default:false
roomTypestring
Used when furnish is true. Defaults to "Auto" (Pedra detects the space from the image). Accepts the same pre-defined space types as the furnish endpoint, plus any custom space you write as a string (e.g. "Kid's room", "Garden", "Home gym").
Values:Living roomDining + Living roomBedroomDining roomTerraceEntranceOfficeBathroomAuto
Default:Auto
creativitystring
How aggressive the renovation is. Medium is the recommended default; High runs on a lighter, faster model. Medium costs 2 credits per image, High costs 1 — see Pricing.
Values:MediumHigh
Default:Medium
propertyIdstring
Optional id of the property (from list_properties or create_property) this photo belongs to. When set, the result is saved into that property's gallery — visible and editable from the app — instead of only returned as a URL.
Make targeted edits described in plain English: "Add a modern chandelier", "Repaint the walls white", "Remove the rug". Best for one-off fixes that don't map to the other endpoints.
Parameters
apiKeystringrequired
Your API key.
imageUrlstringrequired
URL of the photo to edit, or a base64 data URI.
promptstringrequired
Plain-English editing instruction. Be specific — "add a beige sofa against the back wall" works better than "add furniture".
propertyIdstring
Optional id of the property (from list_properties or create_property) this photo belongs to. When set, the result is saved into that property's gallery — visible and editable from the app — instead of only returned as a URL.
Example request
curl -X POST https://app.pedra.ai/api/edit_via_prompt \
-H "Content-Type: application/json" \
-d '{
"apiKey": "YOUR_API_KEY",
"imageUrl": "https://example.com/living-room.jpg",
"prompt": "Add a modern chandelier to the ceiling"
}'
Response time: ~15 seconds per image. Cost: 2 credits per call. output is a single object.
Remove object
POST/api/remove_object
Removes specific objects from an image using a mask. The mask is a separate image where white pixels mark what to remove and black pixels mark what to keep. Use this when you need surgical control vs. edit_via_prompt.
URL of the mask image. White areas are removed; black areas are preserved.
propertyIdstring
Optional id of the property (from list_properties or create_property) this photo belongs to. When set, the result is saved into that property's gallery — visible and editable from the app — instead of only returned as a URL.