Nodes/comfyui-selector/Selector In (Polarity)...
ComfyUI Node

Selector In (Polarity)...

Route your conditioning by model, not by hand

By exdysa·Created 2 years ago·Updated about a year ago· 6
Selector In (Polarity)...
  • conditioning1
  • conditioning2
  • conditioning3
  • conditioning4
  • conditioning5
  • conditioning6
  • conditioning7
  • conditioning8
  • CONDITIONING
model_type1

SelInPolar ("Selector In (Polarity)") routes CONDITIONING by model type: eight conditioning inputs, one model_type integer, one CONDITIONING output. It's the Selector In family's entry for the prompt side of the pipeline, and it exists because the conditioning that works for one model family isn't automatically the right conditioning for another.

A couple of honest use cases. If your workflow uses a different positive-prompt pipeline per family - one branch with a CLIP Set Last Layer tweak for SDXL, another with a bare encode for Flux, a third doing perp-neg style conditioning for an advanced sampler - SelInPolar lets you pre-wire them all and switch by number. It also matters when the way you condition differs, not just the text: an SDXL dual-CLIP encode produces different conditioning than a Flux T5 encode, and if you're keeping both families alive in one graph, the conditioning lane has to switch in step with the model lane. That's the whole point of the pack's "one number drives everything" design.

How it works

Pack standard: model_type (1–8) selects conditioning<number>, and the winner flows out the single CONDITIONING output into your KSampler's positive (or negative, if that's the lane you're routing). The inputs are lazy, so only the selected conditioning branch evaluates - relevant when a branch hides expensive operations behind it, like a big text encoder pass or conditioning concatenation.

Inputs & outputs that matter

  • model_type (INT, required) - the selector, normally fed by RecourseCkpt's MODEL_TYPE broadcast so it follows the loaded model.
  • conditioning1conditioning8 (CONDITIONING, optional) - your candidate conditionings from CLIP Text Encode and friends.
  • CONDITIONING output - the winner, into the sampler.

Installing it

The pack standard. ComfyUI Manager → search comfyui-selector → install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/exdysa/comfyui-selector

Restart and it's under Selector_Recourse/In. No requirements.txt, no model files, no network access.

Gotchas

  • The "polarity" in the name is a slight misnomer here. SelInPolar routes a single CONDITIONING lane - it does not split positive and negative. If you want a two-sided (positive + negative) router, the pack's RecoursePolar node is the one that does that, and SelOutPolar splits one conditioning out to eight lanes.
  • Empty selected port → None out → sampler doesn't run. The usual "check the model_type number" rule applies.
  • Conditioning objects are tied to the CLIP that produced them. If you route a Flux T5 encode into a KSampler whose model got switched to SDXL in the same broadcast, you can produce mismatched-conditioning errors. Keep the model lane and the conditioning lane switching together - which is the pack's design intent.
  • Single-author, GPL-3.0, quiet since early 2025 - a small pack, but the "keep every lane in step with one number" philosophy is genuinely its best idea.
CategorySelector_Recourse/In

Inputs (9)

NameTypeDefaultDescription
model_typeINT11–8
conditioning1optCONDITIONING
conditioning2optCONDITIONING
conditioning3optCONDITIONING
conditioning4optCONDITIONING
conditioning5optCONDITIONING
conditioning6optCONDITIONING
conditioning7optCONDITIONING
conditioning8optCONDITIONING

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING