ComfyUI Node

Fooocus Loader

The checkpoint loader that thinks it's a preset

By Seedsa·Created 3 years ago·Updated 2 years ago· 102
Fooocus Loader
  • optional_lora_stack
  • pipe
base_model_namejuggernautXL_v8Rundiffusion.safetensors
vae_name
refiner_model_nameNone
refiner_switch0.5
refiner_swap_method
clip_skip2
positive
negative
resolution1024 x 1024
empty_latent_width1024
empty_latent_height1024
image_number1

The Fooocus Loader is where a Fooocus-style generation actually starts, and you can tell it was written by someone who wanted the app's "just works" feel in a node. It's a checkpoint loader that also holds your prompts, your resolution, your refiner, and your LoRA stack - the way ComfyUI's own CheckpointLoader doesn't. One node, one pipe out, everything else plugs in behind it.

What it loads

  • base_model_name - your SDXL checkpoint, from ComfyUI/models/checkpoints. The default is juggernautXL_v8Rundiffusion.safetensors, which is a strong hint about what this pack was built to reproduce: Juggernaut was the default photoreal pairing for Fooocus's realistic preset for a long stretch. Any SDXL checkpoint works.
  • vae_name - defaults to Baked VAE, i.e. use the VAE inside the checkpoint. That's usually right; only switch to an external VAE if you're chasing a specific fix.
  • refiner_model_name + refiner_switch + refiner_swap_method - the refiner setup. Fooocus used a second SDXL refiner checkpoint that kicks in partway through sampling (refiner_switch default 0.5 = halfway). Default is None, which is honestly the sane modern choice.
  • clip_skip - default 2. This is Fooocus's A1111-compatibility move: skip the last CLIP layer so pasted CivitAI prompts behave as their authors intended. Leave it at 2.

The prompt side

positive and negative are right here on the loader (multiline), so you can skip the pack's separate Positive/Negative nodes if you're lazy - wire them, or type here; same result. resolution gives you a dropdown of SDXL-friendly sizes (default 1024 x 1024), and empty_latent_width / empty_latent_height let you override with any multiple-of-8 number. image_number is how many variants to generate per run - the pack's built-in batch.

Optional input: optional_lora_stack, which is where the Fooocus LoraStack node plugs in.

Output: a single pipe (PIPE_LINE) carrying model, clip, vae, conditioning and latent to the next Fooocus node.

Installing

The pack install is the standard one - ComfyUI Manager, search "Fooocus Nodes", or git clone the repo into custom_nodes and restart. The model files are on you: the loader can't conjure a checkpoint, and the default Juggernaut is a ~7GB download from CivitAI. One real-world note: the README's clone URL currently 404s because the author's GitHub account was renamed or removed, so if the clone fails, Manager is the path that still works.

The trap

This is an SDXL loader, full stop. Drop it into a Flux workflow and nothing lines up - the pack is a reproduction of Fooocus, and Fooocus is permanently SDXL. If you want to pair a specific LoRA, load it through the LoraStack before the loader, or the stack never gets applied. And if you're wondering where the KSampler is: this loader preps the pipe, the PreKSampler tunes it, and the Fooocus KSampler actually samples.

CategoryFooocus

Inputs (13)

NameTypeDefaultDescription
base_model_nameCOMBOjuggernautXL_v8Rundiffusion.safetensors0 options:
vae_nameCOMBO1 options: Baked VAE
refiner_model_nameCOMBONone1 options: None
refiner_switchFLOAT0.50.1–1
refiner_swap_methodCOMBO3 options: joint, separate, vae
clip_skipINT2-24–12
positiveSTRING
negativeSTRING
resolutionCOMBO1024 x 102422 options: 512 x 512, 512 x 768, 768 x 512, 576 x 1024, 768 x 1024, 768 x 1280, +16
empty_latent_widthINT102464–2048
empty_latent_heightINT102464–2048
image_numberINT11–100
optional_lora_stackoptLORA_STACK

Outputs (1)

NameTypeDescription
pipePIPE_LINE