Nodes/zsq_prompt/Checkpoint & Sampler
ComfyUI Node

Checkpoint & Sampler

A Whole Diffusion Pipeline Crammed Into One Node

By windfancy·Created 2 years ago·Updated 5 months ago· 2
Checkpoint & Sampler
  • optional_lora_stack
  • optional_controlnet_stack
  • image
ckpt_name
resolution
positive_text
negative_textbad proportions, low resolution,worst quality, low quality, normal quality,lowres, inaccurate limb, bad, ugly, terrible, extra fingers, fewer fingers, missing fingers, extra arms, extra legs, inaccurate eyes, bad composition, bad anatomy, error, extra digit,fewer digits, cropped, low res, jpeg artifacts, trademark,artist's name, username, watermarksignature, watermark,text, words
batch_size1
steps20
cfg7.5
seed0
sampler_name
scheduler
denoise1.00

Checkpoint & Sampler is the pack's flagship "everything in one node" - it loads a checkpoint, encodes your prompt, builds the empty latent, samples, and decodes the VAE, all behind a single node that spits out a finished image. If you're a beginner staring at the standard ComfyUI graph of six nodes and thinking "do I really need all these wires," this is the node that says no. If you're a power user, you'll recognize it as the same philosophy ComfyUI-Easy-Use popularized: hide the plumbing, expose the knobs that matter.

What's behind the curtain

Mechanically it's a standard pipeline in a trench coat. It loads the checkpoint (cached per node instance - change the ckpt_name and it reloads), applies any lora stack you feed in, tokenizes and encodes the positive/negative text, applies a controlnet stack if one is attached, creates an empty latent at your chosen resolution, runs the sampler, and decodes to an IMAGE. The only output is image, ready for a save node or further post-processing.

The inputs that matter

Most are the usual sampler suspects you already know:

  • ckpt_name - dropdown of your checkpoints.
  • resolution - 33 presets from 128×128 up through the SDXL aspect ratios. The whole point: no Empty Latent node, no math.
  • positive_text / negative_text - multiline prompts; the negative ships prefilled with a solid generic negative (bad anatomy, extra fingers, watermarks - the standard laundry list), which is a nice default you can clear.
  • steps, cfg, seed, sampler_name, scheduler, denoise, batch_size - the regular dials, all present.
  • optional_lora_stack and optional_controlnet_stack - wire in the pack's loraStack / controlnetStack nodes to add LoRAs and ControlNets without expanding the graph.

The trade-off

This is a convenience node, and convenience is the cost. You can't inject a noise image, you can't do a hires pass in the middle, and the sampler runs its whole pipeline inside one opaque box - when something's wrong, you get an image or an error, not a stage to inspect. For quick tests, iteration on prompts, or workflows you're handing to non-technical people, that's a fair deal. For anything where you need per-stage control, keep the full graph and treat this as a sketch tool.

One thing worth knowing: because the checkpoint is cached on the node, it stays loaded between runs, so repeated generation is fast until you switch models. That also means a big model swap takes a beat while it unloads the old one.

Installing it

It's the flagship of windfancy/zsq_prompt. ComfyUI Manager: search "zsq_prompt", install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/windfancy/zsq_prompt

then restart. The pack's requirements.txt is heavy (transformers, ultralytics, onnx, opencv-contrib) but most of it serves other nodes in the pack; the sampler path itself runs on ComfyUI's own stack. And the now-familiar caveat: Manager may flag zsq_prompt as "conflicting" because of its generic class names - the community says ignore that unless you're actually running the other pack.

Verdict

The one zsq_prompt node with real appeal beyond the pack's own ecosystem. If you mostly want "prompt in, image out" without managing a six-node graph, this is a genuinely good fit.

CategoryZSQ/Loaders

Inputs (13)

NameTypeDefaultDescription
ckpt_nameCOMBO0 options:
resolutionCOMBO33 options: width x height, 128 x 128, 256 x 256, 512 x 512, 512 x 768, 576 x 1024, +27
positive_textSTRING
negative_textSTRINGbad proportions, low resolution,worst quality, low quality, normal quality,lowres, inaccurate limb, bad, ugly, terrible, extra fingers, fewer fingers, missing fingers, extra arms, extra legs, inaccurate eyes, bad composition, bad anatomy, error, extra digit,fewer digits, cropped, low res, jpeg artifacts, trademark,artist's name, username, watermarksignature, watermark,text, words
batch_sizeINT11–20
stepsINT201–100
cfgFLOAT7.50–30
seedINT00–18446744073709550000The random seed used for creating the noise.
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT1.000–1
optional_lora_stackoptZSQ_LORA_STACK
optional_controlnet_stackoptZSQ_CONTROL_NET_STACK

Outputs (1)

NameTypeDescription
imageIMAGE