Load Checkpoint Hub Pro
The One Node That Loads a Checkpoint and Hands You the Whole Plan
- MODEL
- CLIP
- VAE
- steps
- step_refiner
- cfg
- ckpt_name
- sampler_name
- scheduler
- denoise
- positive_prompt
- negative_prompt
- metadata
Load Checkpoint Hub Pro is the flagship of this pack and the one node you'd build the whole workflow around. It does what a Load Checkpoint does - loads a checkpoint and hands you MODEL, CLIP, and VAE - and then keeps going: it also carries the sampling recipe (steps, refiner steps, CFG, sampler, scheduler, denoise), your positive and negative prompts, and a metadata string, all out of the same node.
One node, thirteen outputs, the entire generation plan. You wire it to a KSampler and a couple of CLIP Text Encode nodes, and you're done - the checkpoint, the settings, and the prompts all trace back to a single place you edit in one go.
How it works
The load itself is comfy.sd.load_checkpoint_guess_config() on the selected file, with the VAE and CLIP extracted and your embeddings directory pointed at so your trained embeddings resolve. "Guess config" is the important bit: it sniffs the checkpoint and loads the right architecture, so SD 1.5, SDXL, and the rest all work through the same node without you picking a config. The sampler and scheduler dropdowns are pulled live from comfy.samplers, and the prompt fields are multiline with dynamic prompts enabled.
The load also happens on every queue, so if you swap the checkpoint in the dropdown and hit run, you get the new one - no bypass-and-reload dance.
The outputs that matter
MODEL,CLIP,VAE- the three loaded components. MODEL goes to the sampler, CLIP to your text encoders, VAE to encode/decode.steps,step_refiner,cfg,sampler_name,scheduler,denoise- the recipe, combo-typed where a combo socket is expected so they click straight into a KSampler or SamplerSelect.ckpt_name- the filename as a combo slot, if a downstream loader needs to know which checkpoint ran.positive_prompt,negative_prompt- plain STRING outputs. Note they're strings, not conditioning: you still run them throughCLIP Text Encodebefore they reach the sampler. The hub carries your text; it doesn't encode it.metadata- a single-line string for workflow tags, passed through to wherever you keep records.
That last trio is the quiet killer feature for a model-testing workflow: your checkpoint name, prompts, and metadata all travel as data, so you can log exactly what produced each render without parsing it out of the image afterwards.
How this compares to a context bundle
If you've used rgthree's Context, you know the appeal of one wire carrying everything. This node is the explicit-wire version of that idea - every value gets its own socket instead of riding inside a bundle. More cables on screen, but nothing hidden inside a payload, which means no "which version of the value is in there" debugging. The KB's own guidance: explicit wires while you're actively iterating, context bundles when wire count becomes the actual problem. This node sits firmly on the explicit side, and for a workflow you're building and tuning, that's usually where you want to be.
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, and no pip install - the pack's requirements.txt is empty and it declares zero dependencies.
Gotchas
Two things to keep straight. First, this node expects a checkpoint - the dropdown lists models/checkpoints, so a separate UNET/diffusion file won't appear (that's Load Diffusion Model Hub Pro's job, and note it does not output CLIP or VAE, so the two hubs are not drop-in swaps). Second, the version numbers tell a story: the README still says v1.0.13 while the package is at 2.0.0 and ships extra nodes the README doesn't mention - if the docs seem behind the menu, the code is ahead of the README, and the menu is what you should trust.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | Select the base checkpoint diffusion model file from your models/checkpoints folder. | |
| steps | INT | 201–10000 | The total number of sampling/denoising steps for base generation. |
| step_refiner | INT | 100–10000 | Target step count for refiner passes or the step transition threshold for multi-pass pipelines. |
| cfg | FLOAT | 7.00–100 | Classifier-Free Guidance (CFG) scale. Controls how strictly the model adheres to your prompt. |
| sampler_name | COMBO | The mathematical sampling algorithm used to generate or denoise the image (e.g., euler, dpmpp_2m). | |
| scheduler | COMBO | The noise scheduling rate/curve across the steps (e.g., normal, karras, sgm_uniform, simple). | |
| denoise | FLOAT | 1.000–1 | Denoise strength. Set to 1.0 for initial txt2img generation, or 0.20-0.60 for img2img / upscaling. |
| positive_prompt | STRING | Enter positive prompt text. Expanding the node will enlarge this text box. | |
| negative_prompt | STRING | Enter negative prompt text. Expanding the node will enlarge this text box. | |
| metadata | STRING | Single-line metadata text or workflow tags to pass downstream. |
Outputs (13)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | The loaded diffusion model. |
| CLIP | CLIP | The loaded CLIP model for text encoding. |
| VAE | VAE | The loaded VAE model for image encoding/decoding. |
| steps | INT | Base generation step count (INT). |
| step_refiner | INT | Refiner step count or threshold (INT). |
| cfg | FLOAT | Classifier-Free Guidance scale (FLOAT). |
| ckpt_name | The selected checkpoint filename (COMBO slot for external Checkpoint Loaders). | |
| sampler_name | euler,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_bh2 | Sampler algorithm name (COMBO slot for KSampler / SamplerSelect). |
| scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | Scheduler curve type (COMBO slot for KSampler / BasicScheduler). |
| denoise | FLOAT | Denoise strength multiplier (FLOAT). |
| positive_prompt | STRING | Positive prompt string (connect to CLIP Text Encode). |
| negative_prompt | STRING | Negative prompt string (connect to CLIP Text Encode). |
| metadata | STRING | Passthrough metadata string. |