Ultimate Config Builder
A point-and-click grid builder so you never hand-write sampler-test JSON again
- configs_json
The Ultimate Sampler Grid node works off a JSON config, and typing that JSON by hand gets old fast. UltimateConfigBuilder is the suite's answer: a full visual editor that lives inside the node, letting you build a testing grid with searchable dropdowns and drag sliders instead of bracket-matching. It's the optional middle piece of the pack - the generator runs fine without it if you'd rather paste raw JSON - but it's also the part that makes the whole suite feel like a tool instead of a chore.
How it works
The node is a backend plus a bundle of JavaScript that renders a small IDE in the node's body: session management on top, then config arrays (each with its samplers, schedulers, steps, CFG, models, LoRAs), then a live JSON preview at the bottom. Everything you build is stored in one widget - lora_config - as a single JSON blob, and the node's sole output, configs_json, feeds straight into the generator. It also syncs session-level settings like vae_batch_size and overwrite_existing to the sampler through the config's _session_settings, which is why you can set performance knobs here instead of hunting for widgets.
The genuinely good parts are the ones that keep you from making mistakes:
- Searchable dropdowns auto-populate with your installed checkpoints, LoRAs, VAEs, samplers and schedulers. The iteration counter updates live as you add items, so you see "144 images" before you queue, not after the grid explodes.
- Folder expansion - set a model or LoRA card to "Folder (Separate)" and every file in that folder becomes its own test dimension. Test three checkpoints or an entire LoRA directory in one run.
- LoRA stacking and trigger words - stack multiple LoRAs with
+, and look up each LoRA's trigger words from CivitAI by SHA256 hash (cached inComfyUI/output/benchmarks/loras_tags.jsonfor offline use). You can exclude generic junk like "masterpiece" once and it stays excluded, and even pick where triggers land in the prompt. - Session and preset management - save/load whole test sessions and config presets, with an auto-save toggle (every 2s) for long editing sessions.
The inputs and output that matter
The widget inputs - samplers, schedulers, steps, cfg, session_name, include_none - exist mainly as the UI's backing store; you'll rarely touch them as widgets. The two you should know about:
lora_config- the actual data store, a multiline JSON string holding everything. If you want to hand-edit the config, this is where.load_session- dropdown to pull in a previously saved session's settings.
Optional model input sets the default checkpoint. Output: configs_json, wired to the generator's configs_json input. Wire session_name through too if you want the output folder controlled here.
Installing
Same pack, same story - via ComfyUI Manager (search ComfyUI-Ultimate-Auto-Sampler-Config-Grid-Testing-Suite) or:
cd ComfyUI/custom_nodes/
git clone https://github.com/JasonHoku/ComfyUI-Ultimate-Auto-Sampler-Config-Grid-Testing-Suite.git
Then restart. The builder ships inside the suite - nothing extra to install. The only real dependencies are diffusers and piexif from the pack's requirements.txt.
The classic gotcha
The most reported issue with this node is that it loads as a plain node with no UI. The fix is straight from the README: right-click it and choose Fix this node, or delete and re-add it - and make sure you're on ComfyUI Manager 1.9.2 or newer, with ComfyUI restarted after updating. If dropdowns show stale model lists, hit the Refresh Models/LoRAs button. And watch that iteration counter: folder expansion plus a few comma-separated samplers is the fastest way to accidentally queue 400 images. Save your config before you run anything big - auto-save is your friend for a reason.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| session_name | STRING | my_test_session | — |
| load_session | COMBO | None | 1 options: None |
| samplers | STRING | euler, dpmpp_2m | — |
| schedulers | STRING | normal, karras | — |
| steps | STRING | 20, 30 | — |
| cfg | STRING | 7.0 | — |
| lora_config | STRING | { "session_name": "my_test_session", "include_none": false, "global_positive_groups": [], "global_negative": "", "config_arrays": [ { "name": "Config 1", "samplers": "euler, dpmpp_2m", "schedulers": "normal, karras", "steps": "20, 30", "cfg": "7.0", "model": "", "loras": [ "None" ], "lora_omit_triggers": [], "lora_triggerwords_append_settings": {}, "combine": true, "positive_prompt_groups": [], "negative_prompt": "", "use_custom_prompts": false } ] } | — |
| include_none | BOOLEAN | false | — |
| modelopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| configs_json | STRING | — |