← [ back to papers ]
2026-08-31 · PAPER

Five consistent AI renders, from two buttons in Revit

A Revit add-in that turns the views you already have into one matching set, and marks its own work against Revit’s materials.

Snowdon Towers sample model · Revit 2025 · nano banana pro and Topaz through the Higgsfield API

1. Two buttons

A RenderAI tab in the Revit ribbon with two commands, Prepare and Finish.
Prepare packs the views and writes the prompt. Finish cuts the generated sheet back apart and scores it.

Everything below happens between those two clicks. A chatbot renders one image at a time, so five views become five conversations with five ideas of the materials.

your Revit modelthe viewshow it lookscrop to the buildingone sheetfive views, no gapsthe materialswhat it is made ofnames and coloursone promptbuilt, not typedgenerate4K, then upscale · Higgsfieldcut apartthe same five views, now renderedready to use images
Two things leave the model: the views, and the material data they are made of. They meet at one call, and one image comes back.

2. Pick the views

A dialog listing every 3D view in the model with its projection and display style, open over the Revit window.
Every 3D view in the model, with its projection, display style and [template] where one is attached.

The list is read from the document, which is also how the add-in knows which views carry a template. A template locks the display style the material map needs to change.

3. Pick the sun

A dialog listing the suns defined in the model, with an arrow marking the one the selected views already use.
The suns in the model, with ← on these views marking the one the selection already uses. Shadows stay on and the prompt follows the light that is already there.

4. One sheet, one generation

Left, five Revit views packed into a single sheet with no gaps. Right, the generated version of the same sheet.
Left: five views packed with zero margin, because white padding makes the generator recompose them. Right: one 4K generation, then a Topaz upscale.

A better prompt cannot replace this. Views that must agree have to be in the same image at the same moment. Generating them one by one, or passing a finished view along as a reference, was measured and did not hold.

The five finished renders in a row, all showing the same building with the same materials and light.
The sheet cut back apart. Same building, same materials, same light.

5. The score comes with the result

A results panel showing the five renders as cards, each with a delta E badge, and controls to switch between Revit, AI, Compare and Map.
Every view comes back with a ΔE badge. Revit / AI / Compare / Map switch between the source, the render, the two together and the material map.

The number sits next to the image, before anything goes out. Revit can paint the same view a second way:

Three versions of one view side by side: the Revit render, the same view in flat material colours, and the AI result.
Left: the Revit view. Middle: one flat colour per material, no shading, so the colour does not change with the camera. Right: the AI result. Every pixel in the middle knows its material, so drift is a lookup.

A shaded view cannot do this. The same red roof reads bright red from one camera and dark maroon from another.

6. What the map is for

Across the envelope, colour drifts 12.4ΔE00 between views. Revit’s own figure, measured the same way, is 2.7. The map does two things with that gap.

It catches a member before a client does. The white parapet drifts 18.5, well past the rest. Better known before a meeting than during one.

It picks between generations. Eight images came from this sheet. A figure per material says which has the better concrete, which the better facade.

Run twice on different days, with one camera changed in between: Revit’s floor came back at 2.7 both times, to the decimal. The ruler does not move, so what differs between runs is the generation.

An optional correction pass moves the number without making the picture better, so the slider sits low. The map finds drift, it does not fix it. Geometry holds throughout: frame shift 0.27 to 1.06%.

Three close crops: brick coursing with window reveals, a roof terrace, and a curtain wall panel grid.
Brick coursing and window reveals survive, the curtain wall grid stays regular, the planting reads as texture rather than plants. Minor defects are there and do not stop the image working.

7. Why this belongs in the model

A Revit model is nearly finished work. The skeleton is decided and must not move, so the AI’s job is enhancement, not generation, and the only way to claim that is to show it stayed put.

It keeps changes upstream too. The prompt is read off the pixels, so changing a material in Revit changes the prompt by itself, once, for every view.

Left, a hidden-line cutaway drawing of a six storey stair core. Right, the same drawing rendered as a photograph of a concrete stair.
Another view from the same model: a hidden-line cutaway of the stair core, carrying no material information. Left is the first frame of a five second clip, right the last. Give the model both ends and it fills in the rendering while the geometry stays put.
Why the Higgsfield API
The whole chain is one APIgeneration, then Topaz upscale, then video, on one account and one credit balance
Swapping models is one stringwhen one worker stalled, another ran immediately on the same call
It syncs with the websiteeverything generated is there to look through, not buried in a log
Mostly frontier modelseasy to put several against the same input and compare
get_costprice a job before spending anything

8. What it felt like to use

Putting this API inside a real workflow, I came away thinking AI rendering is genuinely usable here. Consistency is achievable. There are minor defects. And for getting the overall feel across quickly, it is good.

Footnotes
  • Asking for nano_banana_pro returns nano_banana_2.
  • Uploaded PNGs are re-encoded to JPEG on the way in.
  • The heritage facade is a linked file, so it colours per category rather than per material and its mask is coarser.
  • Interiors here are near-empty boxes. Anything inside them is invented.
  • One model, one building. The claim is that this is measurable, not that the numbers generalise.