Auto Staging
Hot to use the Auto Staging feature
New in the Apply Design API - Auto Staging capabilities! You can now upload multiple images, and have them be staged for you automatically - no need to edit them yourself through the Apply Design platform.
If you’re interested in our Auto Staging feature as a user of the platform, you can learn more here. This article discusses the use of this feature through our public API.
Using the Auto Staging Feature
As an API user, you now have the option to upload an image, and get it back already staged.
For your image to be automatically staged, you have to set the right properties when uploading it.
Here’s what it might look like, for example:
{ "Payload": [ { "ImageUrl": "http://image.jpg", "PropertyUniqueId": "g1f23fer-9", "ImageTypeUniqueId": "2D", "ImageName": "Alice's Room", "RemoveFurniture": true, "AutoStaging": true, "AutoStagingSettings": { "RoomID": "alice", "Specifications": [ { "RoomeTypeID": 2, "RoomStyleID": null, "BundleID": 12 } ] }, "AutoStagingPreferences": { "Curtains": 1, "LampLightsMode": 1, "Plants": 4, "Tabletops": 2, "TVInBedroom": 2, "TVInLivingRoom": 2 } } ] }
Most of these you might already recognize from our [POST] /images
route before. Let’s look at the new ones and understand what they stand for.
"AutoStaging": boolean
This is the flag to let our systems know whether this image should be staged automatically or not. If set to false
, none of the following properties (AutoStagingSettings, AutoStagingPreferences) can be included in your data JSON. If they are, they will raise an error.
"AutoStagingSettings": object
This includes some metadata about the Auto Staging job you have requested. This is the object’s structure:
"RoomID": string, "Specifications": [ { "RoomTypeID": number, "RoomStyleID": number, "BundleID": number } ]
Here’s what it all means.
RoomID is an ID of your choosing to mark images’ relations to rooms in the property. For example, let’s say you upload 3 images - 1 of the kitchen and 2 of the living room. For our systems to differentiate and know that the 2 images of the living room should be staged identically, you use the RoomID to mark them like so:
{ "Payload": [ { "ImageUrl": "http://image1.jpg", "PropertyUniqueId": "g1f23fer-9", "ImageTypeUniqueId": "360", "ImageName": "Kitchen", "RemoveFurniture": false, "AutoStaging": true, "AutoStagingSettings": { "RoomID": "kitchen", "Specifications": [ { "RoomeTypeID": 32, "RoomStyleID": null, "BundleID": null } ] }, "AutoStagingPreferences": {...} }, { "ImageUrl": "http://image2.jpg", "PropertyUniqueId": "g1f23fer-9", "ImageTypeUniqueId": "2D", "ImageName": "Living Room East", "RemoveFurniture": true, "AutoStaging": true, "AutoStagingSettings": { "RoomID": "livingroom", "Specifications": [ { "RoomeTypeID": 2, "RoomStyleID": 3, "BundleID": 12 } ] }, "AutoStagingPreferences": {...} }, { "ImageUrl": "http://image3.jpg", "PropertyUniqueId": "g1f23fer-9", "ImageTypeUniqueId": "2D", "ImageName": "Living Room South", "RemoveFurniture": true, "AutoStaging": true, "AutoStagingSettings": { "RoomID": "livingroom", "Specifications": [ { "RoomeTypeID": 2, "RoomStyleID": 3, "BundleID": 12 } ] }, "AutoStagingPreferences": {...} }, ] }
💡 You can also mark them by a random string of characters, as long as they are the same for images of the same room and different for images of different rooms.
Specifications tell us what the type of the room is, what style you would like to stage it by, and what furniture bundle you’d like to use for staging this room. Only one of these params is required, but if you don’t choose a bundle, it’s preferred that you choose both the room type and the room style. 💡 If BundleId is provided, the other params will be ignored.
RoomTypeID is the ID of the room type that matches the image (i.e. kitchen).
To get a list of all the possible types with their names and IDs, you have to call [GET] /images/room_types
(see full documentation below)
RoomStyleID is the ID of the desired style for the image (i.e. Scandinavian).
To get a list of all the possible styles with their names and IDs, you have to call [GET] /images/room_styles
(see full documentation below)
BundleID is the ID of a chosen furniture bundle for the image (i.e. Jaxson Office).
To get a list of all the possible bundles with their names and IDs, you have to call [GET] /images/room_bundles
(see full documentation below)
Next, we have the AutoStagingPreferences. These detail some instructions for us to stage the images just like you envision them. You can also omit this param, and go with the default values - marked in Italic font.
"AutoStagingPreferences": {
"Curtains": 1,
"LampLightsMode": 1,
"Plants": 4,
"Tabletops": 2,
"TVInBedroom": 2,
"TVInLivingRoom": 2
}
Let’s go over what each of these mean:
Curtains - Would you like curtains on the windows?
1 | No |
2 | Yes |
LampLightsMode - Turn the lights on?
1 | On |
2 | Off |
Plants - How many plants in the staging result?
1 | None |
2 | Few |
3 | Plenty |
4 | Just the ones in the chosen bundle |
Tabletops - Should we leave tabletops clear?
1 | Clear |
2 | Decorative |
TvInBedroom - Add a TV to the bedroom?
1 | Yes |
2 | If included in bundle |
3 | No |
TvInLivingRoom - Add a TV to the living room?
1 | Yes |
2 | If included in bundle |
3 | No |
Now you just sit back and relax, we got this!
Once your image is staged, you will get an E-mail with details and a link to it. You can also set a webhook right here to be called. For more on webhooks, check out the Webhooks article.
Routes
Get All Room Types GET
Get all room types by name and ID.
Arguments
None.
Example Request
Request URL
https://api.applydesign.io/v1/images/room_types
Example Response
[
{
"ID": number,
"Name": string
}
]
Get Room Styles By Room Types GET
Get all room styles by name and ID.
Arguments
room_type_ids number
Comma-separated integers representing the room types for this image.
Example Request
Request URL
https://api.applydesign.io/v1/images/room_styles?room_type_ids=<room_type1_id>,<room_type2_id>
Example Response
[
{
"ID": number,
"Name": string,
"ThumbnailURL": string
}
]
Get Furniture Bundles By Room Types GET
Get all room bundles by room types id
Arguments
room_type_idsnumber
Comma-separated integers representing the room types for this image.
Example Request
Request URL
https://api.applydesign.io/v1/images/room_bundles?room_type_ids=<room_type1_id>,<room_type2_id>
Example Response
[
{
"ID": number,
"Name": string,
"ThumbnailURL": string
}
]