SP_DDInpaint_Pipe
A packaged differential-diffusion inpaint step for the SP_PIPE workflow
- sp_pipe
- pixels
- mask
- sp_pipe
This node lives in the pack's Group Nodes category, which is a specific thing in ComfyUI: right-click a selection of nodes → "Convert to Group Node" collapses a working sub-graph into a single reusable box. SP_DDInpaint_Pipe is one of these, packaged and shipped as part of SP-Nodes rather than something you build yourself - a saved combo of nodes wired up around this pack's own SP_PIPE type, the same "bundle model/clip/vae/conditioning into one wire" pattern popularized by Impact Pack's basic pipes and rgthree's Context node, applied here specifically to inpainting.
Going by the name and the inputs, this reads as a Differential Diffusion inpaint step: rather than a hard binary mask that either regenerates a pixel or leaves it untouched, Differential Diffusion treats the mask as a per-pixel strength map, so edges blend rather than seam. It's a real, community-established ComfyUI technique - people run it on Flux specifically because it blends lighting and shadows seamlessly without the usual composite-back-onto-the-original step regular inpainting needs. "DD" fits that pattern closely enough that it's the most likely read, though the pack doesn't spell the acronym out anywhere, so take it as an informed guess rather than a confirmed fact.
How it works
It takes your existing SP_PIPE bundle plus the image and mask you're inpainting, applies whatever the packaged sub-graph does (almost certainly patching the sampling model for per-pixel-strength masking and setting up the latent noise mask), and hands back an updated SP_PIPE ready to feed into a sampler downstream. Being a group node, if you ever need to see exactly what it's doing internally, right-click it and use "Ungroup Nodes" - that expands it back into the individual nodes underneath, which you can inspect, tweak, or re-group.
Inputs and outputs
sp_pipe(SP_PIPE, required) - the bundle coming in.pixels(IMAGE, required) - the source image you're inpainting.mask(MASK, required) - the region (or, per the Differential Diffusion pattern, the strength map) to inpaint.noise_mask(BOOLEAN, required, default true) - whether the mask gets applied as ComfyUI's standard latent noise mask.- Output:
sp_pipe- the same pipe type, updated, to continue the chain.
Installing it
ComfyUI Manager: search "SP-Nodes", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/bananasss00/ComfyUI-SP-Nodes
then restart ComfyUI.
Common issues
It only accepts SP_PIPE, not the pieces individually. If you're not already building around this pack's pipe pattern, you'll need to construct an SP_PIPE first before this node does anything - it's not a drop-in replacement for a stock VAE-encode-plus-noise-mask combo on its own.
Group nodes have known ComfyUI-native quirks. The community's general experience with "Convert to Group Node" workflows is that they can misbehave around primitive nodes and conditional/switch widgets, and drop connections if the internals don't line up exactly with what the group node expects. If this node ever behaves unexpectedly, ungrouping it to see the real underlying graph is the fastest way to find out why.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| sp_pipe | SP_PIPE | — | |
| pixels | IMAGE | — | |
| mask | MASK | — | |
| noise_mask | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sp_pipe | SP_PIPE | — |