Nodes/ComfyUI-TJ_NODE/Multi Model Selecter (TJ)
ComfyUI Node

Multi Model Selecter (TJ)

Multi Model Selecter (TJ)

By designloves2·Created 4 months ago·Updated 3 days ago· 13
Multi Model Selecter (TJ)
    • out_1
    • out_2
    • out_3
    • out_4
    • out_5
    • out_6
    • out_7
    • out_8
    • out_9
    • out_10
    • out_11
    • out_12
    • out_13
    • out_14
    • out_15
    • out_16
    • out_17
    • out_18
    • out_19
    • out_20
    • out_21
    • out_22
    • out_23
    • out_24
    • out_25
    • out_26
    • out_27
    • out_28
    • out_29
    • out_30
    • out_31
    • out_32
    • out_33
    • out_34
    • out_35
    • out_36
    • out_37
    • out_38
    • out_39
    • out_40
    • out_41
    • out_42
    • out_43
    • out_44
    • out_45
    • out_46
    • out_47
    • out_48
    • out_49
    • out_50
    • out_51
    • out_52
    • out_53
    • out_54
    • out_55
    • out_56
    • out_57
    • out_58
    • out_59
    • out_60
    • out_61
    • out_62
    • out_63
    • out_64
    • out_65
    • out_66
    • out_67
    • out_68
    • out_69
    • out_70
    • out_71
    • out_72
    • out_73
    • out_74
    • out_75
    • out_76
    • out_77
    • out_78
    • out_79
    • out_80
    • out_81
    • out_82
    • out_83
    • out_84
    • out_85
    • out_86
    • out_87
    • out_88
    • out_89
    • out_90
    • out_91
    • out_92
    • out_93
    • out_94
    • out_95
    • out_96
    • out_97
    • out_98
    • out_99
    • out_100
    • out_101
    • out_102
    • out_103
    • out_104
    • out_105
    • out_106
    • out_107
    • out_108
    • out_109
    • out_110
    • out_111
    • out_112
    • out_113
    • out_114
    • out_115
    • out_116
    • out_117
    • out_118
    • out_119
    • out_120
    • out_121
    • out_122
    • out_123
    • out_124
    • out_125
    • out_126
    • out_127
    • out_128
    • out_129
    • out_130
    • out_131
    • out_132
    • out_133
    • out_134
    • out_135
    • out_136
    • out_137
    • out_138
    • out_139
    • out_140
    • out_141
    • out_142
    • out_143
    • out_144
    • out_145
    • out_146
    • out_147
    • out_148
    • out_149
    • out_150
    • out_151
    • out_152
    • out_153
    • out_154
    • out_155
    • out_156
    • out_157
    • out_158
    • out_159
    • out_160
    • out_161
    • out_162
    • out_163
    • out_164
    • out_165
    • out_166
    • out_167
    • out_168
    • out_169
    • out_170
    • out_171
    • out_172
    • out_173
    • out_174
    • out_175
    • out_176
    • out_177
    • out_178
    • out_179
    • out_180
    • out_181
    • out_182
    • out_183
    • out_184
    • out_185
    • out_186
    • out_187
    • out_188
    • out_189
    • out_190
    • out_191
    • out_192
    auto_setfalse
    output_modeModel Direct out
    select_typeModel
    slots_json[]
    clip_types_json[]

    The A/B model comparison is a ComfyUI ritual: load model A, run, swap in model B, run, wish you had eight more VRAM. Multi Model Selecter (TJ) is built for exactly that - a dynamic model selector with up to 64 slots that can hold checkpoints, diffusion models, CLIPs, and VAEs in one node and hand whichever one you pick to the rest of your graph.

    How it works

    You get a list of slots, each with its own dropdown. Add and remove slots from the UI (they're managed as JSON under the hood - slots_json, plus clip_types_json for per-slot CLIP types). The interesting part is the lazy loading: only the output slots you actually connected get loaded on a run. The node inspects the queued prompt, sees which out_n slots are wired up, and loads just those models. If it can't detect that (some workflows bypass the normal prompt path), it falls back to loading everything rather than silently giving you nothing.

    The select_type dropdown switches the whole node between four modes:

    • Model - diffusion_models / unet / GGUF files, output as a MODEL object
    • Checkpoints - a checkpoint's MODEL + CLIP + VAE, three outputs per slot
    • Clip - text encoders / clip files, output as CLIP
    • VAE - the VAE folder

    So one node instance does one kind of thing - you're not mixing a checkpoint and a VAE in the same slot list.

    The two output modes

    • output_mode = Model Direct out - each slot's output is the actual model object, ready to plug into a sampler.
    • output_mode = Model Path out - each output is a STRING containing the model's file path. This is the sneaky useful one: wire a path into a node that takes a filename, or use it purely as routing info for a save, without ever loading the model into VRAM.

    There are 192 out_1out_192 slots defined, though the README frames the practical ceiling at 64 active slots. Don't read too much into the count - it's a many output node, and the * type on each output lets the node load the right kind of object per slot.

    With auto_set on, every output slot also registers itself as a wireless provider, so a TJ Get-style node can pull a model without a wire. That's the whole "keep the graph clean" ethos of this pack.

    Installing it

    Same as every TJ node:

    cd ComfyUI/custom_nodes
    git clone https://github.com/designloves2/ComfyUI-TJ_NODE
    

    or ComfyUI Manager → search ComfyUI-TJ_NODE → Install → restart. No extra Python dependencies for this one.

    The honest take

    Where this shines is model-shopping and compare workflows: set up four slots, connect one sampler input to a few of them, and flip between models by changing which slot is connected. Because unconnected slots aren't loaded, you never pay VRAM for the models you aren't currently testing. The flip side - 64 slots, path mode, per-slot clip types - is a lot of surface area, and for a one-model workflow it's pure overhead. If you're doing A/B tests or batch model trials it's a genuinely better tool than the manual loader dance. If you just want one checkpoint loaded, use the built-in loader and move on.

    Category ✨ TJ_Node/Loaders

    Inputs (5)

    NameTypeDefaultDescription
    auto_setBOOLEANfalse
    output_modeCOMBOModel Direct out2 options: Model Direct out, Model Path out
    select_typeCOMBOModel4 options: Model, Checkpoints, Clip, VAE
    slots_jsonSTRING[]
    clip_types_jsonSTRING[]

    Outputs (192)

    NameTypeDescription
    out_1*
    out_2*
    out_3*
    out_4*
    out_5*
    out_6*
    out_7*
    out_8*
    out_9*
    out_10*
    out_11*
    out_12*
    out_13*
    out_14*
    out_15*
    out_16*
    out_17*
    out_18*
    out_19*
    out_20*
    out_21*
    out_22*
    out_23*
    out_24*
    out_25*
    out_26*
    out_27*
    out_28*
    out_29*
    out_30*
    out_31*
    out_32*
    out_33*
    out_34*
    out_35*
    out_36*
    out_37*
    out_38*
    out_39*
    out_40*
    out_41*
    out_42*
    out_43*
    out_44*
    out_45*
    out_46*
    out_47*
    out_48*
    out_49*
    out_50*
    out_51*
    out_52*
    out_53*
    out_54*
    out_55*
    out_56*
    out_57*
    out_58*
    out_59*
    out_60*
    out_61*
    out_62*
    out_63*
    out_64*
    out_65*
    out_66*
    out_67*
    out_68*
    out_69*
    out_70*
    out_71*
    out_72*
    out_73*
    out_74*
    out_75*
    out_76*
    out_77*
    out_78*
    out_79*
    out_80*
    out_81*
    out_82*
    out_83*
    out_84*
    out_85*
    out_86*
    out_87*
    out_88*
    out_89*
    out_90*
    out_91*
    out_92*
    out_93*
    out_94*
    out_95*
    out_96*
    out_97*
    out_98*
    out_99*
    out_100*
    out_101*
    out_102*
    out_103*
    out_104*
    out_105*
    out_106*
    out_107*
    out_108*
    out_109*
    out_110*
    out_111*
    out_112*
    out_113*
    out_114*
    out_115*
    out_116*
    out_117*
    out_118*
    out_119*
    out_120*
    out_121*
    out_122*
    out_123*
    out_124*
    out_125*
    out_126*
    out_127*
    out_128*
    out_129*
    out_130*
    out_131*
    out_132*
    out_133*
    out_134*
    out_135*
    out_136*
    out_137*
    out_138*
    out_139*
    out_140*
    out_141*
    out_142*
    out_143*
    out_144*
    out_145*
    out_146*
    out_147*
    out_148*
    out_149*
    out_150*
    out_151*
    out_152*
    out_153*
    out_154*
    out_155*
    out_156*
    out_157*
    out_158*
    out_159*
    out_160*
    out_161*
    out_162*
    out_163*
    out_164*
    out_165*
    out_166*
    out_167*
    out_168*
    out_169*
    out_170*
    out_171*
    out_172*
    out_173*
    out_174*
    out_175*
    out_176*
    out_177*
    out_178*
    out_179*
    out_180*
    out_181*
    out_182*
    out_183*
    out_184*
    out_185*
    out_186*
    out_187*
    out_188*
    out_189*
    out_190*
    out_191*
    out_192*