> For the complete documentation index, see [llms.txt](https://documentation.deep-image.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.deep-image.ai/common-usecases/real-estate.md).

# Real estate

We can use image generation feature to transform empty or bare room photos into fully furnished and designed spaces. Whether you're showcasing a property, visualizing design options, or enhancing listings, this feature can automatically add furniture, decor, and other design elements to an empty room, creating a realistic, styled environment.

Let's change this image

<figure><img src="/files/LTW6gd7JzZaLh4Ca3Gkf" alt="" width="563"><figcaption></figcaption></figure>

### Image edit based

```json
{
    "url": "https://s3.eu-central-1.amazonaws.com/deep-image.ai/api-examples/lost-places-597166_1280.jpg",
    "background": {
       "generate": {
           "description": "A loft style furnishings",
           "adapter_type": "control",
           "model_type": "flux2-klein9b"
       }
    }
}
```

<figure><img src="/files/Ts39GeB2cVBJGX0jK5zx" alt=""><figcaption></figcaption></figure>

Other model types examples:

#### gemini-3-pro-image-preview

<figure><img src="/files/LoZgXNjhaRl98OUEHLsN" alt=""><figcaption></figcaption></figure>

#### qwen

<figure><img src="/files/mliFk04qMsM9f9qhk2AK" alt=""><figcaption></figcaption></figure>

#### see-dream-4.5

<figure><img src="/files/ebwP0GTumrmDJ36HLvxq" alt=""><figcaption></figcaption></figure>

### Controlnet based

```json
{
    "url": "https://s3.eu-central-1.amazonaws.com/deep-image.ai/api-examples/lost-places-597166_1280.jpg",
    "background": {
       "generate": {
           "description": "A loft style furnishings",
           "adapter_type": "control",
           "controlnet_conditioning_scale": 0.75
       }
    }
}
```

into:

<figure><img src="/files/Ylv8X1SPzdVPCz4Zc6qe" alt="" width="563"><figcaption></figcaption></figure>

Parameter "**adapter\_type**" is an algorithm type. Value "**control**" generates images based on given image and the edges extracted from the given image while value "**control2**" generates based only on extracted edges. Let's visualise those differences:

Having that image:

<figure><img src="/files/08rX4WbY9aakkop9X8f1" alt=""><figcaption></figcaption></figure>

Edges extracted from that image (this is done under the hood during processing):

<figure><img src="/files/VLrnuo01ygdK1Kyi8x2S" alt=""><figcaption></figcaption></figure>

Result (the same prompt and other parameters) for adapter\_type = "**control**" (based on image and edges), image is mostly preserved, there are just minimal changes.

<figure><img src="/files/RdpqJSzXZVTsiiVYE1AG" alt=""><figcaption></figcaption></figure>

Using adapter\_type = "control2" it uses only edges of the given image:

<figure><img src="/files/MhgAfLZ4uS2IZBJOWG7y" alt=""><figcaption></figcaption></figure>

Yet another example.

<figure><img src="/files/WuxnZH9kIJSNqgQbtBe8" alt=""><figcaption></figcaption></figure>

Description: "house at winter", adapter\_type="control2" (just edges).

<figure><img src="/files/uzqPekAPlPuxPP31bFgE" alt=""><figcaption></figcaption></figure>
