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:
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
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:
The widget slug — which setting you are configuring
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