Should architects export depth before using ComfyUI?
Yes. Export a renderer-native depth pass whenever the 3D scene is available, then condition the ComfyUI generation with a compatible depth model. Native depth records the scene's actual camera and surfaces. Estimated depth is useful for screenshots and legacy images, but it introduces another interpretation before generation begins.
A façade mullion disappears. The prompt gets longer. The mullion remains dead.
This week's Stable Diffusion discussion offered the more useful answer: if the render engine can output a depth map, send that into the workflow. It sounds obvious, which is perhaps why it is so often skipped. Architects already possess cleaner geometric evidence than a depth estimator can reconstruct from a beauty pass.
The distinction is small in the node graph and large in the result. A renderer-native pass describes what the camera saw in the model. An inferred pass describes what a model thinks the image depicts. Those are not the same contract.
Why is native depth better than inferred depth?
A native depth pass is calculated from the scene camera and surfaces. Near and far values follow the modeled geometry, including quiet planes that a monocular estimator may flatten or misunderstand. Repetitive glazing, pale parapets and low-contrast steps are exactly where architectural images give an estimator too little visual drama and too much responsibility.
Depth estimation remains valuable. Our guide to recovering control from a flat render covers that rescue case. When the original scene has vanished, an estimate is better than a prompt pretending to be a surveyor. But estimating known geometry is a needless translation.
ControlNet 1.1's documentation says its depth model can work with real depth maps from rendering engines. The official ComfyUI examples also warn that a ControlNet expects the correct input format and will not turn an ordinary image into a depth map by itself. The node graph must receive the evidence it claims to use.
What should the renderer export?
Export the beauty image and depth from the same camera, resolution and crop. Disable any overscan mismatch. Record the near and far clipping values or normalization method because a depth image without its range is a grayscale riddle.
Prefer a high-bit-depth linear format while preparing the map. An 8-bit preview can show 256 tonal steps, which is an unhelpfully small staircase across a deep exterior scene. Convert only where the chosen preprocessor or model requires it, and keep the source pass beside the workflow.
| Input | What it knows | Main risk |
|---|---|---|
| Renderer depth | Scene surfaces, camera, clipping range | Bad normalization or mismatched crop |
| Estimated depth | Depth inferred from visible pixels | Flattened planes and confused edges |
| Canny edge | Image contrast boundaries | Texture edges mistaken for form |
| Normal pass | Surface orientation | Compatibility and encoding errors |
Depth is not the only useful control. The ControlNet project notes that normal maps can preserve minor geometric detail that barely registers in depth. For a relief façade or close material study, a normal pass may earn a second conditioning branch. More control is not automatically more fidelity, however. Each branch adds a parameter that can fight the others.
How should the ComfyUI graph be arranged?
Keep the first graph boring. Load the beauty image, load the prepared depth pass, apply the depth-compatible control model, then sample at a conservative denoise strength. Save the output with workflow metadata. The official ComfyUI example repository uses images that can be dragged back into the interface to recover the embedded graph, a useful habit for any deliverable that may need to be repeated.
Do not begin by stacking depth, edges, style references, three LoRAs and an upscaler. That graph can produce a splendid image while making the source of a warped balcony impossible to identify. Establish a depth-only baseline. Add one control at a time and preserve each checkpoint.
Our stage-checkpoint workflow treats this as production hygiene. A seed and a PNG are not enough. Record the checkpoint, control model, preprocessor if used, control strength, start and end percentages, denoise, sampler, scheduler, dimensions and source-pass filenames.
Where should control strength start?
There is no universal number because model families and control implementations differ. Start with a range test, not a favorite setting. Hold seed, prompt and every other parameter fixed, then generate a short strip at increasing control strengths.
Read the strip for failure, not prettiness. At the low end, watch rooflines, openings and floor edges. At the high end, watch for stiff textures, muddy detail or the control map imprinting itself too literally. Choose the lightest setting that preserves the geometry under review.
This is where an expert workflow separates design obligations from decoration. A café chair can wander in an atmosphere study. A fire stair cannot. List the protected edges before generating, then judge the output against that list.
What geometry still needs visual QA?
Depth constrains spatial structure; it does not certify architecture. Thin railings may occupy too few pixels. Glass can expose invented interiors. Repetitive bays may drift because the generator sees a pattern rather than a dimensioned assembly.
Overlay the output on the beauty render at partial opacity. Blink between them. Check the silhouette, floor lines, major openings, circulation, parapets, columns and any feature tied to approval. Our defect ledger is a better home for these findings than a Slack message saying the façade feels odd.
Also inspect occlusion. A tree added in front of an entrance may make the depth relationship look plausible while concealing a generated door that moved. Good camouflage is still camouflage.
When is inferred depth the right choice?
Use inferred depth when the source is a screenshot, scanned drawing, old JPEG or third-party image with no matching scene pass. It is also useful during early triage when building a proper render setup would cost more than the decision deserves.
Label it. Store the estimator and version, retain the generated map, and inspect that map before it reaches ControlNet. If a cantilever merges into the sky in the depth preview, generation will not restore the missing architectural argument.
For a flat elevation, depth may be the wrong control entirely. Canny or line work can protect the drawing's planar organization without inventing a false spatial stack. Match the control to the evidence, not to whatever node tutorial happened to load successfully.
The model already knows where the wall is
The useful change is procedural: make depth part of the render package, beside material IDs and the beauty pass. Name it with the camera and revision. Hand it to ComfyUI as source evidence, not as a mysterious gray accessory.
Prompting remains good at intent, atmosphere and material direction. It is a poor substitute for a measurement the renderer can supply for free. Export the fact. Then let the generator embellish around it.