ConditioningOrthoCollin
An experimental T5/CLIP-weighted conditioning blend
- conditioning_0
- conditioning_1
- conditioning
Worth being upfront about this one: it isn't documented anywhere in the RES4LYF README, and there's no prose explanation of it in the repo. What follows is a read of what the node's own parameters tell you, not a confirmed description of its internals - treat it as an experimental blend tool to test against your own results rather than a fully understood, battle-tested node.
What the name and parameters suggest
"Ortho" and "Collin" almost certainly point at orthogonal and collinear - a way of combining two conditionings by splitting them into the parts they share (the collinear direction) and the parts that differ (the orthogonal direction), then reweighting each separately, rather than a flat average or straight addition. The two strength inputs - t5_strength and clip_strength - line up with models that carry both a T5 and a CLIP-family text encoder (SD3.5's triple encoder setup is the obvious candidate), letting you dial how much each encoder's contribution counts when the two conditionings are merged, instead of one blanket multiplier for the whole thing.
The inputs and outputs that matter
conditioning_0/conditioning_1(CONDITIONING) - the two conditionings being combined.t5_strength(FLOAT, default 1) - how much the T5-side contribution counts in the result.clip_strength(FLOAT, default 1) - how much the CLIP-side contribution counts.
Output: conditioning (CONDITIONING), wired into your sampler like any other conditioning.
Where this would plausibly matter: a model like SD3.5 encodes the same prompt through CLIP-L, CLIP-G, and T5-XXL simultaneously, and those three encoders don't agree with each other the way you might assume - they were trained separately and pick up on different things. A flat average or a straight addition of two conditionings treats all of that as one undifferentiated blob. Splitting out the part two conditionings genuinely agree on from the part where they diverge, then letting you weight the T5 and CLIP contributions to that separately, is a real technique in the broader style-transfer and embedding-blending literature - it's just not confirmed as what this specific node does beyond what the parameter names imply.
How to install it
Via ComfyUI Manager, search "RES4LYF". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
then restart.
Common issues & troubleshooting
Start from the defaults. Both strengths default to 1.0 - leave them there for your first test, then nudge one down if that side of the conditioning seems to be dominating the result more than you want.
Don't expect a documented "correct" setting. Because there's no written explanation of the exact math this node does, the honest approach is to A/B it against a simpler blend (this pack's ConditioningAdd, or stock ConditioningAverage) on your own prompt and model, and keep it only if it's actually giving you something those don't.
This is a case where the KB and the README both come up empty - if you find or figure out what this node is actually doing internally, that's worth writing down somewhere the next person will find it before they burn time re-deriving it from the parameter names, same as this article had to.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning_0 | CONDITIONING | — | |
| conditioning_1 | CONDITIONING | — | |
| t5_strength | FLOAT | 1.00-10000–10000 | — |
| clip_strength | FLOAT | 1.00-10000–10000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |