easy isSDXL
Check whether a pipe or CLIP is running an SDXL checkpoint
- optional_pipe
- optional_clip
- boolean
A tiny but genuinely useful check: hand it a pipe or a CLIP model, and it tells you - true or false - whether you're looking at an SDXL checkpoint. It exists because SDXL isn't just "a bigger SD 1.5"; it's architecturally different enough (dual text encoders, different latent behavior, different sane defaults for things like clip skip) that a lot of workflow logic genuinely needs to branch on the answer rather than assuming one model family throughout.
Why you'd reach for it
The real payoff is building workflows that adapt to whatever checkpoint someone drops in, instead of workflows that quietly misbehave on the "wrong" architecture. Wire the boolean into easy ifElse and you can branch your resolution defaults (SDXL wants 1024-class resolutions, SD 1.5 wants 512-class), your clip skip setting, or which downstream nodes even get used - some adapters and LoRA types are architecture-specific and you don't want them silently applied to the wrong base model. If you're publishing a workflow for other people to reuse with their own checkpoints, this is the kind of node that turns "works on my machine" into "works on whatever they load."
How it works
Given a pipe (which carries the model/clip bundle Easy-Use's loaders produce) or a clip directly, the node inspects it and reports whether it matches SDXL's architecture. SDXL's defining structural difference from SD 1.5 - the dual text encoders (OpenCLIP-ViT/bigG paired with CLIP-ViT/L) rather than one - is what makes this kind of architecture check possible to do reliably rather than guessing from a filename.
The inputs and outputs that matter
optional_pipe- a pipe from an Easy-Use loader chain. Either this oroptional_clipis what you'd normally wire in.optional_clip- a CLIP model directly, if you're not routing through a pipe.boolean(output) - true if SDXL, false otherwise. Feed this straight intoeasy ifElseor a comparison node.
Both inputs are optional individually, but you need to supply one of them for the check to have anything to inspect.
Installing it
Ships with the base pack. ComfyUI Manager: search ComfyUI Easy Use, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
then install.bat on Windows or pip install -r requirements.txt, restart. No models needed for the check itself.
Common issues & troubleshooting
Neither input connected. With both optional_pipe and optional_clip left empty, there's nothing for the node to inspect - wire at least one in, whichever's already flowing through your graph at that point.
Checking an SDXL-derived model (Illustrious, NoobAI, Pony) and expecting a different answer. These are fine-tunes built on the SDXL architecture, not a separate architecture - structurally they're still SDXL, so this node correctly reports true for them. If you were hoping to distinguish "vanilla SDXL" from "an anime fine-tune," this node isn't answering that question; it's answering the architecture question only.
Using it on a non-SDXL, non-SD1.5 model expecting a meaningful "false." A false result tells you the model isn't SDXL - it doesn't tell you what it is instead. On a Flux, Z-Image, or other newer-architecture pipe, you'll get false, same as you would on SD 1.5, so don't treat "false" as "therefore SD 1.5" in your branching logic if your workflow needs to support more than those two families.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| optional_pipeopt | PIPE_LINE | — | |
| optional_clipopt | CLIP | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| boolean | BOOLEAN | — |