For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tools & Widgets

Before writing a single line of code it is important to understand what Tools and Widgets are, because every API call you make is built around them.


What is a Tool?

A Tool is one of the AI services the platform offers. Think of it the same way you think of an app on your phone — each tool does one specific job, and you pick the one that matches what you want to accomplish.

For example:

  • Want to add furniture to an empty room? → use AI Virtual Staging (tool-virtual-staging)

  • Want to convert a daytime exterior to a golden-hour dusk shot? → use AI Day to Dusk (tool-day-to-dusk)

  • Want to remove unwanted objects from a photo? → use AI Item Removal (tool-item-removal)

Every tool has two identifiers:

Identifier
Example
Where it's used

Name

AI Virtual Staging

Human-readable label in the UI

Slug

tool-virtual-staging

The value you send in API requests

You always use the slug in your code.

Each tool also defines one or more input slots — named placeholders for the images you upload. For example, the Virtual Staging tool has one slot called tool-virtual-staging-input-image. You map each slot to the ID of an asset you uploaded. Some tools (like Darkness) have two slots — a "before" and an "after" image.

Fetching all available tools

curl 'https://app.aihomedesign.com/api/tools'

No authentication required. Response:

{
  "data": [
    {
      "id": "6848085cd55c9753c282ca69",
      "name": "AI Virtual Staging",
      "slug": "tool-virtual-staging",
      "isActive": true
    },
    ...
  ]
}

All available tools

Slug
Display Name
What it does

tool-virtual-staging

AI Virtual Staging

Furnishes an empty room with AI-generated furniture

tool-virtual-restaging

AI Virtual Restaging

Replaces existing furniture with a new style

tool-item-removal

AI Item Removal

Automatically removes objects from a room photo

tool-item-removal-mask

AI Item Removal (Mask)

Removes specific items you mark with a mask image

tool-image-enhancement

AI Image Enhancement

Improves lighting, sharpness, colour balance and adds effects

tool-interior-design

AI Interior Designer

Fully redesigns a room with a chosen style and palette

tool-furniture-set-restyle

AI Furniture Restyle

Swaps out a room's furniture set for a different style

tool-wall-change

AI Wall Change

Changes wall colour, texture or wallpaper

tool-floor-change

AI Floor Change

Swaps the floor material (marble, hardwood, tile, etc.)

tool-ceiling-change

AI Ceiling Change

Changes the ceiling material or colour

tool-backsplash-change

AI Backsplash Change

Changes the kitchen or bathroom backsplash

tool-under-construction

AI Under Construction

Visualises a finished space from an unfinished room photo

tool-day-to-dusk

AI Day to Dusk

Converts a daytime exterior to a dusk/twilight scene


What is a Widget?

A Widget is a setting that tells the tool how to process your image. Think of it like the settings panel on a photo editing app — before the AI runs, you choose things like:

  • Which room type is in the photo? (Bedroom, Living Room, Kitchen…)

  • What design style should be applied? (Modern, Scandinavian, Bohemian…)

  • What material should the floor be changed to? (White Marble, Hardwood, Tile…)

Each tool has its own set of widgets. Some widgets are required (you must pick an option) and some are optional.

Widgets have Items

Every widget contains a list of Items — the actual choices. For example:

When you call the API you always provide both:

  1. The widget slug — which setting you are configuring

  2. One or more item slugs — which option(s) you are selecting

Most widgets are single-select (one item). A few are multi-select — you can pass several item slugs at once (e.g. the Image Enhancement "Enhancement Options" widget).

Understanding slug naming

Slugs follow a self-describing convention:


How Tools and Widgets Work Together

Here is the full picture for virtually staging a bedroom in modern style:

Want a living room in Scandinavian style instead? Just swap the item slugs — nothing else changes.

See the Tool Reference section for exact slugs for every tool.

Retrieving Available Widgets

Response Structure

Sample Response:


Widget

Each widget object contains the following fields:

slug

Unique widget identifier.

name

Human-readable widget name.

type

Widget type (tile, toggle, etc.).

key

Parameter key used when submitting widget selections in a process request.

isOptional

Indicates whether selection is required.

items

Available options for the widget.

related

List of widgets that control the visibility or availability of this widget.

Widget Items

Each widget contains one or more items representing selectable options.

Field

Description

slug

Unique item identifier.

name

Display name shown to users.

prompt

Internal prompt associated with the option.

iconSrc

URL of the item's icon.

isDefault

Indicates whether the item is selected by default.

accessibleIn

Restricts availability to specific selections in another widget.

Conditional Availability

Some widget items are only available when specific options are selected in another widget.

For example, in the Image Enhancement tool:

  • Lawn Replacement is only available when Outdoor is selected.

  • Add Screen to TV is only available when Indoor is selected.

  • Add Fire to Fireplace is available for both Indoor and Outdoor.

This relationship is defined through the accessibleIn field.

Last updated