Page cover image

Virtual staging

Virtual staging is a technique used to generate images that add furniture, decor, and other elements to empty or outdated spaces, creating a more appealing and visually attractive representation of the property

ENDPOINT

POST /virtual_staging

An API URL would be like https://homedesigns.ai/api/v2/virtual_staging

Instantly stage spaces with realistic furniture and decor to visualize their potential.

An API request must be in the form-data format.

Request

Parameters & Data Type
Value
Description

image

file[ .jpg, .jpeg, .png] / base64 Image string

-

The image to be processed by the API. The image dimensions must be 512x512 pixels or greater for optimal results. (Required Parameter)

design_type

string

Interior

Specifies the type of area you want to design. API users must specify whether they are designing an interior space. (Required Parameter)

ai_intervention

string

Very Low, Low, Mid, Extreme

Indicates the level of AI intervention in the design process. "Very Low" means minimal changes, while "Extreme" allows for significant alterations to the original design. (Required Parameter)

no_design

integer

Min - 1, Max - 4

Specifies the number of design variations you want the API to generate. The minimum is 1 and the maximum is 4. (Required Parameter)

design_style

string

Design style should be as per design type.

Defines the overall aesthetic style you want to achieve, such as 'Bohemian', 'Industrial', 'Scandinavian', etc.

(Required Parameter)

Here you can see the more design styles.

Interior Design Styles

room_type

string

Room style should be as per design type

Required if design_type is Interior, Indicates the type of room for which the design is intended, like 'Living Room', 'Bedroom', 'Kitchen', etc. Click here to see more room types.

custom_instruction

null or string

Write a Custom Prompt

An optional text prompt that can guide the AI in generating the design. This could be something like "Create a cozy and warm living room".

Process for Using /virtual_staging and /status_check Endpoints

GET https://homedesigns.ai/api/v2/virtual_staging/status_check/ag61df25b20-e263-4bae-vbgbae8-ecccaafgbbd687-ugf1

  1. Step 1: Pass Required Parameters to /virtual_staging

    • When you send a request to the /virtual_staging endpoint with all required parameters, it will generate a queue_id.

    • Example response from /virtual_staging:

      {
          "id": "ag61df25b20-e263-4bae-vbgbae8-ecccaafgbbd687-ugf1",
          "status": "IN_QUEUE"
      }
    • The queue_id (id value) from this response will be used in subsequent requests. queue_id is valid for the 30 minutes if you try after then showing error {Please Enter a Valid Queue ID}


  1. Step 2: Use queue_id in /status_check Endpoint

    • Append the generated queue_id to the /status_check endpoint to check the processing status.

    • Example request:

      GET /virtual_staging/status_check/ag61df25b20-e263-4bae-vbgbae8-ecccaafgbbd687-ugf1

  1. Step 3: Review the Status Response

    • The /status_check endpoint will return the current status of the process. Initially, the status might indicate that the process is still in IN_QUEUE, wait a few moments and send the request again.

    • Example response:

      {
          "data": {
              "delayTime": 747,
              "id": "ag61df25b20-e263-4bae-vbgbae8-ecccaafgbbd687-ugf1",
              "status": "IN_QUEUE",
              "workerId": "y2sfmofed1df23jp26ho"
          },
          "http_status": 200
      }
      
      
    • The /virtual_staging/status_check endpoint will return the current status of the process. Initially, the status might indicate that the process is still in "starting" wait a few moments and send the request again. Example response: { "created_at": "2025-05-26T12:39:19.094Z", "status": "starting" }

    • If the status is still pending "IN_PROGRESS", wait a few moments and send the request again.

    • Example response:

    • {
          "data": {
              "delayTime": 747,
              "id": "ag61df25b20-e263-4bae-vbgbae8-ecccaafgbbd687-ugf1",
              "status": "IN_PROGRESS",
              "workerId": "y2sfmofed1df23jp26ho"
          },
          "http_status": 200
      }
    • Once all the statuses marked as IN_QUEUE and IN_PROGRESS are completed, after hitting the requests one by one, you will see the results as follows:

      //Output should be in list of array depends on no of designs as shown below:
      
      {
          "input_image": "https://storage.googleapis.com/generativebucketapi/UserGenerations/cristian/input-20230901-085649876484.png",
          "output_images": [
                  "https://storage.googleapis.com/generativebucketapi/UserGenerations/cristian/20230901-085649876484-1.png",
                  "https://storage.googleapis.com/generativebucketapi/UserGenerations/cristian/20230901-085649876484-2.png",
                  "https://storage.googleapis.com/generativebucketapi/UserGenerations/cristian/20230901-085649876484-3.png"
          ]
      }

  1. Step 4: Get the Final Result

    • Continue checking the status by resending the request to the /status_check endpoint until the status changes to "SUCCESS".

    • When the status is "SUCCESS", you will receive the final result in the response.

Last updated

Was this helpful?