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
	}
]

 
Did this answer your question?
😞
😐
🤩