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 provideYou get
The photos from a real-estate listing: exterior, drone aerials, roomsA 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'sA continuous cinematic walkthrough video (1080p24, Cycles), with titles and music
A synchronized comparison movie: the film above matching photo/render pairs

How it works

  1. 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.
  2. Write the plan. Levels, rooms, walls and openings in one coordinate system, validated without Blender.
  3. 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.
  4. Compare against every photo. Render each listing view, overlay edges, fix the plan rather than the camera.
  5. 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.
  6. 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

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.