OpenHouse 3D: listing photos to 3D walkthrough videos
An open-source Blender toolkit that rebuilds a house as a 3D model from its real-estate listing photos, then renders a cinematic walkthrough video, photo-matched stills and a photo-vs-render comparison film. It runs headless.
13695 Stanford Drive, Carmel, Indiana, rebuilt from its 32 listing photos. Left, Opus 5.5: the reconstruction in the repository, built with Claude Opus 5.5 using this toolkit. Right, Astra: an independent reconstruction of the same listing. Under each film: the original listing photo and the matching virtually staged render. Full resolution (3856 × 1980).
What it does
| You provide | You get |
|---|---|
| The photos from a real-estate listing: exterior, drone aerials, rooms | A procedural 3D model of the house, lot and street in Blender |
| A few known dimensions (optional) | Renders from every listing photo's own camera and an offline photo-vs-render gallery |
| Your reading of rooms, levels and openings, or an AI coding agent's | A continuous cinematic walkthrough video (1080p24, Cycles), with titles and music |
| A synchronized comparison movie: the film above matching photo/render pairs |
How it works
- Solve the photo cameras. Point and line solvers recover each listing photo's camera, including perspective-corrected (shifted-lens) photos and drone aerials. Several photos are solved together with unknown plan dimensions.
- Write the plan. Levels, rooms, walls and openings in one coordinate system, validated without Blender.
- Build procedurally in bpy. Lap siding and brick as geometry, windows, doors, stairs, roofs and gutters, kitchens, baths, furniture, soft goods, trees, lawns, pavers, water and neighbouring houses.
- Compare against every photo. Render each listing view, overlay edges, fix the plan rather than the camera.
- Film it. Author a timed camera route, audit clearance and pan speed, and render a packed, fingerprinted scene with resumable chunked Cycles jobs on CPU, Metal, OptiX, CUDA, HIP or oneAPI.
- Deliver. Titles, music edit, temporal denoising, gallery, frame-accurate comparison video and checksums.
It is a modeling toolkit, not a one-click service or photogrammetry. Hidden geometry is inferred, and a reconstruction is not a measured survey.
Example houses
- Stanford, Carmel IN: 32 photos, photo-solved cameras, a ~66 s golden-hour cinematic and an 80 s route-matched walkthrough.
- Webster, Palo Alto CA: a 64 s continuous walkthrough and a synchronized comparison of 31 photos.
- Walsh, Atherton CA: a modern travertine villa with 29 photo-matched stills and a 78 s long take.
- Alpine, Beverly Hills CA: an experimental Georgian estate.
Try it
git clone https://github.com/yunfanye/openhouse-3d.git
cd openhouse-3d
python3 -m venv .venv && . .venv/bin/activate
python -m pip install -e '.[dev]'
python tools/new_house.py my_house --title "My house"
blender -b --python-exit-code 1 --python run.py -- \
--house my_house --cam hero --samples 16 --scale 25 --no-polish --device CPU
Requires Blender 5.2 and Python 3.9+. See the README and the workflow guide.