Checkpoint & Sampler for TripleCLIP
The One-Box Pipeline for SD3's Three Text Encoders
- optional_lora_stack
- optional_controlnet_stack
- image
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.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | 0 options: | |
| clip_name1 | COMBO | 0 options: | |
| clip_name2 | COMBO | 0 options: | |
| clip_name3 | COMBO | 0 options: | |
| resolution | COMBO | 33 options: width x height, 128 x 128, 256 x 256, 512 x 512, 512 x 768, 576 x 1024, +27 | |
| positive_text | STRING | — | |
| negative_text | STRING | bad 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_size | INT | 11–20 | — |
| steps | INT | 201–100 | — |
| cfg | FLOAT | 7.50–30 | — |
| seed | INT | 00–18446744073709550000 | The random seed used for creating the noise. |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| denoise | FLOAT | 1.000–1 | — |
| optional_lora_stackopt | ZSQ_LORA_STACK | — | |
| optional_controlnet_stackopt | ZSQ_CONTROL_NET_STACK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |