Atlas SDXL Inpaint (native) ✨
Atlas SDXL Inpaint (native) ✨ — SDXL inpaint that understands the camera
- image
- mask
- image
- report
AtlasSDXLInpaint is the pack's clean-plate workhorse: it re-renders the masked-out regions of a plate with SDXL, and - this is the Atlas twist - it conditions that inpaint on the solved camera geometry so the continuation matches the perspective, not just the texture. It's deliberately built as an adapter over ComfyUI's own stock SDXL checkpoint/conditioning/latent inpaint path, which means it uses whatever SDXL checkpoint is already sitting in models/checkpoints and stays compatible with ComfyUI's memory/offload policies. No second model framework to maintain.
The intended slot: feed it a cropped image and mask (usually from AtlasInpaintCrop), get an IMAGE back, and stitch it into place with AtlasInpaintStitch. That crop-stitch structure is the classic mask-inpaint loop the community has used since the beginning - the KB's own framing: crop, re-render at the model's native resolution, paste back - and it's still the right tool because it gives bit-identical unmasked pixels, which whole-frame edit models can't.
The inputs that matter
- image, mask - the crop and its hole.
- checkpoint - an SDXL-compatible base/inpaint checkpoint in
models/checkpoints. - positive_prompt / negative_prompt - defaults are tuned for architecture ("high detail, coherent architecture"; negatives "blurry, warped, duplicate, text").
- seed, steps, cfg, denoise - standard sampler controls; denoise 0.85 default is a strong fill, dial it down toward 0.5 if you want the surroundings to hold more authority.
- grow_mask_by - expand the mask a bit so the fill has room and the seam hides.
- max_side - the OOM killer. Downscale the crop to this long edge (1024 = SDXL native) before sampling, then lanczos-upscale back. On a big crop this is the difference between running and hitting the tiled-VAE slow path or an out-of-memory. Inpainted content is generative anyway, so the quality cost is minor.
- preserve_perspective - on by default, and the reason to pick this node over a stock inpaint. It appends camera-geometry guidance that tells SDXL to continue the source viewpoint, facade angle, foreshortening and converging lines, and negatively conditions straight-on/orthographic facades. Disable it if you want an intentionally novel view.
Outputs: the inpainted image and a report.
Gotchas
If you get a "checkpoint not found" error, the filename must match what's in models/checkpoints exactly, and it needs to be an SDXL-family model - an SD1.5 checkpoint will not behave at these settings. And remember the honest limit from the KB: masked inpainting owns only-masked, bit-identical repair; if you want the whole frame re-edited, that's a different node family entirely. Use this where it belongs - filling holes without touching anything else.
Install
No extra deps - the node expands into ComfyUI's stock SDXL nodes, so you need an SDXL checkpoint, not a new Python package:
cd <ComfyUI>/custom_nodes
git clone https://github.com/mikejamesvfx/atlas-camera.git
Restart, or install the pack via ComfyUI Manager ("atlas-camera"). It sits in Atlas/07 · Clean Plate & Inpaint.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| mask | MASK | — | |
| checkpoint | STRING | SDXL/sd_xl_base_1.0.safetensors | Checkpoint filename in models/checkpoints. Use an SDXL-compatible inpaint/base checkpoint. |
| positive_prompt | STRING | high detail, coherent architecture | — |
| negative_prompt | STRING | blurry, warped, duplicate, text | — |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 301–100 | — |
| cfg | FLOAT | 5.50–30 | — |
| denoise | FLOAT | 0.850–1 | — |
| grow_mask_by | INT | 80–64 | — |
| max_side | INT | 00–4096 | Downscale the crop to this long edge before SDXL (1024 = SDXL native) and lanczos-upscale the result back. Kills the OOM/tiled-VAE slow path on big crops; inpainted content is generative, so the quality cost is minor. 0 = off. |
| preserve_perspectiveopt | BOOLEAN | true | Append camera-geometry guidance that tells SDXL to continue the source viewpoint, facade angle, foreshortening, and converging lines; negatively conditions straight-on and orthographic facades. Disable for intentionally novel views. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| report | STRING | — |