Virtual Staging, Declutter Room, Change Style and room videos from your property photos.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use only when the user wants a furnished room restyled while keeping its furniture arrangement. Ask only for the room image, room type, and design style when missing. Do not use this to furnish an empty room.
Natural room name, such as bedroom, living room, kitchen, or office.
Natural design style, such as Scandinavian, modern, industrial, or a style described by the user.
The room image attached by the user. Do not ask the user for file metadata.
A link or inline copy of the room image supplied by the client.
Optional user preferences stated in natural language. Do not ask for this when the request is already clear.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http roomlab https://mcp.roomlab.app/mcp
Use only when the user wants a furnished room restyled while keeping its furniture arrangement. Ask only for the room image, room type, and design style when missing. Do not use this to furnish an empty room.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| room_type* | string | Natural room name, such as bedroom, living room, kitchen, or office. |
| design_style* | string | Natural design style, such as Scandinavian, modern, industrial, or a style described by the user. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"room_type",
"design_style"
],
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"room_type": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Natural room name, such as bedroom, living room, kitchen, or office."
},
"design_style": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Natural design style, such as Scandinavian, modern, industrial, or a style described by the user."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants weeds and debris removed so a garden or outdoor area looks neat and maintained.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| reference_images | array | Optional reference images attached by the user. |
| reference_image_urls | array | |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"reference_images": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "An attached image supplied by a file-aware client. If the host only exposes a local path, omit this field so RoomLab can request the image safely.",
"additionalProperties": false
},
"maxItems": 6,
"description": "Optional reference images attached by the user."
},
"reference_image_urls": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A public HTTPS image URL or the existing inline base64 image supplied by the client. Never pass file:// URLs, local paths, invented bytes, or file metadata."
},
"maxItems": 6
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants a cinematic tour made from three to six room images in order. The workspace offers an automatic or user-written script and 12-, 15-, or 30-second durations.
| Argument | Type | Description |
|---|---|---|
| images | array | Three to six room images attached by the user in tour order. |
| image_urls | array | |
| tour_script | string | Optional user-written tour script. Omit to use RoomLab’s professional automatic tour. |
| duration_seconds | any | The workspace offers 12, 15, or 30 seconds. Omit unless the user requests one; the default is 12 seconds. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"images": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "An attached image supplied by a file-aware client. If the host only exposes a local path, omit this field so RoomLab can request the image safely.",
"additionalProperties": false
},
"maxItems": 6,
"minItems": 3,
"description": "Three to six room images attached by the user in tour order."
},
"image_urls": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A public HTTPS image URL or the existing inline base64 image supplied by the client. Never pass file:// URLs, local paths, invented bytes, or file metadata."
},
"maxItems": 6,
"minItems": 3
},
"tour_script": {
"type": "string",
"maxLength": 5000,
"description": "Optional user-written tour script. Omit to use RoomLab’s professional automatic tour."
},
"duration_seconds": {
"anyOf": [
{
"type": "number",
"const": 12
},
{
"type": "number",
"const": 15
},
{
"type": "number",
"const": 30
}
],
"description": "The workspace offers 12, 15, or 30 seconds. Omit unless the user requests one; the default is 12 seconds."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants an animated transformation from a start image to an end image. The transition style and 5- or 10-second duration match the workspace controls.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| end_image | object | The transition end image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| end_image_url | any | A link or inline copy of the transition end image supplied by the client. |
| duration_seconds | any | The workspace offers 5 or 10 seconds. Omit unless the user requests one; the default is 5 seconds. |
| transition_style* | string | How the start image should transform into the end image, such as a timelapse, falling into place, assembling, or a custom description. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
Use when the user wants one room photo animated with a camera move or other described effect. The effect and 5- or 10-second duration match the workspace controls.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| video_effect* | string | The camera move or effect requested by the user, such as orbit left, orbit right, zoom in, zoom out, pan, or a custom description. |
| duration_seconds | any | The workspace offers 5 or 10 seconds. Omit unless the user requests one; the default is 5 seconds. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"video_effect"
],
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"video_effect": {
"type": "string",
"maxLength": 5000,
"minLength": 2,
"description": "The camera move or effect requested by the user, such as orbit left, orbit right, zoom in, zoom out, pan, or a custom description."
},
"duration_seconds": {
"anyOf": [
{
"type": "number",
"const": 5
},
{
"type": "number",
"const": 10
}
],
"description": "The workspace offers 5 or 10 seconds. Omit unless the user requests one; the default is 5 seconds."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use for the workspace Custom Prompt mode when another named RoomLab mode does not match. The user may supply one main image, up to six reference images, and natural-language instructions.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| instructions* | string | The user’s requested room edit in natural language. |
| reference_images | array | Optional reference images attached by the user. |
| reference_image_urls | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"instructions"
],
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"instructions": {
"type": "string",
"maxLength": 2000,
"minLength": 2,
"description": "The user’s requested room edit in natural language."
},
"reference_images": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "An attached image supplied by a file-aware client. If the host only exposes a local path, omit this field so RoomLab can request the image safely.",
"additionalProperties": false
},
"maxItems": 6,
"description": "Optional reference images attached by the user."
},
"reference_image_urls": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A public HTTPS image URL or the existing inline base64 image supplied by the client. Never pass file:// URLs, local paths, invented bytes, or file metadata."
},
"maxItems": 6
}
}
}Use when the user wants clutter and visual mess removed while keeping the major furniture and architecture. This matches the Declutter Room workspace card.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants all furniture, appliances, and decor removed so the room appears vacant. This matches the Empty Room workspace card.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants a pool filled with clean water and the surrounding pool area tidied.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| reference_images | array | Optional reference images attached by the user. |
| reference_image_urls | array | |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"reference_images": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "An attached image supplied by a file-aware client. If the host only exposes a local path, omit this field so RoomLab can request the image safely.",
"additionalProperties": false
},
"maxItems": 6,
"description": "Optional reference images attached by the user."
},
"reference_image_urls": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A public HTTPS image URL or the existing inline base64 image supplied by the client. Never pass file:// URLs, local paths, invented bytes, or file metadata."
},
"maxItems": 6
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Check a RoomLab.app creation and return status or finished media as data, without opening another card. The existing creation card polls automatically. Use this tool when no card is available or the user asks to check a result; do not repeatedly poll alongside an active card.
| Argument | Type | Description |
|---|---|---|
| generation_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"generation_id"
],
"properties": {
"generation_id": {
"type": "string",
"minLength": 1
}
}
}Use when the user wants dry or patchy grass refreshed so the lawn looks green and healthy.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| reference_images | array | Optional reference images attached by the user. |
| reference_image_urls | array | |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"reference_images": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "An attached image supplied by a file-aware client. If the host only exposes a local path, omit this field so RoomLab can request the image safely.",
"additionalProperties": false
},
"maxItems": 6,
"description": "Optional reference images attached by the user."
},
"reference_image_urls": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A public HTTPS image URL or the existing inline base64 image supplied by the client. Never pass file:// URLs, local paths, invented bytes, or file metadata."
},
"maxItems": 6
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants an exterior sketch, model view, or design image turned into a photorealistic architectural render. Time of day, season, landscape, and extra instructions match the workspace controls.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| season | string | Optional workspace season choice: spring, summer, autumn, winter, or a custom description. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| landscape | string | Optional workspace landscape choice or custom setting. |
| time_of_day | string | Optional workspace time-of-day choice, such as morning, midday, afternoon, golden hour, dusk, night, or a custom description. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"season": {
"type": "string",
"maxLength": 100,
"description": "Optional workspace season choice: spring, summer, autumn, winter, or a custom description."
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"landscape": {
"type": "string",
"maxLength": 300,
"description": "Optional workspace landscape choice or custom setting."
},
"time_of_day": {
"type": "string",
"maxLength": 200,
"description": "Optional workspace time-of-day choice, such as morning, midday, afternoon, golden hour, dusk, night, or a custom description."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants an interior sketch, model view, or design image turned into a photorealistic architectural render. Time of day and extra instructions are the only optional workspace controls.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| time_of_day | string | Optional workspace time-of-day choice, such as morning, midday, afternoon, golden hour, dusk, night, or a custom description. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"time_of_day": {
"type": "string",
"maxLength": 200,
"description": "Optional workspace time-of-day choice, such as morning, midday, afternoon, golden hour, dusk, night, or a custom description."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants one furniture item replaced with the item shown in a reference image. Ask for the room type and furniture item only when missing.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| room_type* | string | Room type, such as living room, bedroom, kitchen, bathroom, dining room, or office. |
| furniture_item* | string | Furniture item to replace, such as sofa, bed, chair, or table. |
| reference_image | object | The reference image attached by the user. Do not ask the user for file metadata. |
| reference_image_url | any | A link or inline copy of the reference image supplied by the client. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
Use when the user wants the material on a wall, floor, rug, curtain, countertop, backsplash, or another surface changed to match a reference image.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| surface* | string | Surface whose material should change, such as wall, floor, countertop, or backsplash. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| reference_image | object | The reference image attached by the user. Do not ask the user for file metadata. |
| reference_image_url | any | A link or inline copy of the reference image supplied by the client. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"surface"
],
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"surface": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Surface whose material should change, such as wall, floor, countertop, or backsplash."
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"reference_image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The reference image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"reference_image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the reference image supplied by the client."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use when the user wants a dull or cloudy sky changed to a clear bright blue sky while preserving the property and landscaping.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| reference_images | array | Optional reference images attached by the user. |
| reference_image_urls | array | |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"reference_images": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "An attached image supplied by a file-aware client. If the host only exposes a local path, omit this field so RoomLab can request the image safely.",
"additionalProperties": false
},
"maxItems": 6,
"description": "Optional reference images attached by the user."
},
"reference_image_urls": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A public HTTPS image URL or the existing inline base64 image supplied by the client. Never pass file:// URLs, local paths, invented bytes, or file metadata."
},
"maxItems": 6
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use this when the user asks to make an existing RoomLab image 4K. The generation ID is enough; RoomLab retrieves the image and selects the correct upscale path internally.
| Argument | Type | Description |
|---|---|---|
| generation_id* | string | The RoomLab generation to make 4K. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"generation_id"
],
"properties": {
"generation_id": {
"type": "string",
"minLength": 1,
"description": "The RoomLab generation to make 4K."
}
}
}Use only when the user wants furniture and decor added to an empty room. Ask only for the room image, room type, and design style when missing. Do not use this to restyle a furnished room.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| room_type* | string | Natural room name, such as bedroom, living room, kitchen, or office. |
| design_style* | string | Natural design style, such as Scandinavian, modern, industrial, or a style described by the user. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"room_type",
"design_style"
],
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"room_type": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Natural room name, such as bedroom, living room, kitchen, or office."
},
"design_style": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Natural design style, such as Scandinavian, modern, industrial, or a style described by the user."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}Use this when the user wants to compare paint colors on the walls of the same room. It returns a nine-color comparison. Color preferences are optional; use RoomLab’s balanced default palette when the user did not specify colors.
| Argument | Type | Description |
|---|---|---|
| image | object | The room image attached by the user. Do not ask the user for file metadata. |
| colors | array | Optional nine paint colors in grid order. Omit to use the same nine defaults shown in the workspace. |
| image_url | any | A link or inline copy of the room image supplied by the client. |
| additional_instructions | string | Optional user preferences stated in natural language. Do not ask for this when the request is already clear. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"colors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"maxItems": 9,
"minItems": 9,
"description": "Optional nine paint colors in grid order. Omit to use the same nine defaults shown in the workspace."
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"transition_style"
],
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"end_image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The transition end image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"end_image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the transition end image supplied by the client."
},
"duration_seconds": {
"anyOf": [
{
"type": "number",
"const": 5
},
{
"type": "number",
"const": 10
}
],
"description": "The workspace offers 5 or 10 seconds. Omit unless the user requests one; the default is 5 seconds."
},
"transition_style": {
"type": "string",
"maxLength": 5000,
"minLength": 2,
"description": "How the start image should transform into the end image, such as a timelapse, falling into place, assembling, or a custom description."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"room_type",
"furniture_item"
],
"properties": {
"image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The room image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the room image supplied by the client."
},
"room_type": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Room type, such as living room, bedroom, kitchen, bathroom, dining room, or office."
},
"furniture_item": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Furniture item to replace, such as sofa, bed, chair, or table."
},
"reference_image": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"minLength": 1
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri",
"description": "A temporary HTTPS download URL supplied by the host. Never construct this from a local path."
}
},
"description": "The reference image attached by the user. Do not ask the user for file metadata.",
"additionalProperties": false
},
"reference_image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"anyOf": [
{
"type": "string",
"maxLength": 13981144,
"description": "A complete data:image/jpeg, data:image/png, or data:image/webp base64 URI supplied by the client."
},
{
"type": "object",
"required": [
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"mime_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"mimeType",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "image"
},
"mimeType": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"source"
],
"properties": {
"type": {
"type": "string",
"const": "image"
},
"source": {
"type": "object",
"required": [
"type",
"media_type",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 13981080,
"minLength": 4,
"description": "The existing base64 image bytes. Pass them unchanged; do not regenerate or summarize them."
},
"type": {
"type": "string",
"const": "base64"
},
"media_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
}
],
"description": "A link or inline copy of the reference image supplied by the client."
},
"additional_instructions": {
"type": "string",
"maxLength": 2000,
"description": "Optional user preferences stated in natural language. Do not ask for this when the request is already clear."
}
}
}