Nodes/ComfyUI-LoRAWeightAxisXY/XY Input: LoRA Weight (simple)
ComfyUI Node

XY Input: LoRA Weight (simple)

Sweep LoRA strength on one axis and still mix it with checkpoints on the other

By Frief84·Created 12 months ago·Updated 12 months ago· 1
XY Input: LoRA Weight (simple)
    • X or Y
    lora_name
    min_value0.00
    max_value1.00
    steps3

    If you've built an XY plot in Efficiency Nodes and tried to sweep LoRA strength, you've met the wall this node exists to climb over. The stock plot logic won't mix a Checkpoint axis with the LoRA-special types ("LoRA Wt", "LoRA MStr", …) unless both axes are LoRA. So you can compare checkpoints against each other, and you can sweep LoRA weights against each other, but do one of each in the same grid? Blocked. That's exactly the "how strong is this LoRA across my different checkpoints" question most people actually want answered, and it's the one grid you can't build out of the box.

    XY Input: LoRA Weight (simple) fixes it by pretending nothing special is going on. It emits the plain LoRA subtype with the same strength applied to Model and Clip, which sidesteps the "both axes must be LoRA-special" rule entirely. One tiny file, MIT licensed, no hidden dependencies. It does one thing and does it without fuss.

    What it actually outputs

    The node is dead simple under the hood - a _linspace call plus rounding. You pick a LoRA, a min, a max, and a step count, and it hands back an XY value that's a list of triples:

    [[(my_lora.safetensors, 0.00, 0.00)],
     [(my_lora.safetensors, 0.50, 0.50)],
     [(my_lora.safetensors, 1.00, 1.00)]]
    

    The output is X or Y (type XY, subtype LoRA). Each triple is (lora_name, model_weight, clip_weight) - note the same value twice. If you need separate model/clip strengths, this isn't your node; the standard LoRA XY inputs do that but force both axes to be LoRA. For a plain "how strong?" comparison, one shared value is fine, and it's the whole point here.

    The inputs that matter

    • lora_name - dropdown read from models/loras. It's rebuilt when the node loads, so drop a new LoRA in the folder and refresh before you hunt for it in the list.
    • min_value / max_value - the sweep range. Defaults 0.0 → 1.0, but the range is -10 to +10 for a reason. LoRA weights above 1.0 are legitimately useful - plenty of people run at 0.5–0.8 because default 1.0 is often too strong, while some LoRAs want to be pushed past 1. Sweep 0.8 → 1.6 and see.
    • steps - how many tiles, including both endpoints. 0.0 → 1.0 with steps=3 gives 0.00, 0.50, 1.00.

    One gotcha the source makes visible: values are rounded to two decimals, so a tight range with many steps collapses into duplicate tiles. Sweep 0.0 → 0.1 across 20 steps and half your grid is the same weight. Keep the range proportioned to the step count.

    Wiring it up

    This node is only useful inside an Efficiency Nodes XY plot, so that pack is your real dependency - it needs the Efficient Loader, the Efficiency KSampler (the one with a script input), and XY Plot. The chain is:

    1. Efficient Loader → wire DEPENDENCIES into XY Plot's dependencies.
    2. XY Input: CheckpointXY Plot X.
    3. This nodeXY Plot Y.
    4. XY Plot scriptEfficiency KSampler script.
    5. Set ksampler_output_image = Plot in XY Plot, then KSampler.IMAGESave Image.

    Result: a grid of #checkpoints × #steps tiles - say 2 checkpoints × 3 weights, one click.

    Install

    Via ComfyUI Manager, Install via Git URLhttps://github.com/Frief84/ComfyUI-LoRAWeightAxisXY, restart. Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Frief84/ComfyUI-LoRAWeightAxisXY
    

    Then restart ComfyUI. There's no requirements.txt, no model downloads - the only thing that has to already be there is Efficiency Nodes.

    Where people get burned

    • One image instead of a grid - almost always one of three things: you're using the core KSampler (which ignores script), dependencies isn't connected, or ksampler_output_image isn't set to Plot. The terminal prints an XY Plot Error: line when types mismatch, so check the console before rebuilding the graph.
    • Y port won't accept the connection - some XY Plot variants only show linkable ports after you click the little chain/link icon next to the field.
    • The sweep gets ignored - a separate Load LoRA node with fixed weights sitting in your main path can override it. Keep the main path LoRA-free while the plot runs.

    It's a narrow tool, but it's the exact one you want when the question is "which checkpoint + how much of this LoRA." Given how often people get stuck building multi-LoRA grids in ComfyUI, a node this focused earns its place.

    CategoryEfficiency Nodes/XY Inputs

    Inputs (4)

    NameTypeDefaultDescription
    lora_nameCOMBO1 options: None
    min_valueFLOAT0.00-10–10
    max_valueFLOAT1.00-10–10
    stepsINT31–200

    Outputs (1)

    NameTypeDescription
    X or YXY