Disco Diffusion Extra Settings
The knobs Disco Diffusion hides from you by default
- DISCO_DIFFUSION_EXTRA_SETTINGS
The Disco Diffusion Sampler works fine out of the box. This node exists for the moment it doesn't - when the output is mushy, or too chaotic, or you remember that Disco Diffusion was famous for a specific painterly texture and you want that. It's an optional settings bundle: build one, wire it into the sampler's extra_settings input, and everything it sets overrides the sampler's defaults.
What's actually in here
- cutn (16) and cutn_batches (2) - the quality-vs-speed core.
cutnis how many random crops of the image get graded by CLIP at each step; more crops means a firmer steer and slower steps.cutn_batchesruns the whole cutout-and-loss pass multiple times per step. Crank both for better results, drop them for speed. - cut_overview / cut_innercut - the classic Disco trick, and the fiddliest inputs on the node. They're strings describing schedules, like
[12]*400+[4]*600: 12 whole-image crops for the first 400 steps, then 4. Overview cuts see the whole composition (good for structure), inner cuts are zoomed crops (good for detail). The defaults split 16 total cuts across a 1000-step timeline, which is why they match the defaultcutn. - cut_ic_pow and cut_icgray_p - inner-cut size and greyscale probabilities over the timeline. Leave them unless you're chasing a specific look.
- eta (0.8) - the DDIM stochasticity knob. Only affects
ddimsampling mode; lower it toward 0 for more deterministic, higher for more variation. - clamp_max (0.05) - clamps the CLIP gradient magnitude. The sampler's whole failure mode is overshoot producing noise and NaNs; this is the lever that keeps guidance sane.
- perlin_init and perlin_mode - start from Perlin noise instead of Gaussian. This is where Disco's signature grainy, textured init comes from, and it's the one toggle people specifically come looking for.
- use_horizontal_symmetry / use_vertical_symmetry - mirrors the image during sampling. Genuinely useful for symmetrical subjects (faces, architecture) and a real time-saver, since you can halve the prompt's compositional work.
How it works
The output is a single DISCO_DIFFUSION_EXTRA_SETTINGS object - a plain dict under the hood - that the sampler unpacks onto its internal settings. One thing worth knowing: the schedule strings like cut_overview get passed through Python's eval() to become lists, indexed by timestep. That's the author's design, and it means you shouldn't paste schedule values from sketchy workflows you don't trust - it's running as code. It's a real consideration for a beginner, not a reason to panic; the defaults are safe.
Installing it
Same pack as the sampler, so same install. ComfyUI Manager, search "Disco Diffusion", or:
cd ComfyUI/custom_nodes
git clone --recursive https://github.com/space-nuko/ComfyUI-Disco-Diffusion
cd ComfyUI-Disco-Diffusion
pip install -r requirements.txt # into the venv your ComfyUI uses
What's actually worth touching
Honest take: most people never need this node. If you want a single upgrade, cutn and cutn_batches are it. If you want the look Disco was famous for, perlin_init is the switch. The symmetry toggles are a sleeper pick. Everything else is fine-tuning you'll only appreciate after a dozen runs that felt close but not quite - and by then you'll know which one you wanted. The pack's 2023 vintage caveat applies here too: it's a legacy node on a legacy pack, so if your ComfyUI won't start after installing, this pack is the usual suspect.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| eta | FLOAT | 0.80-1–1 | — |
| cutn | INT | 161–32 | — |
| cutn_batches | INT | 21–16 | — |
| cut_overview | STRING | [12]*400+[4]*600 | — |
| cut_innercut | STRING | [4]*400+[12]*600 | — |
| cut_ic_pow | STRING | [1]*1000 | — |
| cut_icgray_p | STRING | [0.2]*400+[0]*600 | — |
| clamp_max | FLOAT | 0.050–1 | — |
| clip_denoised | COMBO | 2 options: False, True | |
| perlin_init | COMBO | 2 options: False, True | |
| perlin_mode | COMBO | 3 options: mixed, color, gray | |
| use_horizontal_symmetry | COMBO | 2 options: False, True | |
| use_vertical_symmetry | COMBO | 2 options: False, True |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| DISCO_DIFFUSION_EXTRA_SETTINGS | DISCO_DIFFUSION_EXTRA_SETTINGS | — |