Models List
Fan out one sampler across many models without a for-loop
- 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_1andmodel_2- required; at least two models to emit.model_3…model_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.
Inputs (50)
| Name | Type | Default | Description |
|---|---|---|---|
| model_1 | MODEL | First model patcher object to include in the output list. | |
| model_2 | MODEL | Second model patcher object to include in the output list. | |
| model_3opt | MODEL | Optional model patcher object #3 to append to the output list. | |
| model_4opt | MODEL | Optional model patcher object #4 to append to the output list. | |
| model_5opt | MODEL | Optional model patcher object #5 to append to the output list. | |
| model_6opt | MODEL | Optional model patcher object #6 to append to the output list. | |
| model_7opt | MODEL | Optional model patcher object #7 to append to the output list. | |
| model_8opt | MODEL | Optional model patcher object #8 to append to the output list. | |
| model_9opt | MODEL | Optional model patcher object #9 to append to the output list. | |
| model_10opt | MODEL | Optional model patcher object #10 to append to the output list. | |
| model_11opt | MODEL | Optional model patcher object #11 to append to the output list. | |
| model_12opt | MODEL | Optional model patcher object #12 to append to the output list. | |
| model_13opt | MODEL | Optional model patcher object #13 to append to the output list. | |
| model_14opt | MODEL | Optional model patcher object #14 to append to the output list. | |
| model_15opt | MODEL | Optional model patcher object #15 to append to the output list. | |
| model_16opt | MODEL | Optional model patcher object #16 to append to the output list. | |
| model_17opt | MODEL | Optional model patcher object #17 to append to the output list. | |
| model_18opt | MODEL | Optional model patcher object #18 to append to the output list. | |
| model_19opt | MODEL | Optional model patcher object #19 to append to the output list. | |
| model_20opt | MODEL | Optional model patcher object #20 to append to the output list. | |
| model_21opt | MODEL | Optional model patcher object #21 to append to the output list. | |
| model_22opt | MODEL | Optional model patcher object #22 to append to the output list. | |
| model_23opt | MODEL | Optional model patcher object #23 to append to the output list. | |
| model_24opt | MODEL | Optional model patcher object #24 to append to the output list. | |
| model_25opt | MODEL | Optional model patcher object #25 to append to the output list. | |
| model_26opt | MODEL | Optional model patcher object #26 to append to the output list. | |
| model_27opt | MODEL | Optional model patcher object #27 to append to the output list. | |
| model_28opt | MODEL | Optional model patcher object #28 to append to the output list. | |
| model_29opt | MODEL | Optional model patcher object #29 to append to the output list. | |
| model_30opt | MODEL | Optional model patcher object #30 to append to the output list. | |
| model_31opt | MODEL | Optional model patcher object #31 to append to the output list. | |
| model_32opt | MODEL | Optional model patcher object #32 to append to the output list. | |
| model_33opt | MODEL | Optional model patcher object #33 to append to the output list. | |
| model_34opt | MODEL | Optional model patcher object #34 to append to the output list. | |
| model_35opt | MODEL | Optional model patcher object #35 to append to the output list. | |
| model_36opt | MODEL | Optional model patcher object #36 to append to the output list. | |
| model_37opt | MODEL | Optional model patcher object #37 to append to the output list. | |
| model_38opt | MODEL | Optional model patcher object #38 to append to the output list. | |
| model_39opt | MODEL | Optional model patcher object #39 to append to the output list. | |
| model_40opt | MODEL | Optional model patcher object #40 to append to the output list. | |
| model_41opt | MODEL | Optional model patcher object #41 to append to the output list. | |
| model_42opt | MODEL | Optional model patcher object #42 to append to the output list. | |
| model_43opt | MODEL | Optional model patcher object #43 to append to the output list. | |
| model_44opt | MODEL | Optional model patcher object #44 to append to the output list. | |
| model_45opt | MODEL | Optional model patcher object #45 to append to the output list. | |
| model_46opt | MODEL | Optional model patcher object #46 to append to the output list. | |
| model_47opt | MODEL | Optional model patcher object #47 to append to the output list. | |
| model_48opt | MODEL | Optional model patcher object #48 to append to the output list. | |
| model_49opt | MODEL | Optional model patcher object #49 to append to the output list. | |
| model_50opt | MODEL | Optional model patcher object #50 to append to the output list. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |