You have a 2400-pixel viewport export, a fixed camera, and a facade whose window count cannot change. You open a popular workflow from a forum. It contains model loaders, two text encoders, four conditioning branches, a detailer, an upscaler, and six custom nodes that fail on import. Before the first render, you are debugging somebody else's computer.
That experience explains the repeated questions in this week's ComfyUI and archviz threads. Architects are not asking whether the software can produce a pretty image. They are asking for a path into the graph that preserves composition, improves materials and light, and does not require a second career as a node-package maintainer.
The answer is to learn five jobs, not five literal boxes. A working graph may use more than one node for each job, but every connection should answer one of these questions: What image enters? How does the model read it? What controls the geometry? How much change is permitted? Where does the result go?
1. Load: start with a useful source
Use a clean viewport export or clay render with a settled camera. Hide grids, axes, selection outlines, dimensions, and temporary objects. Keep hard edges readable. If glazing, mullions, rails, or reveals matter, they need enough contrast to survive a downsample.
A source image is not merely inspiration. In image-to-image work it is the first geometric claim. A noisy screenshot asks the model to interpret interface marks as building marks. A blown-out white model makes shallow recesses disappear before any control node sees them.
Resize deliberately. Most base models work at a moderate generation size, often around one megapixel, not at a presentation-board 4K canvas. Preserve the aspect ratio, make dimensions compatible with the model, and postpone final enlargement. Starting huge costs memory while giving the model more pixels in which to invent tiny errors.
2. Encode: turn pixels into a starting state
The VAE encode step converts the source image into the latent representation the sampler can edit. This is the hinge between a blank text-to-image generation and an alteration of your existing view. If the source bypasses this step, the prompt is designing a new building from scratch.
Match the VAE to the checkpoint or model family. Flux, SDXL, and other families do not share every component interchangeably. A mismatched encoder can produce washed color, strange contrast, or outright errors that look like a prompt problem. Begin with the components recommended for one known checkpoint. Change one variable only after the graph runs.
3. Constrain: give structure its own channel
Image-to-image alone encourages similarity, but it does not specify which similarities are mandatory. A depth, edge, or line control supplies that instruction separately. For architecture, this is the job that turns a style experiment into a defensible rendering method.
| Control | Best first use | Watch for |
|---|---|---|
| Depth | Massing, camera, major recesses | Thin rails and mullions may vanish |
| Canny or soft edge | Openings, rooflines, crisp details | Texture edges can become outlines |
| Line art | Sketches and clean elevations | Loose marks may be read as objects |
Begin with one control. Stacking depth, edge, normals, segmentation, and reference conditioning on the first attempt makes failure impossible to diagnose. If the mass moves, strengthen depth or lower denoise. If the mass holds but mullions drift, test an edge branch. Each added control should fix a named defect.
4. Sample: set how far the image may move
The sampler combines model, prompt, latent source, and structural conditioning. Architects should pay closest attention to denoise strength. It is the permission slip for change. Low values retain more of the source. High values allow deeper reinterpretation, including the sort of facade edits that look impressive until compared with the drawing set.
Start around 0.25 to 0.40 for material, atmosphere, vegetation, and lighting work on an established view. Treat that as a test range, not doctrine. Different models respond differently. Run a small contact sheet with the same seed and prompt at three nearby values. Pick the lowest setting that achieves the intended visual change.
Keep the seed fixed while tuning. If both seed and denoise change, you cannot tell whether a better result came from the setting or from luck. Once the graph behaves, release the seed to explore alternatives. Reproducibility is how you learn what a node did.
The prompt has two jobs
Describe what should change, then state what must remain. Material, time of day, weather, planting character, occupancy, and photographic treatment belong in the first part. Fixed camera, original massing, unchanged openings, and exact floor count belong in the second. Negative conditioning can discourage warped geometry, extra windows, duplicate elements, text, and watermarks, but a negative prompt is weaker than a proper structural control.
The smallest useful graph is the one where every box answers a question you can say aloud.
5. Decode and save: inspect before you enlarge
Decode the sampled latent, save the output, and compare it with the source at matching scale. Do not let an automatic upscaler hide inside the first graph. Upscaling is a second operation with its own capacity to replace window profiles, brick bonds, signage, and people. Approve structure first.
Use a simple review order: silhouette, opening count, floor lines, camera, material boundaries, then decorative detail. If a failure appears in the first four checks, return to control weight or denoise. If structure passes but the image feels flat, edit the prompt, lighting description, or model choice. This keeps technical faults separate from art direction.
Archive the source beside each approved output and record the seed, checkpoint, denoise value, control type, and control weight. A saved PNG is evidence of a result, not a recipe for repeating it. Those five values make later revisions faster and let another team member tell whether a changed facade came from the model, the settings, or a different input.
A first-session recipe
- Export one clean 16:9 clay view with visible openings and material zones.
- Build the standard image-to-image graph for one model family.
- Add a depth preprocessor and its matching control model.
- Fix the seed and render at denoise 0.25, 0.32, and 0.40.
- Mark changed openings directly on the three outputs.
- Keep the lowest-denoise version that delivers the intended light and material change.
- Only then add an edge control if thin geometry still moves.
Save that graph before installing a detailer, face fixer, style adapter, or tiled upscaler. Name it by purpose and model version, such as arch-img2img-depth-flux-v1. A graph you understand is a studio asset. A downloaded graph you cannot repair is a demo with a short fuse.
Our take
ComfyUI tutorials often teach installation through spectacle. They open with a finished graph, list the dependencies, and produce an image whose success is obvious but whose geometry was never contractual. Architecture reverses the priority. The first lesson should be controlled change, because a beautiful replacement for the wrong building has no billable value.
This five-job model does not make ComfyUI simple. It makes complexity accountable. Add nodes when a defect demands them, label branches by purpose, and keep structural review ahead of polish. The moment a node cannot justify its wire, cut it.
Written from the 22 August 2026 intel sweep, including recurring ComfyUI and archviz community questions about photoreal enhancement, fundamentals, and geometry retention. Tool behavior varies by model and node version; test against your own source drawings.