Virtual Staging
Virtually stage empty rooms with realistic furniture and decor using AI. Transform vacant property photos into beautifully furnished spaces.
Overview
The virtual staging endpoint takes an empty room photo and a room type, then generates a photorealistic staged version with appropriate furniture and decor. The AI preserves the room's architecture, walls, windows, doors, flooring, lighting, and camera perspective while adding tasteful, properly scaled furnishings.
You can optionally provide a style prompt to guide the design aesthetic (e.g. "Scandinavian minimalist" or "classic traditional"). Two output versions are generated: a 4K final image for export and a 2K display version optimized for web use.
Quick Example
Submit an empty room photo to generate a staged version:
curl -X POST \
-H "X-API-Key: dome_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://example.com/photos/empty-living-room.jpg",
"room_type": "living room"
}' \
https://api.dometech.com.au/v1/virtual-staging/generateResponse (202):
{
"data": {
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "queued"
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-02-21T10:00:00.000Z",
"mode": "live"
}
}Step-by-Step
1. Prepare Your Image
Ensure your empty room photo is hosted at a publicly accessible HTTPS URL. For best results, use a well-lit photo of a completely empty or mostly empty room taken from a standard viewing angle.
2. Submit the Staging Request
Send a POST request to /v1/virtual-staging/generate with the image URL, room type, and optional style prompt.
curl -X POST \
-H "X-API-Key: dome_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://example.com/photos/empty-bedroom.jpg",
"room_type": "bedroom",
"options": {
"style_prompt": "Modern contemporary with warm neutral tones"
}
}' \
https://api.dometech.com.au/v1/virtual-staging/generateThe API returns a 202 Accepted response with a job_id. The staging is processed asynchronously.
Tip: The room_type parameter determines which furniture and decor the AI selects. Common values include "living room", "bedroom", "kitchen", "dining room", "office", and "bathroom".
3. Poll for Completion
Poll the job status endpoint until the status changes to completed. Virtual staging typically takes 10 to 30 seconds.
curl -H "X-API-Key: dome_live_your_key_here" \
https://api.dometech.com.au/v1/jobs/550e8400-e29b-41d4-a716-4466554400004. Retrieve the Staged Images
When the job completes, the output field contains URLs for both the full-resolution and display versions.
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"job_type": "virtual_staging",
"status": "completed",
"mode": "live",
"input": {
"image_url": "https://example.com/photos/empty-bedroom.jpg",
"room_type": "bedroom"
},
"output": {
"staged_image_url": "https://storage.example.com/staged.jpg",
"staged_display_url": "https://storage.example.com/staged_display.jpg",
"generation_time_seconds": 15.2
},
"created_at": "2026-02-21T10:00:00.000Z",
"updated_at": "2026-02-21T10:00:15.000Z",
"completed_at": "2026-02-21T10:00:15.000Z"
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-02-21T10:00:15.000Z",
"mode": "live"
}
}Options
| Parameter | Type | Required | Description |
|---|---|---|---|
image_url | string (URI) | Yes | Public URL of the empty room photo |
room_type | string | Yes | Type of room (e.g. "living room", "bedroom", "kitchen") |
options.style_prompt | string | No | Additional styling instructions (e.g. "Scandinavian minimalist") |
webhook_url | string (URI) | No | URL to receive progress and completion webhooks |
callback_metadata | object | No | Opaque data returned in webhook payloads |
See the API Reference for full parameter details and response schemas.
Output
When the job completes, the output object contains:
| Field | Type | Description |
|---|---|---|
staged_image_url | string | URL of the staged image at 4K resolution (JPEG, ~90% quality) |
staged_display_url | string | URL of the display version at 2K resolution (JPEG, 85% quality) |
generation_time_seconds | number | Time taken to generate the staged image in seconds |
Next Steps
- API Reference — Virtual Staging — Full parameter details and schemas
- Image Enhance — Enhance property photos with studio-quality lighting
- Video Clips — Generate video clips from your staged images
- Jobs & Webhooks — Polling best practices and real-time notifications