LLS Generation Config
The node that remembers SD1.5 wants 512 and Klein wants CFG 1
- model
- clip
- width
- height
- steps
- cfg
- guidance
- sampler_name
- scheduler
- denoise
- config_info
Every model family has its own "correct" way to be sampled, and nobody wants to memorize the table. SD1.5 wants 512x512 at CFG 7. SDXL wants 1024 at CFG 7. FLUX dev and Klein want CFG 1 with a guidance value instead. LLS Generation Config exists so you don't have to remember any of it: pick a model_family, and it hands you the recommended width, height, steps, cfg, guidance, sampler_name, scheduler, and denoise - eight outputs you can fan out across a workflow.
It's the settings brain of the LLS pack. The other nodes - Simple KSampler, Simple Empty Latent, Simple Checkpoint Loader - all have family awareness too, but Generation Config is the one that exposes the whole recommended set as plain wires. You can dump them into any KSampler, LLS or otherwise, because the outputs are ordinary INTs, FLOATs, and strings.
How it works
Set model_family to Auto and it tries to infer the family from the model / clip inputs if you connect them - otherwise you pick the family explicitly (SD1.5, SD15, SDXL, SDXL_TURBO, FLUX_SCHNELL, FLUX_DEV, FLUX2_DEV, FLUX2_KLEIN). The defaults come from a hardcoded table in the pack:
- SD1.5: 512x512, 20 steps, CFG 7
- SDXL: 1024x1024, 25 steps, CFG 7
- SDXL Turbo / FLUX Schnell: 1024, 4 steps, CFG 1
- FLUX dev: 1024, 20 steps, CFG 1, guidance 3.5
- FLUX2 Klein: 1024, 20 steps, CFG 1, guidance 3.5
Then quality_preset nudges the sampling from there - Fast, Balanced, High Quality, or Manual to take over entirely. size_preset picks the resolution, or Custom with the width/height elsewhere. config_info is a JSON string summarizing everything, which you can pipe into LLS Save Image so your PNGs record what settings produced them.
The Klein detail worth knowing
The pack's Klein default is 20 steps at CFG 1 - that's the quality path, not the 4-step distilled template that's become the community's daily driver for Klein. There's a real debate here (doubling Klein's steps and nudging CFG off 1.0 buys back most of its anatomy complaints, at roughly 2x wall time). If you're on a fast card and want speed, set quality_preset to Fast and watch the steps drop. If you want quality, leave it alone.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/Gin3601/LLS-node
# restart ComfyUI
Or ComfyUI Manager → search "LLS-node". No models, no pip deps.
Gotchas
The guidance output is only meaningful for FLUX-family models (it's 0.0 for the others), so when wiring it into a non-LLS sampler, make sure that sampler actually uses guidance. And remember: these are recommendations, not gospel - your LoRA or your subject may want more steps. The node's job is to stop you from accidentally sampling Klein at CFG 7, not to be the final word.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| quality_preset | COMBO | Family Default | 5 options: Family Default, Manual, Fast, Balanced, High Quality |
| size_preset | COMBO | Family Default | 5 options: Family Default, Custom, 512x512, 768x768, 1024x1024 |
| model_family | COMBO | Auto | 9 options: Auto, SD1.5, SD15, SDXL, SDXL_TURBO, FLUX_SCHNELL, +3 |
| modelopt | MODEL | — | |
| clipopt | CLIP | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |
| steps | INT | — |
| cfg | FLOAT | — |
| guidance | FLOAT | — |
| sampler_name | STRING | — |
| scheduler | STRING | — |
| denoise | FLOAT | — |
| config_info | STRING | — |