A concrete wall looks flat, the planting reads like cardboard, and the glass has no reflection. You open ComfyUI, add an inpaint node, connect a sketch preprocessor because a tutorial did, and raise the control weight until the building stops drifting. The output preserves the facade, but it also traces every tree edge into a dark wire. Nothing is technically broken. The controls are answering different questions from the one you meant to ask.
Community posts about architectural enhancement often mix inpainting, sketches, edge maps, and depth control into one request. That is understandable because all four appear to preserve structure. They do not preserve the same structure. The useful first decision is not which model or custom node to install. It is which fact about the image must remain true.
A mask answers where
A mask divides the image into editable and protected pixels. White normally identifies the region that may change, black protects the rest, and gray permits a partial transition. Check the convention in your node because some workflows invert it.
Use a mask when the defect has a clear boundary: replace planting inside one bed, repair a reflection inside a glazing panel, change a sofa, remove a vehicle, or adjust one material bounded by an object ID. The mask says nothing about the form that should appear inside it. It only limits the model's work area.
For architecture, the best masks usually come from the source application. Material IDs, object IDs, and cryptomatte passes follow modeled boundaries better than hand painting. Expand the mask by a few pixels when the replacement must blend across an edge, then feather it modestly. A hard mask can leave a visible seam. A wide feather can let a material bleed across a mullion.
Do not use a mask alone when the editable region contains important geometry. Masking an entire facade and asking for better materials gives the model permission to redraw every opening inside the mask. Add a structural condition or reduce the edit to smaller material zones.
An edge map answers which boundaries
Edge control supplies a two-dimensional drawing of boundaries. Canny finds contrast transitions in the image. Lineart preprocessors attempt a cleaner drawing. A line pass exported from SketchUp, Rhino, Revit, or the renderer is usually more intentional than either because it knows which modeled edges matter.
Use edge control when count, alignment, and silhouette are the acceptance criteria. Window bays, roof profiles, balcony slabs, curtain-wall grids, and stair outlines are edge problems. If a pass fails because nine bays became eight, depth control alone is not the precise remedy. The depth ordering can remain plausible while the mullion pattern changes.
A mask can protect the neighborhood. An edge map can protect the address. Neither proves the room has the right depth.
Edge maps also carry noise. A Canny map from a finished render may capture every leaf, brick joint, shadow boundary, and reflection. Strong conditioning then asks the model to preserve visual clutter as if it were architecture. Start by generating the map and viewing it on its own. Remove entourage, texture, and shadow edges where possible. If you cannot explain why a line must survive, it should not receive the same weight as the roofline.
Control weight is not a quality slider. More weight improves obedience to the supplied drawing and reduces freedom to fix light, texture, or natural detail. Use the lowest value that passes your geometry test, then judge appearance. Test the start and end percentages too. Letting edge control dominate early sampling and relax later can hold composition while permitting better surface finish.
A depth map answers what sits where
Depth represents distance from the camera. It describes large spatial relationships: foreground planting in front of a podium, a recessed entry behind a colonnade, the street below a tower, or furniture arranged through an interior. It is effective when the model flattens space, merges overlapping objects, or changes the relative position of major volumes.
An exported Z-depth pass is preferable because it comes from the scene. An estimated depth map can still help when only a flat render exists, but inspect it before trusting it. Glass, mirrors, thin railings, pale skies, and repeated facades routinely confuse monocular depth estimation. A convincing gradient is not proof that the estimator understood the building.
Depth is often too coarse to protect openings and thin elements. Two windows on the same wall may share nearly identical depth values. A balustrade can disappear into the terrace behind it. Pair depth with a cleaned line pass when both volume and facade rhythm matter.
A sketch answers what should be introduced
A hand sketch is a proposed condition, not merely a protection device. Use it to indicate a new canopy, planting mass, furniture arrangement, cloud shape, or lighting gesture. The sketch should be simple enough that its instruction is legible. A dense markup containing existing geometry, arrows, labels, and new objects forces the preprocessor and model to guess which marks are commands.
Separate the operation into two images when possible: one clean edge or depth condition describing what must stay, and one sparse sketch describing what should appear. Mask the proposed area. This turns an ambiguous instruction into three explicit statements: edit here, retain these boundaries, introduce this form.
The four common combinations
Local material correction: mask plus light edge control
Use a material-ID mask, a clean line pass covering joints and openings, and restrained denoise. The mask keeps the material local. The edge map stops seams and apertures moving. Depth adds little on a flat wall unless the surface includes deep reveals.
Planting replacement: mask plus depth
Mask the planting bed and include a reliable depth pass so trunks, crowns, paths, and the building maintain their occlusion order. Avoid strong Canny control from the old planting because it preserves the exact placeholder silhouettes you want to replace. Protect adjacent curbs and facade edges with a small cleaned edge condition if needed.
Facade restyling: IDs plus edge plus depth
Split materials into separate ID masks rather than editing the whole elevation. Use edges for bays and slab lines, depth for recesses and projections, and run a low-denoise test at modest resolution. Restyling is where stacked controls help, but competing high weights can produce a rigid, overdrawn result. Establish one primary condition and treat the other as support.
Adding an element: mask plus sketch plus existing structure
Draw the proposed element in a sparse sketch, mask its intended footprint, and condition the pass with depth or edges from the unchanged scene. For a canopy, edges protect the entrance and sketch lines propose the canopy profile. For a tree, depth protects the building's position while the sketch indicates crown size and trunk location.
A test sequence that exposes the wrong control
Run the source at 768 or 1024 pixels before spending time on a large output. Save the seed. First run image-to-image with no structural condition at your proposed denoise value. Second, add only the mask. Third, add the single control you believe solves the failure. Compare all three against a written rejection list.
If geometry changes outside the mask, inspect mask inversion, latent noise handling, and feathering. If openings change inside a correct mask, add or clean edge control. If volumes merge or foreground objects jump behind the building, inspect depth. If the new element never appears, the sketch may be too weak, the mask too narrow, or structural conditioning too restrictive.
Change one variable per run. Record model, seed, denoise, control weight, start and end percentages, and preprocessor resolution. A graph with two ControlNets and an inpaint model can generate dozens of plausible combinations. Without a log, the best result becomes an accident you cannot repeat across the next view.
Our take: controls are contracts
Stacking every available condition feels safe, but it often hides a bad specification. Each control should correspond to one sentence in the brief. “Only the planting bed may change” earns a mask. “The six window bays must remain” earns an edge map. “The colonnade stays in front of the lobby” earns depth. “Add a low canopy here” earns a sketch.
Before the full pass, disable each control once. If removing it does not cause the failure it was meant to prevent, remove it from the graph. Fewer conditions are easier to tune, document, and repeat.
Name the fact, choose its control, and make the model prove it stayed put.
Written from the 24 August 2026 intel sweep, which surfaced repeated community questions about mixing inpainting and sketch control for architectural rendering. ArchiGen AI carries no sponsored placements.