Nodes/ComfyUI-Flux-Inpainting/Flux GUFF Inpainting
ComfyUI Node

Flux GUFF Inpainting

FluxGuffInpainting — GGUF-quantized Flux Fill inpainting

By rubi-du·Created 2 years ago·Updated about a year ago· 45
Flux GUFF Inpainting
  • conditioning
  • image
  • mask
  • vae
  • image
model_path
num_inference_steps50
cachedfalse
guidance_scale30.0

Before anything else: the name is a typo. It's "GUFF," not GGUF, throughout this node's class name, display name, and the pack's README - the author just misspelled it and it stuck. If you're searching for GGUF-quantized Flux Fill support, this is the node, spelling and all.

What it's for

FluxGuffInpainting is the lightest way into this pack's inpainting stack: point it at a GGUF-quantized Flux Fill transformer and go, without needing the full FLUX.1-Fill-dev directory tree the other nodes want. GGUF is the llama.cpp-derived quantization format that city96 brought to diffusion models two weeks after Flux's original launch, and its whole appeal is the same here as everywhere else it's used - Q8 is close enough to fp16 that most people can't tell the difference, and each step down the Q-ladder trades a bit more quality for a lot less VRAM. If you already run other Flux models as GGUF, this node lets you do Fill the same way.

Under the hood it's still FLUX.1 Fill dev, Black Forest Labs' purpose-built inpainting/outpainting model - the checkpoint actually trained to understand a mask, rather than a general model having one duct-taped on. That's the standing reason to reach for masked inpainting at all in 2026: instruction-editing models like Qwen-Image-Edit or Flux 2 Klein will happily "fix this" from a sentence, but they re-render the entire frame each time and the unmasked pixels drift a little on every pass. A dedicated inpainting model leaves everything outside the mask alone.

Inputs and output

  • model_path - a dropdown pointing at a GGUF file. Per the README, drop your GGUF Flux Fill build straight into ComfyUI/models/unet and it'll show up here; this node loads it internally rather than needing you to run it through a separate GGUF loader node.
  • conditioning - a CONDITIONING object from a CLIPTextEncode (fed by a Flux-compatible DualCLIPLoader), same as the rest of this pack's "split" nodes.
  • vae - an AUTOENCODER input, which comes from FluxVAELoader, this pack's own VAE-loading node - not ComfyUI's stock VAE loader, so don't try to wire a native VAELoader output in here directly.
  • image / mask - the source image and the region to regenerate.
  • num_inference_steps - default 50, range 10–60.
  • guidance_scale - default 30, range 0.1–30. This isn't a bug or a wildly aggressive setting; Flux Fill's own documented guidance genuinely sits around 30, far above a normal Flux Dev generation's 3.5, because it needs that much push to follow the fill prompt.
  • cached - off by default; enabling it should keep the loaded model resident in memory between runs rather than re-reading the GGUF file from disk every queue.

Output is a single image, ready for a save/preview node or for compositing back over the untouched parts of your original.

Installing it

Search "ComfyUI-Flux-Inpainting" in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/rubi-du/ComfyUI-Flux-Inpainting.git
cd ComfyUI-Flux-Inpainting
pip install -r requirements.txt

Restart after. Don't skip the pip install - it pulls in the actual GGUF/diffusers dependencies this node needs to read quantized weights, and a missing package here is the usual reason the node fails to import at all.

For the model, grab a GGUF Flux Fill build - the README points at YarvixPA/FLUX.1-Fill-dev-gguf - and drop it in ComfyUI/models/unet. You'll separately need a VAE for FluxVAELoader: the README links BFL's own Flux Fill VAE, which goes in ComfyUI/models/vae. That's the whole point of this node - you skip the rest of the full-precision FLUX.1-Fill-dev folder tree that the monolithic nodes in this pack require.

Common issues

  • model_path dropdown is empty - the node scans ComfyUI/models/unet for GGUF files; if nothing shows up, the file isn't there or isn't a .gguf.
  • vae input rejected - it wants FluxVAELoader's output specifically, a custom AUTOENCODER type, not ComfyUI's native VAE loader's output.
  • Wrong or missing conditioning - this node needs actual CONDITIONING, built from a Flux-style CLIPTextEncode, not a raw string.
  • Quality drop at low quant levels - general GGUF wisdom applies here too: Q8 is essentially lossless, Q4_K_M is the accepted floor for tight VRAM, and Q3/Q2 start showing real degradation, especially on fine detail like text and logos.
  • Import errors trace back to a skipped pip install -r requirements.txt more often than anything else.
  • No LoRA input - same as the rest of the pack, there's no slot for one here.
  • Pack hasn't updated since December 2024, when this node was added - the newest thing in the repo, but still frozen since. Don't expect fast fixes if a future ComfyUI or GGUF-tooling change breaks something.
CategoryInpainting

Inputs (8)

NameTypeDefaultDescription
model_pathCOMBO0 options:
conditioningCONDITIONING
imageIMAGE
maskMASK
num_inference_stepsINT5010–60
cachedBOOLEANfalse
guidance_scaleFLOAT30.00.1–30
vaeAUTOENCODER

Outputs (1)

NameTypeDescription
imageIMAGE