Nodes/Advanced CLIP Text Encode/Add CLIP SDXL Refiner Params
ComfyUI Node Runs on cloud

Add CLIP SDXL Refiner Params

Aesthetic-score conditioning for the SDXL refiner

By BlenderNeko·Created 3 years ago·Updated 2 years ago· 439
Add CLIP SDXL Refiner Params
  • conditioning
  • CONDITIONING
width1024
height1024
ascore6.00

This is the refiner-flavored version of Add CLIP SDXL Params. The SDXL refiner - the second-stage model that was supposed to polish fine detail - was trained with an aesthetic-score conditioning on top of the usual size params. This node lets you attach those refiner-specific values (resolution plus an aesthetic score) to a conditioning by hand, rather than getting them only from ComfyUI's built-in CLIPTextEncodeSDXLRefiner. Feed it a CONDITIONING, set the numbers, get a CONDITIONING back with the refiner params on it.

Fair warning before you go deep: the SDXL refiner is largely abandoned. It shipped as a two-stage design in 2023, and once the fine-tuned checkpoints (Juggernaut, RealVis, and the anime lineage) matured, the community quietly dropped the refiner as an extra step that didn't add much. So this node is genuinely niche - you'd reach for it only if you're deliberately running a refiner pass and want to steer its aesthetic conditioning yourself.

What the aesthetic score does

The refiner was trained with an "aesthetic score" attached to each image - roughly, how highly rated that image was. Because that score was part of its conditioning, you can ask the refiner to lean toward the region of its training data that scored well. That's the ascore value. The usual convention people copy from ComfyUI's stock refiner node: a high score (around 6) on your positive conditioning to steer toward the good-looking end, and a low score (around 2.5) on the negative conditioning to push away from the ugly end.

It's a steering nudge on a second-stage model most people no longer run - treat it as a curiosity you might tune, not a quality dial you're missing out on.

The inputs and outputs that matter

Only three settings, and one of them is the interesting one:

  • conditioning - the CONDITIONING you're adding refiner params to.
  • width and height (default 1024 each) - the image resolution the refiner is told it's working at. Match these to what you're generating.
  • ascore (default 6) - the aesthetic score. Leave it near 6 on the positive prompt; drop it to roughly 2.5 on the negative prompt if you're wiring both. Higher steers toward higher-rated training images.

The output is a single CONDITIONING, which goes into the refiner stage of your sampler (typically the positive or negative conditioning feeding a KSampler that's running the refiner model).

Note the difference from the non-refiner Add CLIP SDXL Params: this one has no crop_w/crop_h/target_* - the refiner takes resolution plus aesthetic score, and that's it.

Installing it

ComfyUI Manager: search Advanced CLIP Text Encode, install, restart.

Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb

Restart ComfyUI, hard-refresh (F5). No model downloads, no dependencies. Installing the pack gives you this node plus the two encode nodes and the base SDXL params node.

Where people get tripped up

You need the actual refiner model, and most workflows don't have one. This node only means something feeding an SDXL refiner pass. If your graph is a single base-model KSampler - which is the norm in 2026 - there's nowhere for these params to do their job. Setting ascore on a base-model conditioning does nothing useful.

The core node already covers this. ComfyUI's built-in CLIPTextEncodeSDXLRefiner sets width/height/ascore for you. The standalone node is only worth it when you want the refiner params separate from the encode - for instance, to attach them to output from the pack's own SDXL Advanced encoder. Otherwise you don't need it.

Consider whether you want the refiner at all. The honest take from the SDXL community is that the refiner stage was more trouble than it was worth once good checkpoints arrived, and most people get better results from a plain hi-res upscale pass. If you're here because a tutorial told you to add refiner params, it's worth double-checking that the refiner is actually earning its place in your workflow before you tune its conditioning.

Categoryconditioning/advanced

Inputs (4)

NameTypeDefaultDescription
conditioningCONDITIONING
widthINT10240–16384
heightINT10240–16384
ascoreFLOAT6.000–1000

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING