Renovate AI API v1.3.0

The Renovate AI API renders design changes onto a photo of a real space: upload an image as an asset, then apply a renovation style, a kitchen-cabinet change, a style transfer, an upscale, or a virtual-staging variation. It is a REST API over JSON, with 17 endpoints across 5 groups.

Base URL
https://api.tech.renovateai.app/public/v1
Authentication
API key in the X-API-KEY request header
Format
JSON request and response bodies; file uploads use multipart/form-data

Authentication

Every endpoint requires an API key. Send it in the X-API-KEY header on each request; there is no OAuth flow and no bearer token exchange. Requests without a valid key are rejected with 401 Unauthorized.

curl "https://api.tech.renovateai.app/public/v1/plan/details" \
  -H "X-API-KEY: $RENOVATE_API_KEY"

Account

Operations related to user accounts and plan details

GET /plan/details

Get plan details

Retrieves the details of the customer's plan.

Responses

StatusMeaningBody
200 Successful response
plan — object
plan.business_name — string
plan.plan — string
plan.remaining_assets — integer
plan.staging_credits — integer
plan.renovation_credits — integer
401 Unauthorized
404 Plan not found

Example request

curl -X GET "https://api.tech.renovateai.app/public/v1/plan/details" \
  -H "X-API-KEY: $RENOVATE_API_KEY"

Assets

Operations for managing user assets (images)

GET /assets

Get assets

Retrieves all assets associated with the authenticated user.

Responses

StatusMeaningBody
200 Successful response
assets — array of Asset
assets[].id — string
assets[].name — string
assets[].width — integer
assets[].height — integer
assets[].preview_url — string
401 Unauthorized

Example request

curl -X GET "https://api.tech.renovateai.app/public/v1/assets" \
  -H "X-API-KEY: $RENOVATE_API_KEY"

POST /assets/upload

Upload an asset

Uploads a new asset (image) to the user's account.

Request body multipart/form-data (required)

FieldTypeRequiredDescription
image file no
image_url string no
asset_name string no

Responses

StatusMeaningBody
200 Successful response
asset — object
asset.id — string
asset.name — string
asset.width — integer
asset.height — integer
asset.preview_url — string
400 Bad request
403 Max assets limit reached
404 Account not found

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/assets/upload" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -F "image=@/path/to/room.jpg" \
  -F "asset_name=Living room"

POST /assets/delete

Delete an asset

Deletes a specific asset from the user's account.

Request body application/json (required)

FieldTypeRequiredDescription
asset_id string yes

Responses

StatusMeaningBody
200 Successful response
status — string
asset_id — string
401 Unauthorized
404 Asset not found

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/assets/delete" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "asset_id": "your_asset_id"
}'

AI Renovation Kit

AI-powered renovation and design services

GET /styles

Get available styles

Retrieves available interior and exterior styles for home renovation.

Responses

StatusMeaningBody
200 Successful response
interior_styles — array of Style
interior_styles[].id — string
interior_styles[].name — string
interior_styles[].description — string
exterior_styles — array of Style
exterior_styles[].id — string
exterior_styles[].name — string
exterior_styles[].description — string
total_found — integer

Example request

curl -X GET "https://api.tech.renovateai.app/public/v1/styles" \
  -H "X-API-KEY: $RENOVATE_API_KEY"

POST /renovate

Renovate an image

Applies a selected style to an uploaded asset with optional renovation spectrum.

Request body application/json (required)

At least one of style_id or guidance must be supplied.

FieldTypeRequiredDescription
asset_id string yes
style_id string no Style ID to apply. Either style_id or guidance must be provided.
renovation_spectrum enum: tweak | enhance | renovate | transform no
guidance string no (New) Optional AI guidance for precise visual updates (e.g., "swap track lighting for pendants"). Must be more than 8 characters for accurate results. Either style_id or guidance must be provided.

Responses

StatusMeaningBody
200 Successful response
style_id — string
renovation_spectrum — string
renovated_image_url — string
400 Bad request
404 Asset not found
500 Unexpected error in renovation

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/renovate" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "asset_id": "your_asset_id",
  "style_id": "your_style_id"
}'

POST /kitchen_cabinets

Renovate kitchen cabinets

Applies a selected style to an uploaded kitchen cabinets asset with optional renovation spectrum.

Request body application/json (required)

At least one of style_id or guidance must be supplied.

FieldTypeRequiredDescription
asset_id string yes
style_id string no Style ID to apply. Either style_id or guidance must be provided.
renovation_spectrum enum: tweak | enhance | renovate | transform no
guidance string no (New) Optional AI guidance for precise visual updates (e.g., "swap track lighting for pendants"). Must be more than 8 characters for accurate results. Either style_id or guidance must be provided.

Responses

StatusMeaningBody
200 Successful response
style_id — string
renovation_spectrum — string
renovated_image_url — string
400 Bad request (No Kitchen Cabinets found in the asset)
404 Asset not found
500 Unexpected error in renovation

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/kitchen_cabinets" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "asset_id": "your_asset_id",
  "style_id": "your_style_id"
}'

POST /creative_upscale

Upscale an image

Upscales the provided image with added details and optional creativity level.

Request body multipart/form-data (required)

FieldTypeRequiredDescription
image file no
image_url string no
creativity number no

Responses

StatusMeaningBody
200 Successful response
upscaled_image_url — string
creativity — number
400 Bad request
500 Error in creative upscale

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/creative_upscale" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -F "image=@/path/to/room.jpg" \
  -F "creativity=5"

POST /style_transfer

Apply style transfer

Applies the style of a provided image to the selected asset.

Request body multipart/form-data (required)

FieldTypeRequiredDescription
asset_id string yes ID of the asset to apply the style transfer to
style_image file no Style image file to be uploaded
style_image_url string no URL of the style image (alternative to uploading a file)

Responses

StatusMeaningBody
200 Successful response
status — enum: success
renovated_image_url — string — URL of the image after style transfer
400 Bad request
404 Asset not found
500 Error in style transfer

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/style_transfer" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -F "asset_id=your_asset_id" \
  -F "style_image=@/path/to/room.jpg"

Image Analyzer

AI-powered image analysis (Coming Soon)

POST /analyze

Analyze a single image (Coming Soon)

Analyzes a single image and returns information about it.

Request body multipart/form-data (required)

FieldTypeRequiredDescription
image file no
analysis_type enum: normal | advanced no

Responses

StatusMeaningBody
200 Successful response
image_id — string
analysis_type — enum: normal | advanced
results — object
results.classification — enum: interior | exterior
results.room_type — string
results.exterior_type — string
results.status — string
results.renovation_styles — array of string
processing_time — number
error — string
400 Bad request
500 Error in image analysis

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/analyze" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -F "image=@/path/to/room.jpg" \
  -F "analysis_type=normal"

POST /analyze/batch

Submit batch for analysis (Coming Soon)

Submits a batch of images for analysis.

Request body application/json (required)

FieldTypeRequiredDescription
images array of object no
images[].image_url string no
images[].image_id string no
analysis_type enum: normal | advanced no

Responses

StatusMeaningBody
200 Successful response
batch_id — string
status — enum: processing
total_images — integer
estimated_completion_time — string
400 Bad request
500 Error in batch submission

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/analyze/batch" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "images": [
    {
      "image_url": "https://example.com/room.jpg",
      "image_id": "your_image_id"
    }
  ],
  "analysis_type": "normal"
}'

GET /analyze/batch/{batch_id}

Check batch analysis results (Coming Soon)

Retrieves the results of a batch analysis.

Parameters

NameInTypeRequiredDescription
batch_id path string yes

Responses

StatusMeaningBody
200 Successful response
batch_id — string
status — enum: processing | completed | failed
total_images — integer
processed_images — integer
results — array of AnalyzeResponse
results[].image_id — string
results[].analysis_type — enum: normal | advanced
results[].results — object
results[].processing_time — number
results[].error — string
404 Batch not found
500 Error in retrieving batch results

Example request

curl -X GET "https://api.tech.renovateai.app/public/v1/analyze/batch/YOUR_BATCH_ID" \
  -H "X-API-KEY: $RENOVATE_API_KEY"

Virtual Staging

Generate virtual staging variations by uploading a room image and selecting room type and style.

POST /virtual-staging/projects/create

Create a virtual staging project

Upload an image to start a virtual staging project. Each project can have up to 20 staging variations, and each project is considered as 1 staging credit.

Request body multipart/form-data (required)

FieldTypeRequiredDescription
image file yes Image of the room to be virtually staged

Responses

StatusMeaningBody
201 Project created successfully
project_id — string
input_image_url — string
400 Invalid image or exceeded project limit

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/virtual-staging/projects/create" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -F "image=@/path/to/room.jpg"

POST /virtual-staging/projects/{project_id}/stage

Generate a staged variation

Create a new staging variation for a given project using a room type and style.

Parameters

NameInTypeRequiredDescription
project_id path string yes

Request body application/json (required)

FieldTypeRequiredDescription
room_type string yes
style string yes

Responses

StatusMeaningBody
201 Staging variation created
status — enum: success
staged_image_url — string
project_id — string
400 Invalid request or variation limit exceeded

Example request

curl -X POST "https://api.tech.renovateai.app/public/v1/virtual-staging/projects/YOUR_PROJECT_ID/stage" \
  -H "X-API-KEY: $RENOVATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "room_type": "string",
  "style": "string"
}'

GET /virtual-staging/room-types

List supported room types

Retrieves the list of supported room types for virtual staging.

Responses

StatusMeaningBody
200 List of room types

Example request

curl -X GET "https://api.tech.renovateai.app/public/v1/virtual-staging/room-types" \
  -H "X-API-KEY: $RENOVATE_API_KEY"

GET /virtual-staging/styles

List supported staging styles

Retrieves the available interior styles for staging (e.g. modern, coastal).

Responses

StatusMeaningBody
200 List of styles

Example request

curl -X GET "https://api.tech.renovateai.app/public/v1/virtual-staging/styles" \
  -H "X-API-KEY: $RENOVATE_API_KEY"

GET /virtual-staging/projects/{project_id}

Get virtual staging project details

Retrieve input image and generated staging variations for a specific project.

Parameters

NameInTypeRequiredDescription
project_id path string yes

Responses

StatusMeaningBody
200 Project details with staged variations
project_id — string
input_image_url — string
generations — array of object
generations[].id — string
generations[].staged_image_url — string
generations[].created_at — string
generations[].style — string
generations[].room_type — string
404 Project not found

Example request

curl -X GET "https://api.tech.renovateai.app/public/v1/virtual-staging/projects/YOUR_PROJECT_ID" \
  -H "X-API-KEY: $RENOVATE_API_KEY"