The App
The interactive product, used by real-estate agents, agencies, networks and their marketing teams. A request is written in plain language, with images and a property attached; the App composes the Apps required and asks for confirmation before each generation.
Getting started
The App opens on a request field. A request carries text, images and a property; Displayhome composes the Apps required.
Musicevening-piano.mp3
A 30-second vertical video of this property on this track - warm evening atmosphere, slow pacing, captions in English, our end card.
Table 1Plan cards and the request they write
| Plan | Request |
|---|---|
| Vertical video | A 9:16 film of the property, ready for Instagram - about 30 seconds. |
| Video tour | The continuous tour of the property, room by room, in 16:9. |
| From the listing | Paste the listing link - the property and its tour build themselves. |
| Montage | Re-edit the film already generated with another film style, without regenerating anything. |
Table 2Sections of the App
| Section | Definition |
|---|---|
| Home | The prompt, your recent media, the plan cards. |
| Apps | The same capabilities, one workshop per deliverable, to run directly. See Apps. |
| Properties | Your inventory. Each property carries its photos, its profile and its visits. See Properties. |
| Media | Every image, clip and track produced or uploaded, ready to download. Nothing is replaced: each result is added. |
| Styling | Film styles - title cards, colours, logo - with preview. |
Access is by invitation, at app.displayhome.ai. Enterprise, the production service operated by Displayhome, is a separate product with its own documentation.
Properties
A property holds the photos, profile and visits of one listing.
Property of 14/09/2026
Ready to work
0 visits
Table 3Property object
| Field | Definition | Format |
|---|---|---|
| id | Identifier of the property. | uuid · v4 |
| name | Name shown in the App. A new property is named after the day it was created. | string · defaults to "Property of {date}" |
| listing_url | Public URL of the listing, when one was pasted. | string · absolute URL · https | null |
| profile | Identity, metrics, pricing, diagnostics, description and the provenance of each field. See Table 4. | object · see Table 4 |
| assets[] | The library: photos, plans, energy certificates, listing documents. See Table 5. | array<Asset> · see Table 5 |
| visits[] | The films in preparation on the property. See Table 6. | array<Visit> · see Table 6 |
| created_at · updated_at | Creation and last update. | string · ISO 8601 · UTC |
Table 4Profile
| Field | Definition | Format |
|---|---|---|
| identity.title | Commercial title of the listing. | string |
| identity.type | Type of property. | enum · apartment | house | studio | loft | duplex | other |
| identity.district | District or city. | string |
| metrics.surfaceM2 | Living surface. | float · m² · null |
| metrics.rooms | Number of main rooms. | integer · null |
| metrics.floor · metrics.totalFloors | Floor of the property and number of floors in the building. | integer · null |
| pricing.priceEur | Asking price. | integer · EUR · null |
| pricing.monthlyChargesEur · pricing.yearlyTaxEur | Monthly charges and yearly property tax. | integer · EUR · null |
| diagnostics.dpe | Energy performance certificate. | { grade: A–G | null, value: float kWh/m²/yr | null } |
| diagnostics.ges | Greenhouse gas rating. | { grade: A–G | null, value: float gCO₂/m²/yr | null } |
| description | Listing description. | string · UTF-8 |
| provenance[field] | Where each value came from, and when: a manual entry, the listing, or a document. | { source: enum manual | listing | document, at: ISO 8601 } |
Precedence. A manual value always wins. Between the listing and a document, the most recent wins. An import that contradicts a manual value is never applied silently: the conflict is shown with both values.
Table 5Asset
| Field | Definition | Format |
|---|---|---|
| id | Identifier of the asset. | uuid · v4 |
| kind | What the file is. Set on upload from the MIME type, refined by the analysis. | enum · photo | plan | epc | listing_doc | document |
| name · mime · url | File name, MIME type and public URL. The URL always points to the active version. | string · MIME type · absolute URL · https |
| meta.label | Short label produced by the classification. | string |
| meta.room | Room the photo belongs to, as displayed. Absent when the photo is not sorted. | string |
| meta.roomType | Canonical type of the room. Seeds the rooms of a visit. | enum · entrance | living | double_living | living_dining | kitchen_living | kitchen | bedroom | bathroom | hallway | dining | office | terrace | garden | exterior | other |
| meta.roomSource | Who sorted the photo. A manual sort is never overwritten by the AI mapping. | enum · ai | manual |
| meta.original · meta.versions[] | The original, frozen at the first edit, and the derived versions, append-only. The url points to the active version. | object · array<Version> · append-only |
Upload limits: 60 files per property, 20 MB per file. Images are resized in the browser before upload; HEIC is converted to JPEG.
Table 6Visit
| Field | Definition | Format |
|---|---|---|
| name | Name of the visit. | string |
| aspect_ratio | Format of the film. | enum · 16:9 | 9:16 |
| status | Where the visit stands. | enum · draft | analyzed | generated | assembled |
| estate_id | The property the visit belongs to. | uuid · v4 |
| cover_url | Cover of the visit: its first photo. | string · absolute URL · https |
ExampleProperty snapshot as passed to an App
{
"id": "6f1c9a2e-3b7d-4c8e-9f01-2a4b6c8d0e13",
"name": "Property of 14/09/2026",
"listingUrl": "https://your-agency.com/listings/AG-2026-01842",
"profile": {
"identity": { "title": "Apartment with terrace, Paris 6", "type": "apartment", "district": "Paris 6" },
"metrics": { "surfaceM2": 260, "rooms": 6, "floor": 4, "totalFloors": 6 },
"pricing": { "priceEur": 4950000, "monthlyChargesEur": null, "yearlyTaxEur": null },
"diagnostics": { "dpe": { "grade": "C", "value": 140 }, "ges": { "grade": "B", "value": 9 } },
"provenance": {
"identity.title": { "source": "listing", "at": "2026-09-14T09:12:00Z" },
"metrics.surfaceM2": { "source": "manual", "at": "2026-09-14T09:20:00Z" },
"diagnostics.dpe": { "source": "document", "at": "2026-09-14T09:15:00Z" }
}
},
"assets": [
{ "id": "a1f0c2d4-…", "kind": "photo", "name": "salon.jpg", "mime": "image/jpeg", "url": "https://…/salon.jpg", "room": "Living room", "roomType": "living", "roomSource": "ai" },
{ "id": "b7e3d9a1-…", "kind": "plan", "name": "floor-plan.pdf", "mime": "application/pdf", "url": "https://…/floor-plan.pdf" }
]
}
Apps
Five Apps, each producing one type of media from a property.
Every generation asks for confirmation before it starts. Home staging is an App feature - not part of Enterprise production.
Table 7Apps, output and input
| App | Output | Input |
|---|---|---|
| Video tour | One continuous video tour of the property, room by room, from its photos. | A property and its photos |
| Retouch & format | A batch of images retouched in one go - light, clean-up, format, quality - with presets and a prompt. | Images or a property |
| Animated photo | A short camera move from one photo - in, out or sideways - with a suggested end frame to approve or adjust. | An image or a property |
| Montage | An existing film restyled - title cards, captions, styling - without regenerating anything. | A visit with clips |
| Home staging | An empty room furnished, or a furnished room emptied, from a single photo. | A property and its photos |