Nodes/JPS Custom Nodes for ComfyUI/SDXL Basic Settings Pipe (JPS)
ComfyUI Node

SDXL Basic Settings Pipe (JPS)

Where the settings dropdown becomes real numbers

By JPS-GER·Created 3 years ago·Updated 2 years ago· 100
SDXL Basic Settings Pipe (JPS)
  • sdxl_basic_settings
  • image_res
  • width
  • height
  • sampler_name
  • scheduler
  • steps_total
  • step_split
  • cfg
  • cfg_rescale
  • cfg_refiner
  • ascore_refiner
  • res_factor
  • clip_skip
  • filename

SDXL Basic Settings (JPS) bundles a dozen generation parameters into one BASIC_PIPE wire so the settings menu itself stays tidy. This node is the other half: it unpacks that bundle back into thirteen individually-typed outputs, and it does one genuinely useful piece of work along the way - turning the settings node's friendly resolution dropdown into actual numbers you can wire into EmptyLatentImage.

How it works

SDXL Basic Settings exposes resolution as a human-readable choice - something like "landscape - 1216x832 (3:2)" - because that's a better UI for a person than raw width/height fields. But nothing downstream can consume a string like that directly. This Pipe node resolves it into real width and height integers, which is the entire reason this pattern exists rather than just passing the settings node's raw values around.

It also computes step_split for you: steps_total × base_percentage, expressed as an actual step number rather than a percentage - the exact value you'd plug into a two-stage base-then-refiner sampling chain's start/end step ranges, without doing that math by hand every time you adjust base_percentage upstream.

The point of splitting this out as a separate node from the settings menu: place it wherever your consuming nodes actually live. clip_skip goes next to your CLIPSetLastLayer, width/height next to EmptyLatentImage, sampler_name/scheduler/steps_total/step_split next to your sampling chain, filename next to your save node - each pulling just the socket it needs instead of one wire snaking across your whole canvas.

The inputs and outputs that matter

  • sdxl_basic_settings (BASIC_PIPE, required) - from SDXL Basic Settings (JPS).
  • Outputs: image_res (INT), width (INT), height (INT), sampler_name, scheduler, steps_total (INT), step_split (INT, the derived base/refiner handoff step), cfg (FLOAT), cfg_rescale (FLOAT), cfg_refiner (FLOAT), ascore_refiner (FLOAT), res_factor (INT), clip_skip (INT), filename (STRING).

Which outputs you actually wire depends entirely on your workflow - a single-pass SDXL graph might only need width, height, sampler_name, scheduler, steps_total, cfg, clip_skip, and filename; the refiner-specific ones only matter once you've built a two-stage chain.

How to install it

ComfyUI Manager: search "JPS Custom Nodes for ComfyUI." Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git

Restart. Nothing extra to install beyond the base pack.

Common issues & troubleshooting

width/height don't look right. This node just reads what was resolved from the upstream resolution dropdown - if the numbers are off, go fix resolution on SDXL Basic Settings (JPS), not here.

step_split seems wrong. It's steps_total × base_percentage ÷ 100. If it's not landing where you expect, revisit base_percentage upstream rather than trying to correct it at this node - there's nothing to adjust here, it's a pure calculation.

This node "does nothing" on its own. Correct, by design - it's pure unpacking. If your generation looks wrong, the actual settings live on the paired Settings node; this Pipe node is never where the bug is, only where you'd notice a wrong value once you trace a wire back.

CategoryJPS Nodes/Pipes

Inputs (1)

NameTypeDefaultDescription
sdxl_basic_settingsBASIC_PIPE

Outputs (14)

NameTypeDescription
image_resINT
widthINT
heightINT
sampler_nameeuler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,ddim,uni_pc,uni_pc_bh2
schedulernormal,karras,exponential,sgm_uniform,simple,ddim_uniform,beta,linear_quadratic,kl_optimal
steps_totalINT
step_splitINT
cfgFLOAT
cfg_rescaleFLOAT
cfg_refinerFLOAT
ascore_refinerFLOAT
res_factorINT
clip_skipINT
filenameSTRING