L'App
Le produit interactif, utilisé par les agents immobiliers, les agences, les réseaux et leurs équipes marketing. Une demande s'écrit en langage naturel, avec des images et un bien attachés ; l'App compose les Apps nécessaires et demande confirmation avant chaque génération.
Premiers pas
L'App s'ouvre sur un champ de demande. Une demande porte du texte, des images et un bien ; Displayhome compose les Apps nécessaires.
Musiqueevening-piano.mp3
Une vidéo verticale de 30 secondes de ce bien sur ce morceau - ambiance chaude de fin de journée, rythme lent, sous-titres en français, notre carton de fin.
Tableau 1Les cartes de plan et la demande qu'elles écrivent
| Plan | Demande |
|---|---|
| Vidéo verticale | Un film 9:16 du bien, prêt pour Instagram - environ 30 secondes. |
| Visite vidéo | La visite continue du bien, pièce par pièce, en 16:9. |
| Depuis l’annonce | Collez le lien de l'annonce - le bien et sa visite se construisent seuls. |
| Montage | Remonter le film déjà généré avec un autre style de film, sans rien regénérer. |
Tableau 2Les sections de l'App
| Section | Définition |
|---|---|
| Accueil | Le prompt, vos médias récents, les cartes de plan. |
| Apps | Les mêmes capacités, un atelier par livrable, à lancer directement. Voir Apps. |
| Biens | Votre stock. Chaque bien porte ses photos, son profil et ses visites. Voir Biens. |
| Médias | Chaque image, clip et morceau produit ou déposé, prêt à télécharger. Rien n'est remplacé : chaque résultat s'ajoute. |
| Habillage | Les styles de film - cartons, couleurs, logo - avec aperçu. |
L'accès est sur invitation, à app.displayhome.ai. Enterprise, le service de production opéré par Displayhome, est un produit à part, avec sa propre documentation.
Biens
Un bien porte les photos, le profil et les visites d'une annonce.
Bien du 14/09/2026
Prêt à travailler
0 visite
Tableau 3Objet bien
| Champ | Définition | Format |
|---|---|---|
| id | Identifiant du bien. | uuid · v4 |
| name | Nom affiché dans l'App. Un nouveau bien prend le nom du jour de sa création. | string · par défaut "Bien du {date}" |
| listing_url | URL publique de l'annonce, quand elle a été collée. | string · URL absolue · https | null |
| profile | Identité, mesures, prix, diagnostics, description et provenance de chaque champ. Voir le tableau 4. | object · voir le tableau 4 |
| assets[] | La bibliothèque : photos, plans, diagnostics énergétiques, documents d'annonce. Voir le tableau 5. | array<Asset> · voir le tableau 5 |
| visits[] | Les films en préparation sur le bien. Voir le tableau 6. | array<Visit> · voir le tableau 6 |
| created_at · updated_at | Création et dernière mise à jour. | string · ISO 8601 · UTC |
Tableau 4Profil
| Champ | Définition | Format |
|---|---|---|
| identity.title | Titre commercial de l'annonce. | string |
| identity.type | Type de bien. | enum · apartment | house | studio | loft | duplex | other |
| identity.district | Quartier ou ville. | string |
| metrics.surfaceM2 | Surface habitable. | float · m² · null |
| metrics.rooms | Nombre de pièces principales. | integer · null |
| metrics.floor · metrics.totalFloors | Étage du bien et nombre d'étages de l'immeuble. | integer · null |
| pricing.priceEur | Prix demandé. | integer · EUR · null |
| pricing.monthlyChargesEur · pricing.yearlyTaxEur | Charges mensuelles et taxe foncière annuelle. | integer · EUR · null |
| diagnostics.dpe | Diagnostic de performance énergétique. | { grade: A–G | null, value: float kWh/m²/an | null } |
| diagnostics.ges | Émissions de gaz à effet de serre. | { grade: A–G | null, value: float gCO₂/m²/an | null } |
| description | Description de l'annonce. | string · UTF-8 |
| provenance[field] | D'où vient chaque valeur, et quand : une saisie manuelle, l'annonce, ou un document. | { source: enum manual | listing | document, at: ISO 8601 } |
Précédence. Une valeur manuelle gagne toujours. Entre l'annonce et un document, la plus récente gagne. Un import qui contredit une valeur manuelle n'est jamais appliqué en silence : le conflit est affiché avec les deux valeurs.
Tableau 5Asset
| Champ | Définition | Format |
|---|---|---|
| id | Identifiant de l'asset. | uuid · v4 |
| kind | Ce qu'est le fichier. Posé au dépôt d'après le type MIME, affiné par l'analyse. | enum · photo | plan | epc | listing_doc | document |
| name · mime · url | Nom du fichier, type MIME et URL publique. L'URL pointe toujours vers la version active. | string · type MIME · URL absolue · https |
| meta.label | Libellé court produit par la classification. | string |
| meta.room | Pièce à laquelle la photo appartient, telle qu'affichée. Absent quand la photo n'est pas rangée. | string |
| meta.roomType | Type canonique de la pièce. Sert à créer les pièces d'une visite. | enum · entrance | living | double_living | living_dining | kitchen_living | kitchen | bedroom | bathroom | hallway | dining | office | terrace | garden | exterior | other |
| meta.roomSource | Qui a rangé la photo. Un rangement manuel n'est jamais écrasé par le rangement IA. | enum · ai | manual |
| meta.original · meta.versions[] | L'original, figé à la première modification, et les versions dérivées, en ajout seul. L'url pointe vers la version active. | object · array<Version> · ajout seul |
Limites de dépôt : 60 fichiers par bien, 20 Mo par fichier. Les images sont redimensionnées dans le navigateur avant l'envoi ; le HEIC est converti en JPEG.
Tableau 6Visite
| Champ | Définition | Format |
|---|---|---|
| name | Nom de la visite. | string |
| aspect_ratio | Format du film. | enum · 16:9 | 9:16 |
| status | Où en est la visite. | enum · draft | analyzed | generated | assembled |
| estate_id | Le bien auquel la visite appartient. | uuid · v4 |
| cover_url | Couverture de la visite : sa première photo. | string · URL absolue · https |
ExempleInstantané du bien tel qu'il est transmis à une App
{
"id": "6f1c9a2e-3b7d-4c8e-9f01-2a4b6c8d0e13",
"name": "Bien du 14/09/2026",
"listingUrl": "https://votre-agence.fr/annonces/AG-2026-01842",
"profile": {
"identity": { "title": "Appartement avec terrasse, 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": "Salon", "roomType": "living", "roomSource": "ai" },
{ "id": "b7e3d9a1-…", "kind": "plan", "name": "plan.pdf", "mime": "application/pdf", "url": "https://…/plan.pdf" }
]
}
Apps
Cinq Apps, chacune produisant un type de média à partir d'un bien.
Chaque génération demande confirmation avant de démarrer. Le home staging est une fonction de l'App - il ne fait pas partie de la production Enterprise.
Tableau 7Les Apps, sortie et entrée
| App | Sortie | Entrée |
|---|---|---|
| Visite vidéo | Une visite vidéo continue du bien, pièce par pièce, à partir de ses photos. | Un bien et ses photos |
| Retouche & format | Un lot d'images retouchées d'un coup - lumière, nettoyage, format, qualité - avec des préréglages et un prompt. | Des images ou un bien |
| Photo animée | Un court mouvement de caméra à partir d'une photo - avant, arrière ou latéral - avec une image de fin proposée, à valider ou ajuster. | Une image ou un bien |
| Montage | Un film existant rhabillé - cartons, sous-titres, habillage - sans rien regénérer. | Une visite avec ses clips |
| Home staging | Une pièce vide meublée, ou une pièce meublée vidée, à partir d'une seule photo. | Un bien et ses photos |