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 room to furnish. The eight values below have hand-tuned prompts; any other string (e.g. "Kitchen", "Closet") works too via auto-generated prompts.
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.
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.
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 room from the image). Same value set as the furnish endpoint.
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.
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".
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.