ER Wedge Sequencer
A/B testing seeds and CFGs the Houdini way, without screenshotting each one
- images
- images
You know the drill: you've got a great prompt and you want to test whether seed 7 or seed 77 is better, or whether cfg 3.5 vs 4 vs 4.5 changes anything. So you run, screenshot, change the number, run, screenshot, change it again... until your desktop is a graveyard of untitled PNGs and you can't remember which one had which value.
Wedge it instead. "Wedging" is the VFX term (from Houdini) for running the same shot through a parameter range and comparing every result side by side, and ER Wedge Sequencer brings that workflow to ComfyUI. It's part of the ER VFX Nodepack by Héctor Gallego (ER Academy), and if you do any amount of look development it'll quietly become one of the nodes you use most.
How the wedging actually works
The clever part: you don't wire anything special. The sequencer reaches into other nodes in your graph - you pick a node (your KSampler, say) and a widget on it (seed, cfg, steps, a prompt, anything) - and gives it a list of values. It then rewrites those widget values, queues one full run per value, and collects each result into a labelled grid. Your original widget values are restored afterwards.
Value syntax is dead simple, straight from the docs:
7, 7.5, 8 # a list - three runs
1:10:2 # a range: start:end:step - 1, 3, 5, 7, 9
rand5 # five random values (great for seeds)
euler, dpmpp_2m # text values work for combo widgets too
A wedge can hold several parameters, and multiple params in one wedge multiply out - every combination runs, capped at 64 total so you can't accidentally queue a thousand images. Add more wedges with + Wedge; each one is an independent grid.
The inputs that matter
Graph-wise it's deceptively boring: images in, images out, and it passes the image through untouched, so you can drop it mid-chain without breaking anything. (There's also an optional er_meta string the front-end uses to tag results.) The actual wedge definitions live in the node's UI, not in sockets - that's the whole trick, it's a front-end orchestrator with a small collector node behind it.
When the runs land, results appear at native aspect ratio with their values overlaid on the image - W1 · seed: 123 - so you never lose track of which frame is which. Click one to view it full size, 🗑 clears a grid, and results are saved with the workflow so they survive a reload. Right-click the node → 🖼 Save contact sheet exports everything as a single PNG, labels included.
Gotchas worth knowing
- Results are matched to runs in queue order, so don't queue unrelated prompts while a wedge batch is flying - ComfyUI processes prompts in order and the sequencer will tag them wrongly.
- The sequencer temporarily rewrites widget values to queue each run and restores your originals afterwards - but its own docs warn results only line up with runs if you leave the queue alone, so treat a wedge batch as a "do not touch" window.
- It works best when what you're wedging actually sits upstream of the image input. For non-image comparisons (e.g. two different workflows), this node isn't the tool.
Installing
ER Wedge Sequencer ships in the ER VFX Nodepack. In Manager, search "ER VFX Nodepack" and install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/esperandoelrender/ComfyUI-ER-VFX-Nodepack.git
Restart, search "ER" in the node menu (utils category). No extra dependencies for the image version. If you have older individual er_* packs installed, remove them so nodes don't register twice.
The video sibling, ER Wedge Sequencer Video, does the same for frame batches from Create Video / LTX / Wan, and needs PyAV (pip install av if it isn't bundled) for its MP4 proxies.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| er_metaopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |