Nodes/ComfyUI-FunPack/FunPack Conditioning Adjust
ComfyUI Node

FunPack Conditioning Adjust

Steer your conditioning by phrase, not by guess

By digital-garbage·Created about a year ago·Updated about 16 hours ago· 18
FunPack Conditioning Adjust
  • conditioning
  • clip
  • conditioning
  • status
adjustments[]
refinement_key_input

The Refiner learns from ratings and nudges conditioning automatically - but sometimes you just want to say "more of this, less of that" with your own hands. FunPack Conditioning Adjust is that manual override. It sits between the Refiner and the sampler and blends specific phrase directions into your conditioning at strengths you set. Type a phrase, pick a strength, and the encoded prompt moves toward or away from that concept. No ratings, no learning, no waiting for the model to catch on.

How it works

Three required inputs. conditioning is your positive conditioning (usually the Refiner's modified_positive). clip is the same CLIP that encoded it - it needs to be, because the node computes the direction from the phrase using that encoder. adjustments is a JSON list of phrase/strength pairs, and the tooltip is blunt about it: "JSON list managed by the node editor. Do not edit manually." The node face includes a popup editor for exactly this.

The mechanism is different from the Refiner's category-based logic: instead of classifying your phrase into "action" or "quality" and using the learned axis, Conditioning Adjust computes the conditioning direction directly from the phrase you typed and blends along it. Positive strength pushes conditioning toward the phrase; negative pushes away. The documented useful range is roughly -0.3 to +0.3 - beyond that you start distorting the conditioning rather than steering it.

Outputs: conditioning (your adjusted conditioning, ready for the sampler) and status.

The refinement-key bonus

The optional refinement_key_input is where this node gets interesting. Connect the same key your Refiner uses, and the popup shows V2's learned phrases as a clickable bank - every phrase the Refiner has stored from your ratings appears as a chip, and clicking one adds it with a default strength of +0.1. That's the manual hand reaching into the learned memory: you don't have to type a phrase from scratch, you can grab the ones the model itself decided mattered.

Install

It's part of ComfyUI-FunPack:

cd ComfyUI/custom_nodes
git clone https://github.com/olivv-cs/ComfyUI-FunPack
pip install -r requirements.txt

or ComfyUI Manager → search "ComfyUI-FunPack". No extra dependencies; the CLIP does the work.

Where it fits

The docs are explicit about placement: "Insert between Refiner V2 and the sampler." The Refiner produces its best-guess conditioning; this node is where you put your thumb on the scale before sampling. It's also the same mechanism Studio exposes as its Adjustments tab - this is the standalone version for graph workflows. The honest caveat: because it encodes the phrase with your CLIP, phrase quality matters. "sharp focus" and "a 50mm lens" are directions; "better" is not. Use it as the surgical override it is, and let the Refiner keep doing the broad learning.

CategoryFunPack/Refinement

Inputs (4)

NameTypeDefaultDescription
conditioningCONDITIONING
clipCLIP
adjustmentsSTRING[]JSON list managed by the node editor. Do not edit manually.
refinement_key_inputoptSTRINGOptional refinement key from FunPack Refinement Key Loader. When connected, the popup shows learned phrases from that session as a clickable bank.

Outputs (2)

NameTypeDescription
conditioningCONDITIONING
statusSTRING