ComfyUI Node Runs on cloud

XY Input: Checkpoint

Checkpoint

By jags111·Created 3 years ago·Updated 6 months ago· 1,505
XY Input: Checkpoint
    • X or Y
    ◄target_ckpt▾►
    ◄input_mode▾►
    ◄batch_path/example_folder►
    ◄subdirectoriesfalse►
    ◄batch_sort▾►
    ◄batch_max-1►
    ◄ckpt_count3►
    ◄ckpt_name_1▾►
    ◄clip_skip_1-1►
    ◄vae_name_1▾►
    ◄ckpt_name_2▾►
    ◄clip_skip_2-1►
    ◄vae_name_2▾►
    ◄ckpt_name_3▾►
    ◄clip_skip_3-1►
    ◄vae_name_3▾►
    ◄ckpt_name_4▾►
    ◄clip_skip_4-1►
    ◄vae_name_4▾►
    ◄ckpt_name_5▾►
    ◄clip_skip_5-1►
    ◄vae_name_5▾►
    ◄ckpt_name_6▾►
    ◄clip_skip_6-1►
    ◄vae_name_6▾►
    ◄ckpt_name_7▾►
    ◄clip_skip_7-1►
    ◄vae_name_7▾►
    ◄ckpt_name_8▾►
    ◄clip_skip_8-1►
    ◄vae_name_8▾►
    ◄ckpt_name_9▾►
    ◄clip_skip_9-1►
    ◄vae_name_9▾►
    ◄ckpt_name_10▾►
    ◄clip_skip_10-1►
    ◄vae_name_10▾►
    ◄ckpt_name_11▾►
    ◄clip_skip_11-1►
    ◄vae_name_11▾►
    ◄ckpt_name_12▾►
    ◄clip_skip_12-1►
    ◄vae_name_12▾►
    ◄ckpt_name_13▾►
    ◄clip_skip_13-1►
    ◄vae_name_13▾►
    ◄ckpt_name_14▾►
    ◄clip_skip_14-1►
    ◄vae_name_14▾►
    ◄ckpt_name_15▾►
    ◄clip_skip_15-1►
    ◄vae_name_15▾►
    ◄ckpt_name_16▾►
    ◄clip_skip_16-1►
    ◄vae_name_16▾►
    ◄ckpt_name_17▾►
    ◄clip_skip_17-1►
    ◄vae_name_17▾►
    ◄ckpt_name_18▾►
    ◄clip_skip_18-1►
    ◄vae_name_18▾►
    ◄ckpt_name_19▾►
    ◄clip_skip_19-1►
    ◄vae_name_19▾►
    ◄ckpt_name_20▾►
    ◄clip_skip_20-1►
    ◄vae_name_20▾►
    ◄ckpt_name_21▾►
    ◄clip_skip_21-1►
    ◄vae_name_21▾►
    ◄ckpt_name_22▾►
    ◄clip_skip_22-1►
    ◄vae_name_22▾►
    ◄ckpt_name_23▾►
    ◄clip_skip_23-1►
    ◄vae_name_23▾►
    ◄ckpt_name_24▾►
    ◄clip_skip_24-1►
    ◄vae_name_24▾►
    ◄ckpt_name_25▾►
    ◄clip_skip_25-1►
    ◄vae_name_25▾►
    ◄ckpt_name_26▾►
    ◄clip_skip_26-1►
    ◄vae_name_26▾►
    ◄ckpt_name_27▾►
    ◄clip_skip_27-1►
    ◄vae_name_27▾►
    ◄ckpt_name_28▾►
    ◄clip_skip_28-1►
    ◄vae_name_28▾►
    ◄ckpt_name_29▾►
    ◄clip_skip_29-1►
    ◄vae_name_29▾►
    ◄ckpt_name_30▾►
    ◄clip_skip_30-1►
    ◄vae_name_30▾►
    ◄ckpt_name_31▾►
    ◄clip_skip_31-1►
    ◄vae_name_31▾►
    ◄ckpt_name_32▾►
    ◄clip_skip_32-1►
    ◄vae_name_32▾►
    ◄ckpt_name_33▾►
    ◄clip_skip_33-1►
    ◄vae_name_33▾►
    ◄ckpt_name_34▾►
    ◄clip_skip_34-1►
    ◄vae_name_34▾►
    ◄ckpt_name_35▾►
    ◄clip_skip_35-1►
    ◄vae_name_35▾►
    ◄ckpt_name_36▾►
    ◄clip_skip_36-1►
    ◄vae_name_36▾►
    ◄ckpt_name_37▾►
    ◄clip_skip_37-1►
    ◄vae_name_37▾►
    ◄ckpt_name_38▾►
    ◄clip_skip_38-1►
    ◄vae_name_38▾►
    ◄ckpt_name_39▾►
    ◄clip_skip_39-1►
    ◄vae_name_39▾►
    ◄ckpt_name_40▾►
    ◄clip_skip_40-1►
    ◄vae_name_40▾►
    ◄ckpt_name_41▾►
    ◄clip_skip_41-1►
    ◄vae_name_41▾►
    ◄ckpt_name_42▾►
    ◄clip_skip_42-1►
    ◄vae_name_42▾►
    ◄ckpt_name_43▾►
    ◄clip_skip_43-1►
    ◄vae_name_43▾►
    ◄ckpt_name_44▾►
    ◄clip_skip_44-1►
    ◄vae_name_44▾►
    ◄ckpt_name_45▾►
    ◄clip_skip_45-1►
    ◄vae_name_45▾►
    ◄ckpt_name_46▾►
    ◄clip_skip_46-1►
    ◄vae_name_46▾►
    ◄ckpt_name_47▾►
    ◄clip_skip_47-1►
    ◄vae_name_47▾►
    ◄ckpt_name_48▾►
    ◄clip_skip_48-1►
    ◄vae_name_48▾►
    ◄ckpt_name_49▾►
    ◄clip_skip_49-1►
    ◄vae_name_49▾►
    ◄ckpt_name_50▾►
    ◄clip_skip_50-1►
    ◄vae_name_50▾►

    You've got a folder full of checkpoints and no idea which one nails the look you're after. XY Input: Checkpoint runs the same prompt and seed through a list of models and tiles the results so you can compare them at a glance. It's the model-shootout node in the Efficiency Nodes XY Plot system, and honestly it's one of the more genuinely useful ones - comparing checkpoints by memory is hopeless, and a grid settles it.

    How it works

    The node builds a list of checkpoints (optionally with clip skip and VAE per entry) and hands them to an Efficient KSampler through the XY Plot node, which renders one column or row per model. There are two ways to populate the list, controlled by input_mode:

    • Manual - pick models one at a time via the ckpt_name_1, ckpt_name_2, … dropdowns. ckpt_count sets how many of the slots are live.
    • Checkpoint Batch - point batch_path at a folder and it pulls every checkpoint in it automatically, respecting subdirectories, batch_sort (ascending/descending), and batch_max (cap the count, or -1 for no cap). This is the one to use when you genuinely have a directory to sweep.

    input_mode also decides how much you're sweeping per model: Ckpt Names alone, Ckpt Names+ClipSkip, or Ckpt Names+ClipSkip+VAE. Clip skip lives in the clip_skip_N fields (SD 1.5-era anime models often want -2), and vae_name_N lets you pair a specific VAE or fall back to the checkpoint's baked one.

    target_ckpt (Base or Refiner) tells it which stage of an SDXL workflow you're swapping - leave it on Base for a normal single-model comparison.

    What you actually set

    For most people it's three things: input_mode (Manual vs Checkpoint Batch), then either ckpt_count plus the model dropdowns, or batch_path. The output is a single X or Y connection into the XY Plot node.

    Installing it

    ComfyUI Manager → search Efficiency Nodes for ComfyUI, install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jags111/efficiency-nodes-comfyui
    

    Restart ComfyUI. The checkpoints themselves live in models/checkpoints as normal; this node just enumerates them.

    Common issues

    The XY Input rule applies here too: the output only means anything through the XY Plot node into one of the pack's Efficient KSamplers. Wire it to a stock KSampler and nothing happens.

    A checkpoint sweep is also the heaviest XY plot you can run, because every different model has to be loaded from disk in turn - there's no way around swapping weights, so a five-model grid is five full model loads. Keep batch_max sane and don't be surprised when it's slower than a CFG or steps sweep.

    Practical tip that isn't a bug: comparing an anime checkpoint against a realism one in the same grid means they want different CFG and clip skip, so a flat comparison can be unfair. The SDXL fine-tune landscape is where the real differences live - Juggernaut and RealVis for realism, Pony and Illustrious for anime - and they don't share settings.

    Pack-wide: IMPORT FAILED at startup (frequently a pip freeze error) drops the whole pack. Update ComfyUI, update the node, check the Python env.

    CategoryEfficiency Nodes/XY Inputs

    Inputs (157)

    NameTypeDefaultDescription
    target_ckptCOMBO2 options: Base, Refiner
    input_modeCOMBO4 options: Ckpt Names, Ckpt Names+ClipSkip, Ckpt Names+ClipSkip+VAE, Checkpoint Batch
    batch_pathSTRING/example_folder—
    subdirectoriesBOOLEANfalse—
    batch_sortCOMBO2 options: ascending, descending
    batch_maxINT-1-1–50—
    ckpt_countINT30–50—
    ckpt_name_1COMBO1 options: None
    clip_skip_1INT-1-24–-1—
    vae_name_1COMBO1 options: Baked VAE
    ckpt_name_2COMBO1 options: None
    clip_skip_2INT-1-24–-1—
    vae_name_2COMBO1 options: Baked VAE
    ckpt_name_3COMBO1 options: None
    clip_skip_3INT-1-24–-1—
    vae_name_3COMBO1 options: Baked VAE
    ckpt_name_4COMBO1 options: None
    clip_skip_4INT-1-24–-1—
    vae_name_4COMBO1 options: Baked VAE
    ckpt_name_5COMBO1 options: None
    clip_skip_5INT-1-24–-1—
    vae_name_5COMBO1 options: Baked VAE
    ckpt_name_6COMBO1 options: None
    clip_skip_6INT-1-24–-1—
    vae_name_6COMBO1 options: Baked VAE
    ckpt_name_7COMBO1 options: None
    clip_skip_7INT-1-24–-1—
    vae_name_7COMBO1 options: Baked VAE
    ckpt_name_8COMBO1 options: None
    clip_skip_8INT-1-24–-1—
    vae_name_8COMBO1 options: Baked VAE
    ckpt_name_9COMBO1 options: None
    clip_skip_9INT-1-24–-1—
    vae_name_9COMBO1 options: Baked VAE
    ckpt_name_10COMBO1 options: None
    clip_skip_10INT-1-24–-1—
    vae_name_10COMBO1 options: Baked VAE
    ckpt_name_11COMBO1 options: None
    clip_skip_11INT-1-24–-1—
    vae_name_11COMBO1 options: Baked VAE
    ckpt_name_12COMBO1 options: None
    clip_skip_12INT-1-24–-1—
    vae_name_12COMBO1 options: Baked VAE
    ckpt_name_13COMBO1 options: None
    clip_skip_13INT-1-24–-1—
    vae_name_13COMBO1 options: Baked VAE
    ckpt_name_14COMBO1 options: None
    clip_skip_14INT-1-24–-1—
    vae_name_14COMBO1 options: Baked VAE
    ckpt_name_15COMBO1 options: None
    clip_skip_15INT-1-24–-1—
    vae_name_15COMBO1 options: Baked VAE
    ckpt_name_16COMBO1 options: None
    clip_skip_16INT-1-24–-1—
    vae_name_16COMBO1 options: Baked VAE
    ckpt_name_17COMBO1 options: None
    clip_skip_17INT-1-24–-1—
    vae_name_17COMBO1 options: Baked VAE
    ckpt_name_18COMBO1 options: None
    clip_skip_18INT-1-24–-1—
    vae_name_18COMBO1 options: Baked VAE
    ckpt_name_19COMBO1 options: None
    clip_skip_19INT-1-24–-1—
    vae_name_19COMBO1 options: Baked VAE
    ckpt_name_20COMBO1 options: None
    clip_skip_20INT-1-24–-1—
    vae_name_20COMBO1 options: Baked VAE
    ckpt_name_21COMBO1 options: None
    clip_skip_21INT-1-24–-1—
    vae_name_21COMBO1 options: Baked VAE
    ckpt_name_22COMBO1 options: None
    clip_skip_22INT-1-24–-1—
    vae_name_22COMBO1 options: Baked VAE
    ckpt_name_23COMBO1 options: None
    clip_skip_23INT-1-24–-1—
    vae_name_23COMBO1 options: Baked VAE
    ckpt_name_24COMBO1 options: None
    clip_skip_24INT-1-24–-1—
    vae_name_24COMBO1 options: Baked VAE
    ckpt_name_25COMBO1 options: None
    clip_skip_25INT-1-24–-1—
    vae_name_25COMBO1 options: Baked VAE
    ckpt_name_26COMBO1 options: None
    clip_skip_26INT-1-24–-1—
    vae_name_26COMBO1 options: Baked VAE
    ckpt_name_27COMBO1 options: None
    clip_skip_27INT-1-24–-1—
    vae_name_27COMBO1 options: Baked VAE
    ckpt_name_28COMBO1 options: None
    clip_skip_28INT-1-24–-1—
    vae_name_28COMBO1 options: Baked VAE
    ckpt_name_29COMBO1 options: None
    clip_skip_29INT-1-24–-1—
    vae_name_29COMBO1 options: Baked VAE
    ckpt_name_30COMBO1 options: None
    clip_skip_30INT-1-24–-1—
    vae_name_30COMBO1 options: Baked VAE
    ckpt_name_31COMBO1 options: None
    clip_skip_31INT-1-24–-1—
    vae_name_31COMBO1 options: Baked VAE
    ckpt_name_32COMBO1 options: None
    clip_skip_32INT-1-24–-1—
    vae_name_32COMBO1 options: Baked VAE
    ckpt_name_33COMBO1 options: None
    clip_skip_33INT-1-24–-1—
    vae_name_33COMBO1 options: Baked VAE
    ckpt_name_34COMBO1 options: None
    clip_skip_34INT-1-24–-1—
    vae_name_34COMBO1 options: Baked VAE
    ckpt_name_35COMBO1 options: None
    clip_skip_35INT-1-24–-1—
    vae_name_35COMBO1 options: Baked VAE
    ckpt_name_36COMBO1 options: None
    clip_skip_36INT-1-24–-1—
    vae_name_36COMBO1 options: Baked VAE
    ckpt_name_37COMBO1 options: None
    clip_skip_37INT-1-24–-1—
    vae_name_37COMBO1 options: Baked VAE
    ckpt_name_38COMBO1 options: None
    clip_skip_38INT-1-24–-1—
    vae_name_38COMBO1 options: Baked VAE
    ckpt_name_39COMBO1 options: None
    clip_skip_39INT-1-24–-1—
    vae_name_39COMBO1 options: Baked VAE
    ckpt_name_40COMBO1 options: None
    clip_skip_40INT-1-24–-1—
    vae_name_40COMBO1 options: Baked VAE
    ckpt_name_41COMBO1 options: None
    clip_skip_41INT-1-24–-1—
    vae_name_41COMBO1 options: Baked VAE
    ckpt_name_42COMBO1 options: None
    clip_skip_42INT-1-24–-1—
    vae_name_42COMBO1 options: Baked VAE
    ckpt_name_43COMBO1 options: None
    clip_skip_43INT-1-24–-1—
    vae_name_43COMBO1 options: Baked VAE
    ckpt_name_44COMBO1 options: None
    clip_skip_44INT-1-24–-1—
    vae_name_44COMBO1 options: Baked VAE
    ckpt_name_45COMBO1 options: None
    clip_skip_45INT-1-24–-1—
    vae_name_45COMBO1 options: Baked VAE
    ckpt_name_46COMBO1 options: None
    clip_skip_46INT-1-24–-1—
    vae_name_46COMBO1 options: Baked VAE
    ckpt_name_47COMBO1 options: None
    clip_skip_47INT-1-24–-1—
    vae_name_47COMBO1 options: Baked VAE
    ckpt_name_48COMBO1 options: None
    clip_skip_48INT-1-24–-1—
    vae_name_48COMBO1 options: Baked VAE
    ckpt_name_49COMBO1 options: None
    clip_skip_49INT-1-24–-1—
    vae_name_49COMBO1 options: Baked VAE
    ckpt_name_50COMBO1 options: None
    clip_skip_50INT-1-24–-1—
    vae_name_50COMBO1 options: Baked VAE

    Outputs (1)

    NameTypeDescription
    X or YXY—