Nodes/ComfyUI-MDSNodes/Load Diffusion Model Hub Pro
ComfyUI Node

Load Diffusion Model Hub Pro

Load a Diffusion Model and Route the Whole Recipe in One Node

By MarwanDSAI·Created about a month ago·Updated 2 days ago· 1
Load Diffusion Model Hub Pro
    • MODEL
    • steps
    • step_refiner
    • cfg
    • unet_name
    • sampler_name
    • scheduler
    • denoise
    • positive_prompt
    • negative_prompt
    • metadata
    unet_nameNone
    steps20
    step_refiner10
    cfg7.0
    sampler_name
    scheduler
    denoise1.00
    positive_prompt
    negative_prompt
    metadata

    Load Diffusion Model Hub Pro is the UNET-flavored sibling of the pack's flagship hub. Where Load Checkpoint Hub Pro loads a whole checkpoint and hands you MODEL, CLIP, and VAE, this one loads just the diffusion/UNET weights and routes the sampling recipe alongside: steps, refiner steps, CFG, sampler, scheduler, denoise, plus your positive and negative prompts and a metadata string. One node, the model and the entire generation plan, on a single line of sockets.

    It's the node for the modern split-model world. Checkpoints bundle everything into one file; diffusion models don't. If you're running Flux, SD3, or any of the 2026 generation that ships its text encoder and VAE as separate downloads, you're already working with a diffusion_models folder and a grab-bag of companion files - and this hub matches that reality by loading only the UNET and leaving CLIP and VAE to you.

    How it works

    Under the hood it's comfy.sd.load_unet() on the resolved model path, wrapped in the same parameter-routing surface as the checkpoint hub. The unet_name dropdown is built from folder_paths.get_filename_list("diffusion_models"), so it covers both models/diffusion_models and models/unet. The sampler and scheduler lists come live from comfy.samplers, so they always match what your ComfyUI supports. Prompts are multiline with dynamic prompts enabled; metadata is single-line.

    The outputs, and the one that's easy to miss

    • MODEL - the loaded UNET weights, straight into your sampler.
    • steps, step_refiner, cfg, sampler_name, scheduler, denoise - the recipe, wired to the matching KSampler inputs. The sampler and scheduler sockets are combo-typed, so they click into place.
    • unet_name (*) - the filename as a wildcard, for routing into context nodes or loaders that want to know which model ran.
    • positive_prompt, negative_prompt, metadata - plain STRING outputs feeding your CLIP Text Encode nodes and save/metadata nodes.

    Here's the part people trip on: there is no CLIP and no VAE output. The node only loads the diffusion model. You still need a separate CLIP loader (or DualCLIP loader) and a VAE to actually encode your text and decode your latents - and in 2026 those are separate files you download yourself. This isn't a bug; it's the node doing the one job a diffusion_models folder actually contains. If your workflow errors on a missing CLIP or VAE, that's the gap.

    Installing it

    Part of MarwanDSAI/comfyui-mdsnodes. ComfyUI Manager: search "ComfyUI-MDSNodes", install, restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MarwanDSAI/comfyui-mdsnodes
    

    Restart, no pip step - requirements.txt is empty and the pack declares zero dependencies.

    Gotchas

    If your diffusion_models folder is empty, the dropdown falls back to a single "None" entry - and queuing with that selected will error out, because there's nothing to load. Drop at least one model in first. And remember the hub is explicit-wire plumbing, not a magic context bundle: the benefit is one authoritative source for the recipe, and the cost is that you're still wiring the sockets by hand. That's the trade, and for a testing workflow it's usually the right one.

    CategoryMDSNodes/sampling

    Inputs (10)

    NameTypeDefaultDescription
    unet_nameCOMBONoneSelect the diffusion / UNET model file from your models/diffusion_models or models/unet folder.
    stepsINT201–10000The total number of sampling/denoising steps for base generation.
    step_refinerINT100–10000Target step count for refiner passes or the step transition threshold for multi-pass pipelines.
    cfgFLOAT7.00–100Classifier-Free Guidance (CFG) scale. Controls how strictly the model adheres to your prompt.
    sampler_nameCOMBOThe mathematical sampling algorithm used to generate or denoise the image (e.g., euler, dpmpp_2m).
    schedulerCOMBOThe noise scheduling rate/curve across the steps (e.g., normal, karras, sgm_uniform, simple).
    denoiseFLOAT1.000–1Denoise strength. Set to 1.0 for initial txt2img generation, or 0.20-0.60 for img2img / upscaling.
    positive_promptSTRINGEnter positive prompt text. Expanding the node will enlarge this text box.
    negative_promptSTRINGEnter negative prompt text. Expanding the node will enlarge this text box.
    metadataSTRINGSingle-line metadata text or workflow tags to pass downstream.

    Outputs (11)

    NameTypeDescription
    MODELMODELThe loaded diffusion model.
    stepsINTBase generation step count (INT).
    step_refinerINTRefiner step count or threshold (INT).
    cfgFLOATClassifier-Free Guidance scale (FLOAT).
    unet_name*The selected diffusion/UNET model filename (Universal Wildcard *).
    sampler_nameeuler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2Sampler algorithm name (COMBO slot for KSampler / SamplerSelect).
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimalScheduler curve type (COMBO slot for KSampler / BasicScheduler).
    denoiseFLOATDenoise strength multiplier (FLOAT).
    positive_promptSTRINGPositive prompt string (connect to CLIP Text Encode).
    negative_promptSTRINGNegative prompt string (connect to CLIP Text Encode).
    metadataSTRINGPassthrough metadata string.