Generated reference · ComfyUI workflow · Composition & editing

Inpaint Edit

Region edit on SDXL with core-only differential inpainting: the source image's alpha/mask marks the region to regenerate, the unmasked content is preserved in latent space, and DifferentialDiffusion turns the (feather-growable) mask into …

Composition & editing11nodesGPU A5000out image~45sv1.0.0

On this page

Region edit on SDXL with core-only differential inpainting: the source image's alpha/mask marks the region to regenerate, the unmasked content is preserved in latent space, and DifferentialDiffusion turns the (feather-growable) mask into per-pixel denoise strength for seamless blends — no dedicated inpaint checkpoint needed

11Graph nodes
10Node classes
9Inputs
2Models

Tags: compositioninpainteditregiondifferential diffusionmask

Inputs (9)#

The typed parameter surface callers bind when they request this workflow. Enum options and numeric bounds are the values the workflow document declares.

source_imageimagerequired
Image to edit; its alpha channel (mask-editor output) marks the region to regenerate
promptstringrequired
What to generate inside the masked region
denoisefloatdefault 0.7min 0.2max 1.0
Edit intensity in the masked region: low reshapes, high replaces
mask_growintegerdefault 12min 0max 64
Pixels to expand the mask so the edit overlaps its surroundings
differentialbooleandefault true
Differential diffusion: soft per-pixel denoise from the mask for seamless blending
seedintegerdefault -1
Random seed (-1 for random)
stepsintegerdefault 30min 15max 60
Sampling steps
cfg_scalefloatdefault 7.0min 1.0max 15.0
Prompt adherence strength
checkpointenumdefault sdxl_base
SDXL checkpoint (standard, not an inpaint build)
options: realvis_xl_v5sdxl_base

ComfyUI node graph (11)#

The executable ComfyUI prompt graph: 11 nodes across 10 distinct node classes, wired by 15 data dependencies. Nodes tinted green come from a custom node pack this workflow declares; the rest are ComfyUI core / baked-community classes.

flowchart TD n0["1: CheckpointLoaderSimple"] n1["2: LoadImage"] n2["3: GrowMask"] n3["4: CLIPTextEncode"] n4["5: CLIPTextEncode"] n5["6: VAEEncode"] n6["7: SetLatentNoiseMask"] n7["8: KSampler"] n8["9: VAEDecode"] n9["10: SaveImage"] n10["diff: DifferentialDiffusion"] n1 -->|mask| n2 n0 -->|clip| n3 n0 -->|clip| n4 n1 -->|pixels| n5 n0 -->|vae| n5 n5 -->|samples| n6 n2 -->|mask| n6 n10 -->|model| n7 n3 -->|positive| n7 n4 -->|negative| n7 n6 -->|latent_image| n7 n7 -->|samples| n8 n0 -->|vae| n8 n8 -->|images| n9 n0 -->|model| n10
Data-flow DAG — scroll to zoom, drag to pan.

Nodes (11)#

1CheckpointLoaderSimplecore
ckpt_name = {{checkpoint_files[checkpoint]}} tmpl
outputs: MODELCLIPVAE
2LoadImagecore
image = {{source_image}} tmpl
outputs: IMAGEMASK
3GrowMaskcore
mask = ◂ node 2 · out[1]expand = {{mask_grow}} tmpltapered_corners = true
outputs: MASK
4CLIPTextEncodecore
text = {{prompt}} tmplclip = ◂ node 1 · out[1]
outputs: CONDITIONING
5CLIPTextEncodecore
text = ugly, deformed, blurry, low quality, watermark, text, signature, visible seam, patch, discontinuityclip = ◂ node 1 · out[1]
outputs: CONDITIONING
6VAEEncodecore
pixels = ◂ node 2 · out[0]vae = ◂ node 1 · out[2]
outputs: LATENT
7SetLatentNoiseMaskcore
samples = ◂ node 6 · out[0]mask = ◂ node 3 · out[0]
outputs: LATENT
8KSamplercore
model = ◂ node diff · out[0]positive = ◂ node 4 · out[0]negative = ◂ node 5 · out[0]latent_image = ◂ node 7 · out[0]seed = {{seed}} tmplsteps = {{steps}} tmplcfg = {{cfg_scale}} tmplsampler_name = dpmpp_2m_sdescheduler = karrasdenoise = {{denoise}} tmpl
outputs: LATENT
9VAEDecodecore
samples = ◂ node 8 · out[0]vae = ◂ node 1 · out[2]
outputs: IMAGE
10SaveImagecore
images = ◂ node 9 · out[0]filename_prefix = inpaint_edit
diffDifferentialDiffusioncore
model = ◂ node 1 · out[0]
outputs: MODEL

Models & dependencies#

Checkpoint aliases (2)#

realvis_xl_v5
RealVisXL_V5.0_fp16.safetensors
sdxl_base
sd_xl_base_1.0.safetensors

Models required (2)#

RealVisXL_V5.0_fp16.safetensors
sd_xl_base_1.0.safetensors

Output contract#

What a successful run of this workflow returns.

type
image
format
png
channels
4

Taxonomy & routing#

How the control plane classifies this workflow — from the committed workflow-taxonomy-registry.json. It drives the consistency / control surface the agentic director can exercise over the workflow.

assetFamily
region-edited-still
outputPackageProfile
image-single-profile
controlModalities
controlnet-inpaintmodel-lockseed-locklatent-reuse
consistencyDimensions
environmentlighting
notes
Core differential-diffusion inpaint on standard checkpoints (latent noise mask; no dedicated inpaint model).