πŸ”ŒEndpoints

The v2 API is available at the base URL https://api.virtualstagingai.app/v2.

The same API key can be used for both the v1 and v2 API. You can find or generate your API key in the Settingsarrow-up-right section of your Virtual Staging AI account.

Authenticate all requests by including an Authorization Header with the value (case sensitive):

Authorization: Api-Key {your_api_key_here}

Check API status

get
/status

Returns 200 OK if the API is running

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Responses
chevron-right
200

API is operational

No content

get
/status
200

API is operational

No content

Get current user details

get
/user

Returns information about the authenticated user including their usage limits

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Responses
chevron-right
200

Successful response

application/json
get
/user

Get all renders

get
/renders

Returns all renders for the authenticated user

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Query parameters
limitinteger Β· min: 1 Β· max: 100OptionalDefault: 20
cursorstringOptional

Render ID to start after

orderstring Β· enumOptional

The order in which to display renders. Based on their creation date.

Default: descPossible values:
Responses
chevron-right
200

Successful response

application/json
get
/renders
circle-exclamation

Create a new render

post
/renders

Create a new render with either a single configuration or multiple configurations.

Single Config Format: Use this for creating a single render with one configuration. Multi Config Format: Use this for creating a single render with multiple configurations. This can be used to generate variations with different room styles, furniture etc. without having to make a new request.

Examples

Single Config (Staging)

{
  "config": {
    "type": "staging",
    "add_furniture": {
      "room_type": "living",
      "style": "modern"
    }
  },
  "image_url": "https://example.com/image.jpg",
  "variation_count": 3,
  "wait_for_completion": false
}

Multi Config (Multiple Staging Variations)

{
  "configs": [
    {
      "type": "staging",
      "add_furniture": {
        "room_type": "living",
        "style": "modern"
      },
      "variation_count": 2
    },
    {
      "type": "staging",
      "add_furniture": {
        "room_type": "living",
        "style": "scandinavian"
      },
      "variation_count": 1
    }
  ],
  "image_url": "https://example.com/image.jpg",
  "wait_for_completion": true
}

Single Config (Day to Dusk)

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Body
or
Responses
chevron-right
200

Render created successfully

application/json
post
/renders

Get render details

get
/renders/{render_id}

Returns details about a render including the status, variations, and result URL

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Path parameters
render_idstringRequired

The ID of the render to get details for

Query parameters
include_variationsbooleanOptionalDefault: false
variations_limitinteger Β· min: 1 Β· max: 100OptionalDefault: 20
variations_cursorstringOptional

Variation ID to start after

variations_orderstring Β· enumOptional

The order in which to display variations. Based on their creation date.

Default: ascPossible values:
Responses
chevron-right
200

Successful response

application/json
get
/renders/{render_id}

Get variation details

get
/renders/{render_id}/variations/{variation_id}

Returns details about a variation including the status and result URL

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Path parameters
render_idstringRequired

The ID of the base render

variation_idstringRequired

The ID of the variation to get details for

Responses
chevron-right
200

Successful response

application/json
get
/renders/{render_id}/variations/{variation_id}

Create new variations

post
/renders/{render_id}/variations

Create one or more variations for an existing render. Status updates will be sent to the webhook_url specified in the render if one was provided.

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Path parameters
render_idstringRequired
Body
configone ofRequired
or
or
variation_countinteger Β· min: 1Required
wait_for_completionboolean Β· nullableOptionalDefault: false
Responses
chevron-right
200

Variations created and completed successfully

application/json
post
/renders/{render_id}/variations

Create multiple renders in bulk

post
/renders/bulk

Creates multiple renders with the specified parameters.

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Body
webhook_urlstring Β· nullableOptional
wait_for_completionboolean Β· nullableOptionalDefault: false
Responses
chevron-right
200

Renders created and completed successfully

application/json
post
/renders/bulk

Create multiple variations in bulk

post
/renders/variations/bulk

Creates multiple variations for an existing render with different configurations.

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Body
wait_for_completionboolean Β· nullableOptionalDefault: false
Responses
chevron-right
200

Variations for renders created and completed successfully

application/json
post
/renders/variations/bulk

Submit an image for a furniture mask generation

post
/analyze

Submits an image for analysis to generate a furniture mask. If a webhook_url is provided, completion status will be sent to that URL.

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Body
image_urlstringRequired

URL for an image, either HTTP/HTTPS URL or base64 encoded data URL.

Pattern: ^(https?:\/\/[^\s]+|data:image\/[a-zA-Z+]+;base64,[A-Za-z0-9+/=]+)$
webhook_urlstring Β· nullableOptional

URL for completion payload

Responses
chevron-right
200

Successful response

application/json
post
/analyze

Check if two images are compatible for multi-view staging

post
/multi-view-compatibility

Analyzes two images to determine if they can be used together for multi-view staging.

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Body
image_urlsstring[] Β· min: 2 Β· max: 2Required

Array of two image URLs to check for compatibility.

Responses
chevron-right
200

Successful response

application/json
post
/multi-view-compatibility

Create or update webhook secret

post
/user/webhook-secret

Sets or updates the webhook secret used for HMAC signature verification

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Body
webhook_secretstring Β· min: 1Required

The webhook secret to use for HMAC signature verification

Pattern: ^[a-zA-Z0-9_-]+$
Responses
chevron-right
200

Webhook secret updated successfully

application/json
post
/user/webhook-secret

Remove webhook secret

delete
/user/webhook-secret

Removes the webhook secret used for HMAC signature verification

Authorizations
AuthorizationstringRequired

API key authentication. Use the format: Api-Key ${key}.

Responses
chevron-right
200

Webhook secret removed successfully

application/json
delete
/user/webhook-secret

Schemas

Last updated