Nodes/comfyui-art-venture/KSampler Fooocus
ComfyUI Node Runs on cloud

KSampler Fooocus

The Fooocus look, without leaving ComfyUI

By sipherxyz·Created 3 years ago·Updated 4 months ago· 352
KSampler Fooocus
  • model
  • positive
  • negative
  • latent_image
  • LATENT
seed0
steps20
cfg8.0
sampler_name
scheduler
denoise1.00
sharpness2.00

Fooocus, the zero-config SDXL app, got its sharp, well-composed default look from a pile of tricks its author baked in and never exposed as settings - one of them being a low-weight self-attention-guidance variant specifically tuned to stop skin coming out plastic. Fooocus itself has been frozen since August 2024 (its author declared bug-fixes-only LTS and sent Flux users to Forge or ComfyUI), so the app isn't going anywhere new. This node is how you keep the trick without the frozen app: it's ArtVenture's port of that sampling recipe into a normal ComfyUI KSampler, with one extra dial the stock node doesn't have.

Functionally it's a drop-in replacement for KSampler. Same wiring, same job - turn noise into a denoised latent - plus the sharpness control riding along.

How it works

Standard diffusion sampling: model, positive/negative conditioning, and a noisy latent go in, steps of denoising happen according to your sampler and scheduler, a clean-ish latent comes out. Where this differs from the plain KSampler is sharpness, which applies that same low-strength guidance term Fooocus uses internally to fight the soft, waxy skin SDXL tends toward at higher CFG. It's not a sharpening filter bolted on after the fact - it's part of the sampling process itself, the same way Fooocus does it.

The inputs and outputs that matter

Most of this is standard KSampler territory: model, seed, steps (default 20), cfg (default 8), sampler_name and scheduler (the full ComfyUI lists - 44 samplers, 9 schedulers), positive/negative conditioning, and latent_image. denoise (default 1, range 0–1) works exactly like it does elsewhere: 1.0 for a full txt2img pass, lower for img2img or a refiner-style touch-up.

The one field worth actually thinking about is:

  • sharpness (optional, default 2, range 0100) - strength of the anti-plastic-skin guidance. Fooocus's own default sits around this same low value on purpose; it's meant to be subtle. Push it up if skin still looks smooth and waxy at your CFG; set it to 0 if you want stock KSampler behavior with none of Fooocus's flavor.

Output is a single LATENT - VAE-decode it as usual.

For CFG, the general SDXL sweet spot still applies here (5–9; push past 10 and Fooocus's own list of tricks includes a CFG/TSNR correction specifically because default SDXL starts burning up there).

How to install it

It's part of the Art Venture pack. ComfyUI Manager: search comfyui-art-venture, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/sipherxyz/comfyui-art-venture

then pip install -r comfyui-art-venture/requirements.txt and restart. No model downloads - this is a sampler, not a loader.

Common issues & troubleshooting

Results look basically the same as a plain KSampler. At the default sharpness of 2, the effect is deliberately subtle - that's how Fooocus tuned it. Try pushing to 10–20 on a face-heavy image and compare; you're looking for less waxy, more textured skin, not a different composition.

Oversharpened, crunchy-looking skin. You went too far the other direction. Bring sharpness back down toward the default; this isn't a strength dial you crank to 100 for a stronger effect, it's closer to "how much of this correction do you want."

Reaching for the Advanced version instead. If you need to split a run across two samplers - a base pass and a refiner pass, or resuming a partially-denoised latent - that's Fooocus_KSamplerAdvanced, which trades the simple denoise dial for add_noise/start_at_step/end_at_step/return_with_leftover_noise, the same handoff mechanism as ComfyUI's own KSampler (Advanced).

No visible difference between samplers. That part's unrelated to this node - sampler/scheduler choice behaves exactly as it does in stock ComfyUI. If you're chasing a specific look, change one variable at a time (sampler, then scheduler, then sharpness) rather than all three.

CategoryArtVenture/Sampling

Inputs (11)

NameTypeDefaultDescription
modelMODELThe model used for denoising the input latent.
seedINT00–18446744073709550000The random seed used for creating the noise.
stepsINT201–10000The number of steps used in the denoising process.
cfgFLOAT8.00–100The Classifier-Free Guidance scale balances creativity and adherence to the prompt. Higher values result in images more closely matching the prompt however too high values will negatively impact quality.
sampler_nameCOMBOThe algorithm used when sampling, this can affect the quality, speed, and style of the generated output.
schedulerCOMBOThe scheduler controls how noise is gradually removed to form the image.
positiveCONDITIONINGThe conditioning describing the attributes you want to include in the image.
negativeCONDITIONINGThe conditioning describing the attributes you want to exclude from the image.
latent_imageLATENTThe latent image to denoise.
denoiseFLOAT1.000–1The amount of denoising applied, lower values will maintain the structure of the initial image allowing for image to image sampling.
sharpnessoptFLOAT2.000–100

Outputs (1)

NameTypeDescription
LATENTLATENTThe denoised latent.