ComfyUI Node Runs on cloud

pipeLoaderSDXL

The full SDXL loader with global/local prompts

By TinyTerraΒ·Created 3 years agoΒ·Updated 3 months agoΒ· 604
pipeLoaderSDXL
  • model_override
  • clip_override
  • optional_lora_stack
  • optional_controlnet_stack
  • refiner_model_override
  • refiner_clip_override
  • sdxl_pipe
  • model
  • positive
  • negative
  • vae
  • clip
  • refiner_model
  • refiner_positive
  • refiner_negative
  • refiner_clip
  • latent
  • seed
  • width
  • height
  • pos_string
  • neg_string
β—„ckpt_nameβ–Ύβ–Ί
β—„config_nameDefaultβ–Ί
β—„vae_nameβ–Ύβ–Ί
β—„clip_skip-2β–Ί
β—„lorasβ€”β–Ί
β—„refiner_ckpt_nameβ–Ύβ–Ί
β—„refiner_config_nameDefaultβ–Ί
β—„positive_gβ€”β–Ί
β—„positive_lβ€”β–Ί
β—„negative_gβ€”β–Ί
β—„negative_lβ€”β–Ί
β—„conditioning_aspect1x Empty Latent Aspectβ–Ί
β—„conditioning_width2048β–Ί
β—„conditioning_height2048β–Ί
β—„crop_width0β–Ί
β—„crop_height0β–Ί
β—„target_aspect1x Empty Latent Aspectβ–Ί
β—„target_width1024β–Ί
β—„target_height1024β–Ί
β—„positive_ascore6β–Ί
β—„negative_ascore2β–Ί
β—„empty_latent_aspect1024 x 1024 [S] 1:1β–Ί
β—„empty_latent_width1024β–Ί
β—„empty_latent_height1024β–Ί
β—„batch_size1β–Ί
β—„seed0β–Ί
β—„prepend_positive_gβ€”β–Ί
β—„prepend_positive_lβ€”β–Ί
β—„prepend_negative_gβ€”β–Ί
β—„prepend_negative_lβ€”β–Ί

SDXL isn't one model with one text encoder - it's a base plus a refiner, and its CLIP is really two encoders: CLIP-L for "local" prompt detail and the OpenCLIP bigG for "global" style and composition. Most loaders hide that. tinyterra's pipeLoaderSDXL v2 (ttN pipeLoaderSDXL_v2) is the version that doesn't: it gives you separate positive_g / positive_l and negative_g / negative_l boxes, loads the base and refiner, applies a stack of LoRAs, and produces an sdxl_pipe ready for pipeKSamplerSDXL.

If you're doing SDXL in tinyterra, this is the loader you want. It's the current-generation version of the legacy pipeLoaderSDXL, and the big upgrade is exactly that split: in v1 you got one prompt string; here you can put the subject in _l and the style in _g the way the model was designed to be fed.

