Nodes/ComfyUI_tinyterraNodes/pipeKSamplerSDXL v1 (Legacy)
ComfyUI Node Runs on cloud

pipeKSamplerSDXL v1 (Legacy)

The legacy SDXL sampler that runs base and refiner in one node

By TinyTerraΒ·Created 3 years agoΒ·Updated 3 months agoΒ· 605
pipeKSamplerSDXL v1 (Legacy)
  • sdxl_pipe
  • optional_model
  • optional_positive
  • optional_negative
  • optional_vae
  • optional_refiner_model
  • optional_refiner_positive
  • optional_refiner_negative
  • optional_refiner_vae
  • optional_latent
  • optional_clip
  • sdxl_pipe
  • model
  • positive
  • negative
  • vae
  • refiner_model
  • refiner_positive
  • refiner_negative
  • refiner_vae
  • latent
  • clip
  • image
  • seed
β—„upscale_methodβ–Ύβ–Ί
β—„factor2.00β–Ί
β—„cropβ–Ύβ–Ί
β—„sampler_stateβ–Ύβ–Ί
β—„base_steps20β–Ί
β—„refiner_steps20β–Ί
β—„cfg8.00β–Ί
β—„sampler_nameβ–Ύβ–Ί
β—„schedulerβ–Ύβ–Ί
β—„image_outputβ–Ύβ–Ί
β—„save_prefixComfyUIβ–Ί
β—„seed0β–Ί

SDXL workflows in the old days came with a second model bolted on: the refiner. You'd run most of your steps through the base model, then hand the latent to a refiner model for the final stretch to sharpen fine detail. ComfyUI's default way to do this was a chain of nodes and a model-switch somewhere in the middle. tinyterra's pipeKSamplerSDXL (ttN pipeKSamplerSDXL, v1, Legacy) was the compact answer: a single sampler that took an SDXL pipe, ran base and refiner, and gave you both pipes back.

It's legacy now, superseded by the v2 SDXL sampler in the pack. It still loads and runs in old workflows - that's the deal legacy nodes make - but if you're wiring something new, the v2 (and honestly, the modern habit of just skipping the refiner entirely, since base-model quality got good enough that most people dropped it) are where you want to be.

How it works

Input: sdxl_pipe (the SDXL pipe from pipeLoaderSDXL). Outputs: sdxl_pipe plus the whole breakdown - model, positive, negative, vae, refiner_model, refiner_positive, refiner_negative, refiner_vae, latent, clip, image and seed.

The sampling controls:

  • base_steps and refiner_steps - the split is the whole game. Run 20 base steps, then refiner_steps (say 5) through the refiner. Set refiner_steps to 0 and the refiner is skipped - the common modern configuration.
  • cfg, sampler_name, scheduler - standard knobs.
  • sampler_state - "Sample" or "Hold", to park the sampler without running it.
  • upscale_method, factor, crop - a latent upscale before sampling.
  • image_output / save_prefix - preview or save.

The optional_* inputs are overrides: optional_model, optional_positive, optional_negative, optional_vae, and the refiner trio optional_refiner_model / optional_refiner_positive / optional_refiner_negative / optional_refiner_vae, plus optional_latent and optional_clip. Same idea as the other v1 samplers - connect one to swap that slot for this run.

Install and gotchas

One-time pack install - ComfyUI Manager β†’ search ComfyUI_tinyterraNodes, or git clone https://github.com/TinyTerra/ComfyUI_tinyterraNodes.git into ComfyUI/custom_nodes, then restart. No dependencies or model downloads - the refiner is a checkpoint you load yourself in the loader.

Real-world notes: if the refiner isn't loaded into the pipe, the refiner steps have nothing to run and the node errors - this is the most common failure with this node, and it's why refiner_steps = 0 is a sensible default until you've actually got a refiner. And it's SDXL-only; feeding it a standard pipe type won't work, which is precisely why the pack splits SDXL and regular pipe nodes. Like the rest of the legacy family, don't expect this to stretch to newer architectures - the v2 SDXL nodes cover that ground (up to a point), and past that you're in native-node territory.

Category🌏 tinyterra/legacy

Inputs (23)

NameTypeDefaultDescription
sdxl_pipePIPE_LINE_SDXLβ€”
upscale_methodCOMBO7 options: None, nearest-exact, bilinear, area, bicubic, lanczos, +1
factorFLOAT2.000–10β€”
cropCOMBO2 options: disabled, center
sampler_stateCOMBO2 options: Sample, Hold
base_stepsINT201–10000β€”
refiner_stepsINT200–10000β€”
cfgFLOAT8.000–100β€”
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
image_outputCOMBO4 options: Hide, Preview, Save, Hide/Save
save_prefixSTRINGComfyUIβ€”
seedoptINT00–18446744073709550000β€”
optional_modeloptMODELβ€”
optional_positiveoptCONDITIONINGβ€”
optional_negativeoptCONDITIONINGβ€”
optional_vaeoptVAEβ€”
optional_refiner_modeloptMODELβ€”
optional_refiner_positiveoptCONDITIONINGβ€”
optional_refiner_negativeoptCONDITIONINGβ€”
optional_refiner_vaeoptVAEβ€”
optional_latentoptLATENTβ€”
optional_clipoptCLIPβ€”

Outputs (13)

NameTypeDescription
sdxl_pipePIPE_LINE_SDXLβ€”
modelMODELβ€”
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
vaeVAEβ€”
refiner_modelMODELβ€”
refiner_positiveCONDITIONINGβ€”
refiner_negativeCONDITIONINGβ€”
refiner_vaeVAEβ€”
latentLATENTβ€”
clipCLIPβ€”
imageIMAGEβ€”
seedINTβ€”