API Documentation
  • Introduction
  • API Reference
  • 🔐Authentication
  • Core APIs
    • Perfect Redesign
    • Beautiful Redesign
    • Creative Redesign
    • Sketch to Render
    • Virtual staging
    • Precision
    • Fill Spaces
    • Decor Staging
    • Furniture Removal
    • Colors & Textures
    • Furniture Finder
    • Full HD
    • Text to design
    • Furniture Creator
    • Design Advisor
    • Sky Colors
    • Design Transfer
    • Floor Editor
    • Paint Visualizer
    • Material Swap
    • Room Composer
    • Design Critique
    • Create Mask Image
    • Download Generated Images
    • Smart Home AI
  • DESIGN SCOPE
    • Interiors
      • Design Styles for Interiors
      • Room Types
      • Colors in Interior Design
      • Explore Material Options for Interior Designs
    • Exteriors
      • Design Styles for Exteriors
      • Copy of Design Styles for Exteriors
      • House angles
      • Exterior Colors
      • Material Options for Exterior Designs
    • Gardens
      • Design Styles for Gardens
      • Garden Types
      • Explore Color Options for Garden Designs
      • Material Options for Garden Designs
  • Data
    • User Details
    • Design Scope
  • Others
    • What is Masked Image?
Powered by GitBook
On this page

Was this helpful?

  1. Core APIs

Virtual staging

PreviousSketch to RenderNextPrecision

Last updated 1 month ago

Was this helpful?

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.

room_type

string

Room style should be as per design type

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".

Parameters & Errors

image

Error Messages
Reason

Image field required

Image not provided

Invalid image size. The image width and height must be 512x512 or greater than 512x512 pixels.

Image Size Not Proper.

Invalid image format. Only PNG, JPEG and JPG images are allowed.

Image Format not valid.

design_type

Error Messages
Reason

Design_type field required

Design type not provided

Design_type value is not a valid enumeration member; permitted: 'Interior.'

design type not provided properly

room_type

Error Messages
Reason

room_type field required when design_type is Interior

room_type not provided

room_type should be in ['Living room', 'Bedroom', 'Bathroom'...] this array will replaced dynamically as per your design_type

room_type not provided properly

design_style

Error Messages
Reason

design_style field required

Design_style not provided

design_style should be in ['No Style', 'Eclectic', 'Modern'...] this array will replaced dynamically as per your design_type

Design_style not provided properly

ai_intervention

Error Messages
Reason

ai_intervention field required

ai_intervention not provided

ai_intervention value is not a valid enumeration member; permitted: 'Very Low', 'Low', 'Mid', 'Extreme'

ai_intervention not provided properly

no_design

Error Messages
Reason

no_design field required

no_design not provided

no_design value is not a valid enumeration member; permitted: 1, 2, 3, 4

no_design not provided properly

status_check

Error Messages
Reason

Please Enter a Valid Queue ID

Invalid queue ID or queue_id is valid for the 30 minutes if you try after then showing error {Please Enter a Valid Queue ID}

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

Process for Using /virtual_staging and /status_check Endpoints

GET 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"
      }

  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
      }
      
    • 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.

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

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}

https://homedesigns.ai/api/v2/virtual_staging/status_check/
Interior Design Styles
Click here
Page cover image