The inputs that matter

  • ckpt_name (+ config_name if you need a non-default config), vae_name ("Baked VAE"), clip_skip (default -2).
  • positive_g / positive_l and negative_g / negative_l - the four prompt boxes. A rough rule: global holds style, mood and medium; local holds the concrete subjects and details. The optional prepend_positive_g/l and prepend_negative_g/l inputs let you bolt fixed tags on without editing the boxes.
  • loras - a multiline LoRA stack string (the pack's autocomplete helps here). Multiple LoRAs with model_strength and clip_strength each, in one text field - cleaner than ten separate slots, once you get used to it. You can also feed a LORA_STACK in via optional_lora_stack instead, plus optional_controlnet_stack.
  • refiner_ckpt_name (+ refiner_config_name) - the refiner. Set to "None" if you're skipping it.
  • The aspect/size block, which is where SDXL gets fiddly:
    • empty_latent_aspect - presets like "1024 x 1024 [S] 1:1", "640 x 1536 [P] 9:21" etc., which set empty_latent_width/height for you.
    • conditioning_aspect, conditioning_width/height, crop_width/height, target_aspect, target_width/height - this is SDXL's crop/target conditioning. SDXL conditions on the crop position and target size, and getting these wrong is why SDXL images come out squished or off-center. These fields let you control exactly how the conditioning is scaled to the latent.
  • positive_ascore / negative_ascore - aesthetic-score conditioning for the refiner (defaults 6 and 2).
  • batch_size, seed.

Outputs

sdxl_pipe plus the full breakdown: model, positive, negative, vae, clip, refiner_model, refiner_positive, refiner_negative, refiner_clip, latent, seed, and the handy width, height, pos_string, neg_string outputs for driving other nodes or filename prefixes.

Install and gotchas

One-time pack install - ComfyUI Manager β†’ search ComfyUI_tinyterraNodes, or clone into ComfyUI/custom_nodes, restart. No extra dependencies; no bundled models.

The usual traps: leave the refiner "None" unless you've actually loaded one (a refiner with nothing behind it errors); and if outputs look slightly wrong, check the conditioning-aspect block before blaming the sampler - mis-set conditioning size is the classic SDXL complaint. And the honest caveat for the whole pack: this loader is SDXL-shaped. GGUF Flux and the newest architectures aren't what tinyterra's pipe nodes were built for, so for those you'll be using native nodes.

Category🌏 tinyterra/pipe

Inputs (36)

NameTypeDefaultDescription
ckpt_nameCOMBO0 options:
config_nameCOMBODefault12 options: Default, anything_v3.yaml, v1-inference.yaml, v1-inference_clip_skip_2.yaml, v1-inference_clip_skip_2_fp16.yaml, v1-inference_fp16.yaml, +6
vae_nameCOMBO1 options: Baked VAE
clip_skipINT-2-24–0β€”
lorasSTRINGβ€”
refiner_ckpt_nameCOMBO1 options: None
refiner_config_nameCOMBODefault12 options: Default, anything_v3.yaml, v1-inference.yaml, v1-inference_clip_skip_2.yaml, v1-inference_clip_skip_2_fp16.yaml, v1-inference_fp16.yaml, +6
positive_gSTRINGβ€”
positive_lSTRINGβ€”
negative_gSTRINGβ€”
negative_lSTRINGβ€”
conditioning_aspectCOMBO1x Empty Latent Aspect9 options: width x height [custom], 1x Empty Latent Aspect, 2x Empty Latent Aspect, 3x Empty Latent Aspect, 4x Empty Latent Aspect, 5x Empty Latent Aspect, +3
conditioning_widthINT204864–16384β€”
conditioning_heightINT204864–16384β€”
crop_widthINT00–16384β€”
crop_heightINT00–16384β€”
target_aspectCOMBO1x Empty Latent Aspect9 options: width x height [custom], 1x Empty Latent Aspect, 2x Empty Latent Aspect, 3x Empty Latent Aspect, 4x Empty Latent Aspect, 5x Empty Latent Aspect, +3
target_widthINT10240–16384β€”
target_heightINT10240–16384β€”
positive_ascoreINT6β€”
negative_ascoreINT2β€”
empty_latent_aspectCOMBO1024 x 1024 [S] 1:114 options: width x height [custom], 1024 x 1024 [S] 1:1, 640 x 1536 [P] 9:21, 704 x 1472 [P] 9:19, 768 x 1344 [P] 9:16, 768 x 1216 [P] 5:8, +8
empty_latent_widthINT102464–16384β€”
empty_latent_heightINT102464–16384β€”
batch_sizeINT11–64β€”
seedINT00–18446744073709550000β€”
model_overrideoptMODELβ€”
clip_overrideoptCLIPβ€”
optional_lora_stackoptLORA_STACKβ€”
optional_controlnet_stackoptCONTROL_NET_STACKβ€”
refiner_model_overrideoptMODELβ€”
refiner_clip_overrideoptCLIPβ€”
prepend_positive_goptSTRINGβ€”
prepend_positive_loptSTRINGβ€”
prepend_negative_goptSTRINGβ€”
prepend_negative_loptSTRINGβ€”

Outputs (16)

NameTypeDescription
sdxl_pipePIPE_LINE_SDXLβ€”
modelMODELβ€”
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
vaeVAEβ€”
clipCLIPβ€”
refiner_modelMODELβ€”
refiner_positiveCONDITIONINGβ€”
refiner_negativeCONDITIONINGβ€”
refiner_clipCLIPβ€”
latentLATENTβ€”
seedINTβ€”
widthINTβ€”
heightINTβ€”
pos_stringSTRINGβ€”
neg_stringSTRINGβ€”