ComfyUI Extension: ComfyUI-nodes-hnmr

Authored by CYBERLOOM-INC

Created

Updated

7 stars

Provide various custom nodes for Latent, Sampling, Model, Loader, Image, Text. This is the fixed version of the original a/ComfyUI-nodes-hnmr by hnmr293.

README

Disclaimer

This is only a fix implemented on top of the original ComfyUI-nodes-hnmr by hnmr293. The reason why this repo exists is because, hnmr293 has not been approving any pull requests for a while now, and I believe our community deserves to be able to use this amazing tool by hnmr293 without any issues. All credits go to:

ComfyUI custom nodes

cover

Examples

X/Y/Z-plot

seeds, steps, cfg scales and others

workflow link

xyz plot 1

models

workflow link

xyz plot 2

VAEs

workflow link

xyz plot 3

Merge

simple merge and merge block weighted (thanks for @bbc-mc)

BMW

workflow link

merge block weighted

Multi-BMW

BMW with multi-alpha like supermerger (thanks for @hako-mikan)

workflow link

multi merge block weighted

Latent visualization

visualization of 4-channel latent tensor

workflow link

latent visualization

Node List

Latent nodes

|category|node name|input type|output type|desc.| | --- | --- | --- | --- | --- | |latent|RandomLatentImage|INT, INT, INT|LATENT|(width, height, batch_size)| |latent|VAEDecodeBatched|LATENT, VAE, INT|IMAGE|VAE decoding with specified batch size| |latent|VAEEncodeBatched|IMAGE, VAE, INT|LATENT|VAE encoding with specified batch size| |latent|LatentToImage|LATENT, FLOAT, FLOAT|IMAGE|convert 4-ch latent tensor to 4 grayscale images| |latent|LatentToHist|LATENT, ...|IMAGE|create a histogram of the input latent|

Sampling nodes

|category|node name|input type|output type|desc.| | --- | --- | --- | --- | --- | |sampling|KSamplerSetting|MODEL, CONDITIONING, CONDITIONING, LATENT|DICT|aggregate sampler's setting to single dict| |sampling|KSamplerOverrided|various|LATENT|override sampler's setting defined by KSamplerSetting| |sampling|KSamplerXYZ|various|LATENT|generate latents with values|

Model nodes and Loader nodes

|category|node name|input type|output type|desc.| | --- | --- | --- | --- | --- | |loader|StateDictLoader|(model name)|DICT|load state_dict| |model|Dict2Model|DICT, (config_file)|MODEL|instantiate a model from given state_dict| |model|StateDictMerger|DICT, DICT, FLOAT|MODEL, CLIP, VAE|merge two or three models| |model|StateDictMergerBlockWeighted|DICT, DICT|DICT|merge two models with per-block weights| |model|StateDictMergerBlockWeightedMulti|MODEL, MODEL, STRING|MODEL, CLIP, VAE|merge two models with per-block weights| |model|SaveStateDict|MODEL, STRING, STRING|-|save state_dict to the output directory| |model|ModelIter|MODEL, MODEL|MODEL|iterate models| |model|CLIPlIter|CLIP, CLIP|CLIP|iterate CLIPs| |model|VAElIter|VAE, VAE|VAE|iterate VAEs|

Image nodes

|category|node name|input type|output type|desc.| | --- | --- | --- | --- | --- | |image|ImageBlend2|IMAGE, IMAGE, FLOAT, STRING|IMAGE|ImageBlend with extra blend modes| |image|GridImage|IMAGE, INT, INT|-|generate single image with specific number of columns|

Others

|category|node name|input type|output type|desc.| | --- | --- | --- | --- | --- | |utils|SaveText|STRING, STRING, STRING|-|save texts with specified prefix and ext|