Nodes/Skoogeer-Noise/Models List
ComfyUI Node

Models List

Fan out one sampler across many models without a for-loop

By ttulttul·Created 9 months ago·Updated 3 months ago· 14
Models List
  • model_1
  • model_2
  • model_3
  • model_4
  • model_5
  • model_6
  • model_7
  • model_8
  • model_9
  • model_10
  • model_11
  • model_12
  • model_13
  • model_14
  • model_15
  • model_16
  • model_17
  • model_18
  • model_19
  • model_20
  • model_21
  • model_22
  • model_23
  • model_24
  • model_25
  • model_26
  • model_27
  • model_28
  • model_29
  • model_30
  • model_31
  • model_32
  • model_33
  • model_34
  • model_35
  • model_36
  • model_37
  • model_38
  • model_39
  • model_40
  • model_41
  • model_42
  • model_43
  • model_44
  • model_45
  • model_46
  • model_47
  • model_48
  • model_49
  • model_50
  • model

ComfyUI's native list-mapping is powerful but underused, and one of the first things people bump into is that you can't easily batch models. You can batch latents, images, and masks - but try feeding several checkpoints into one KSampler and the executor shrugs. Models List fixes that specific gap: it takes up to 50 MODEL inputs, doesn't merge any of their internals, and emits them as a single list-valued MODEL output.

Why would you want that? The killer use case is model comparison. Load five checkpoints, wire them all into this node, and feed the output into a normal KSampler.model input. ComfyUI's executor sees the list output, maps it into the non-list-aware KSampler, and runs the whole sampler graph once per model - with your seed, steps, conditioning, and latent repeated across every run. You get the same prompt through five models in one queue, side by side. That's the workflow role of the native Batch Latents node, but for models, and it deliberately doesn't try to merge model weights (which would be nonsense for anything but a blend).

The inputs

  • model_1 and model_2 - required; at least two models to emit.
  • model_3model_50 - optional, appended in socket order. Want 50-way comparison? Sure, if your VRAM says so.

Output: one model socket, list-valued (is_list: true). It's genuinely a list - no weight merging, no patching, nothing clever. The pack's README is explicit that it mirrors the workflow role of native batch nodes without touching model internals.

Installing and using it

Part of Skoogeer-Noise. ComfyUI Manager → search "Skoogeer-Noise", or:

cd ComfyUI/custom_nodes
git clone https://github.com/ttulttul/Skoogeer-Noise

Restart ComfyUI. No model downloads from this pack itself - the models you feed it are your own checkpoints. Deps are torch, numpy, einops, pyyaml.

The honest caveats

Two things to know before you build a 5-model comparison wall. First, KSampler doesn't declare INPUT_IS_LIST, so ComfyUI maps the list by running the sampler once per model - which is exactly what you want, but it means anything upstream of the sampler also runs per model unless it's singleton (and singleton inputs like seed get repeated, which is the point). Second, this is memory-hungry by construction: five models on the GPU at once is five models on the GPU at once, so expect to drop to lower resolutions or let your offload handle it. The pack's author built this out of the FlowMatching-Upscaler lineage (the same person behind the Iterative Mixing sampler), so it's aimed at people who genuinely run multi-model pipelines, not casual tinkering - but for a head-to-head checkpoint shootout, it's the cleanest tool around.

Categorymodel/batch

Inputs (50)

NameTypeDefaultDescription
model_1MODELFirst model patcher object to include in the output list.
model_2MODELSecond model patcher object to include in the output list.
model_3optMODELOptional model patcher object #3 to append to the output list.
model_4optMODELOptional model patcher object #4 to append to the output list.
model_5optMODELOptional model patcher object #5 to append to the output list.
model_6optMODELOptional model patcher object #6 to append to the output list.
model_7optMODELOptional model patcher object #7 to append to the output list.
model_8optMODELOptional model patcher object #8 to append to the output list.
model_9optMODELOptional model patcher object #9 to append to the output list.
model_10optMODELOptional model patcher object #10 to append to the output list.
model_11optMODELOptional model patcher object #11 to append to the output list.
model_12optMODELOptional model patcher object #12 to append to the output list.
model_13optMODELOptional model patcher object #13 to append to the output list.
model_14optMODELOptional model patcher object #14 to append to the output list.
model_15optMODELOptional model patcher object #15 to append to the output list.
model_16optMODELOptional model patcher object #16 to append to the output list.
model_17optMODELOptional model patcher object #17 to append to the output list.
model_18optMODELOptional model patcher object #18 to append to the output list.
model_19optMODELOptional model patcher object #19 to append to the output list.
model_20optMODELOptional model patcher object #20 to append to the output list.
model_21optMODELOptional model patcher object #21 to append to the output list.
model_22optMODELOptional model patcher object #22 to append to the output list.
model_23optMODELOptional model patcher object #23 to append to the output list.
model_24optMODELOptional model patcher object #24 to append to the output list.
model_25optMODELOptional model patcher object #25 to append to the output list.
model_26optMODELOptional model patcher object #26 to append to the output list.
model_27optMODELOptional model patcher object #27 to append to the output list.
model_28optMODELOptional model patcher object #28 to append to the output list.
model_29optMODELOptional model patcher object #29 to append to the output list.
model_30optMODELOptional model patcher object #30 to append to the output list.
model_31optMODELOptional model patcher object #31 to append to the output list.
model_32optMODELOptional model patcher object #32 to append to the output list.
model_33optMODELOptional model patcher object #33 to append to the output list.
model_34optMODELOptional model patcher object #34 to append to the output list.
model_35optMODELOptional model patcher object #35 to append to the output list.
model_36optMODELOptional model patcher object #36 to append to the output list.
model_37optMODELOptional model patcher object #37 to append to the output list.
model_38optMODELOptional model patcher object #38 to append to the output list.
model_39optMODELOptional model patcher object #39 to append to the output list.
model_40optMODELOptional model patcher object #40 to append to the output list.
model_41optMODELOptional model patcher object #41 to append to the output list.
model_42optMODELOptional model patcher object #42 to append to the output list.
model_43optMODELOptional model patcher object #43 to append to the output list.
model_44optMODELOptional model patcher object #44 to append to the output list.
model_45optMODELOptional model patcher object #45 to append to the output list.
model_46optMODELOptional model patcher object #46 to append to the output list.
model_47optMODELOptional model patcher object #47 to append to the output list.
model_48optMODELOptional model patcher object #48 to append to the output list.
model_49optMODELOptional model patcher object #49 to append to the output list.
model_50optMODELOptional model patcher object #50 to append to the output list.

Outputs (1)

NameTypeDescription
modelMODEL