πŸ”Œ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 Settings 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
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
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
get
/renders

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
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
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
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 | nullOptionalDefault: false
Responses
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 | nullOptional
wait_for_completionboolean | nullOptionalDefault: false
Responses
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 | nullOptionalDefault: false
Responses
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 | nullOptional

URL for completion payload

Responses
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
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
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
delete
/user/webhook-secret

Schemas

Last updated