Selector...
The preset hub that updates every node at once
- WIDTH
- HEIGHT
- BATCH_SIZE
- STEPS
- REFINER_STEPS
- CFG
- REFINER_CFG
- DENOISE
- SCALE
- VARIATION_STR
- SAMPLER_NAME
- SCHEDULER
Selector (displayed as "Selector...") is the flagship node of exdysa's comfyui-selector pack, and the whole point of it is in the README's first sentence: change one setting here and "many nodes" in your diagram change at the same time. It's a single control surface that broadcasts width, height, steps, CFG, denoise, scale and sampler/scheduler choices to however many consumers you wire up. If you've ever tuned the same CFG value in four places by hand, you know why this exists.
The centerpiece is the aspect_ratio dropdown: 44 curated resolutions, each one a name + exact pixel size, covering SD 1.x (512-class), SDXL (1024-class), and a swath of video/3D sizes (SV3D, Cosmos, CogVideoX-class). The code cites its sources in the comments - Stability AI's generative-models resolutions, NVIDIA's Cosmos, THUDM's CogVideoX - so the list isn't random, it's the resolution set those model families were actually trained at. Pick 1:1___1024x1024, and WIDTH/HEIGHT output exactly 1024/1024.
How it works
Two required inputs drive the geometry: aspect_ratio (the 44-entry list) and rotation (landscape / portrait). Pick portrait and it simply swaps width and height - the ratio is preserved, no math on your part. Everything else - batch, steps, refiner_steps, cfg, refiner_cfg, str_denoise, scale, variation_str, sampler_name, scheduler - is a pass-through: set it once on the widget, and the node emits it on a named output for you to feed wherever you like.
That's the whole architecture, and it's worth being clear about: this node doesn't do anything to images. It's a settings distribution point. Its outputs (WIDTH, HEIGHT, BATCH_SIZE, STEPS, REFINER_STEPS, CFG, REFINER_CFG, DENOISE, SCALE, VARIATION_STR, SAMPLER_NAME, SCHEDULER) are just the values, waiting to be wired into an Empty Latent Image, a KSampler, an upscaler, a Detailer. Change the dropdown and every consumer updates on the next run.
What you'd actually use
- A clean "control panel" for a shared workflow. Wire WIDTH/HEIGHT into Empty Latent, STEPS/CFG/SAMPLER into KSampler, DENOISE into a second-pass sampler, SCALE into an upscale node - and tune from one place.
- Model-family sanity. The sampler list is ComfyUI's full
SAMPLERSset, so the dropdown stays honest about what your installed ComfyUI actually supports. Pair the pack's philosophy: SDXL fine-tunes want CFG 4–7 territory, while guidance-distilled models like Flux want CFG 1 - one dropdown keeps those per-model defaults straight.
Installing it
ComfyUI Manager → search comfyui-selector → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/exdysa/comfyui-selector
Restart and it's under Selector_Recourse. No requirements.txt, no model files, no network access - this is a pure preset node.
Gotchas
- It's a broadcast hub, not a validator. If you set
stepsto something silly, the sampler will accept it. The node does exactly what you tell it. scaledefaults to 2 andvariation_strto 0 - sensible, but note they're just floats to wire into your own upscale/variation logic; there's no built-in upscaler here.- The refiner fields default to 0, so if you're not running a refiner pass, leave them alone.
- Small single-author pack, GPL-3.0, quiet since early 2025. The curated ratio list is the reason to install this over a plain integer hub - and if you want raw number widgets instead of curated ratios, the pack's separate "Selector Hub" node does that.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| aspect_ratio | COMBO | 1:1___1024x1024 | 44 options: 1:1___1024x1024, 16:15_1024x960, 17:15_1088x960, 17:14_1088x896, 18:13_1152x832, 4:3___1152x896, +38 |
| rotation | COMBO | 2 options: landscape, portrait | |
| batchopt | INT | 1-10000–10000 | — |
| stepsopt | INT | 20-10000–10000 | — |
| refiner_stepsopt | INT | 0-10000–10000 | — |
| cfgopt | FLOAT | 1.0000–1000 | — |
| refiner_cfgopt | FLOAT | 1.0000–1000 | — |
| str_denoiseopt | FLOAT | 1.0000–1000 | — |
| scaleopt | FLOAT | 2.0000–1000 | — |
| variation_stropt | FLOAT | 0.0000–1000 | — |
| sampler_nameopt | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduleropt | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 |
Outputs (12)
| Name | Type | Description |
|---|---|---|
| WIDTH | INT | — |
| HEIGHT | INT | — |
| BATCH_SIZE | INT | — |
| STEPS | INT | — |
| REFINER_STEPS | INT | — |
| CFG | FLOAT | — |
| REFINER_CFG | FLOAT | — |
| DENOISE | FLOAT | — |
| SCALE | FLOAT | — |
| VARIATION_STR | FLOAT | — |
| SAMPLER_NAME | euler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,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_2m_sde_heun,dpmpp_2m_sde_heun_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,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2 | — |
| SCHEDULER | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |