Nodes/zsq_prompt/Checkpoint & Sampler for TripleCLIP
ComfyUI Node

Checkpoint & Sampler for TripleCLIP

The One-Box Pipeline for SD3's Three Text Encoders

By windfancy·Created 2 years ago·Updated 5 months ago· 2
Checkpoint & Sampler for TripleCLIP
  • optional_lora_stack
  • optional_controlnet_stack
  • image
ckpt_name
clip_name1
clip_name2
clip_name3
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

SD3 has a party trick that's also its biggest hassle: it conditions on three separate text encoders - the two CLIP models plus a big T5 - and none of them ride along in the checkpoint file. That's exactly the problem Checkpoint & Sampler for TripleCLIP exists to solve. It's the pack's all-in-one prompt-to-image pipeline, but instead of assuming one bundled encoder it takes three text-encoder files and lets ComfyUI figure out how to combine them.

What it is

Same bones as the pack's main checkpoint_sampler: pick a checkpoint, a resolution, type your prompt, set sampler dials, and out pops a decoded IMAGE. The difference is the CLIP handling. The standard loader grabs the encoder baked into the checkpoint; this node reads clip_name1, clip_name2, and clip_name3 from your text_encoders folder and hands all three paths to ComfyUI's load_clip, which auto-detects each file's role and wires up the composite encoder. SD3-style triple-encoder models are the target; the node's dropdowns read whatever you've actually got in the folder.

Why you'd reach for it

Setting up SD3 by hand means a checkpoint file, three encoder files, and getting them to cooperate. This node collapses that into one box with three dropdowns - and because it reuses the pack's sampler plumbing, you also get the lora stack and controlnet stack inputs, the resolution presets (including SDXL aspect ratios), a prefilled generic negative, and per-instance model caching so switching checkpoints doesn't reload everything from scratch.

The inputs that matter

  • ckpt_name - the model.
  • clip_name1 / clip_name2 / clip_name3 - the three text encoders.
  • resolution, positive_text, negative_text, batch_size, steps, cfg, seed, sampler_name, scheduler, denoise - the standard suite.
  • optional_lora_stack / optional_controlnet_stack - for the pack's stack nodes.

Output is a single image. Note there's no types dropdown here like the DualCLIP variant has - ComfyUI sniffs the files, so your job is just to point it at the right three. Mix up which encoder goes in which slot and you'll know by the output quality long before any error message.

The honest take

This is the most niche node in the pack's loader family. If you don't run a model with three separate encoders, you will never touch it. If you do, it's a genuine shortcut - the alternative is a CLIPLoader graph with three files and a bunch of extra nodes just to reach the same sampler. Its sibling checkpoint_sampler_dualclip covers the two-encoder (Flux/SDXL-separated) case; grab whichever matches your model.

Installing it

From 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 installs heavy requirements this node doesn't run - the sampler path is ComfyUI-native. And the usual Manager "conflict" flag on zsq_prompt is the generic-class-name issue; ignore unless you're genuinely running the other pack.

Verdict

Purpose-built for a narrow problem, and it nails it. Keep it in mind the day an SD3-style model makes you hunt for three encoder files.

CategoryZSQ/Loaders

Inputs (16)

NameTypeDefaultDescription
ckpt_nameCOMBO0 options:
clip_name1COMBO0 options:
clip_name2COMBO0 options:
clip_name3COMBO0 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