๐ญ Smart USDU DiffDiff (Custom Sample)
Differential-diffusion upscaling with your own sampler and sigma schedule
- image
- model
- conditionings
- negative
- vae
- denoise_mask
- upscale_model
- custom_sampler
- custom_sigmas
- IMAGE
Most people will never need this variant. It's the Smart USDU Differential Diffusion node with two extra sockets: custom_sampler (SAMPLER) and custom_sigmas (SIGMAS). You reach for it when you want the tiled upscaler to use something the dropdown list can't give you - a custom sampler object from another node pack, or a bespoke sigma schedule that matches your model's training (some checkpoints ship with their own recommended schedules, and the "Custom Sample" suffix means those can be injected here instead of recreated from sampler_name + scheduler).
If that sentence made no sense to you, use the plain DiffDiffusion node. This one is for people who've already been bitten by "the default schedule ruins my model's colors" and know exactly what they're swapping in.
What changed vs. the base node
The core is unchanged - optional denoise_mask (white = more denoise, black = less), multiplier (<1 stronger / >1 weaker), per-tile conditionings, full USDU tiling and seam-fix block, and upscale_by + upscale_model so it does its own pixel upscale. The differences are structural:
custom_samplerandcustom_sigmasare optional; leave them empty and it falls back tosampler_name/scheduler/stepslike normal.upscale_modelmoved from required to optional, so you can even run the upscale factor path without a model input if your sampler setup handles it (or feed one when you need the pixel upscale).
The convention across this family is the same: the Custom Sample variants take a SAMPLER and SIGMAS object rather than the string names. If a workflow you're following passes an Align-Your-Steps scheduler or a cosine-exponential blend into a "CustomSample" node, this is the socket it plugs into.
Installing it
Part of ComfyUI-ArchAi3d-Qwen by Amir Ferdos (ArchAi3d). ComfyUI Manager โ search "ArchAi3d Qwen" โ install โ restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
cd ComfyUI-ArchAi3d-Qwen
pip install -r requirements.txt
Restart after. No extra deps for this node beyond ComfyUI's own torch/numpy/Pillow - the heavy stuff in requirements.txt serves other pack features. Free for personal use; commercial use needs the paid license.
Where it's worth it - and where it isn't
This is one of those "if you know, you know" nodes. If you're hitting VRAM ceilings while tiling with a custom-sampler workflow you already trust, it saves you reimplementing tiling yourself. If you just wanted a slightly different sampler, remember sampler_name already exposes all 44 ComfyUI samplers - Custom Sample adds real complexity for a use case you may not have. And the usual DiffDiff rules still apply: multiplier direction flips at 1.0, masks get resized to output size, and conditioning count mismatch silently reuses the last entry.
Inputs (29)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | โ | |
| model | MODEL | โ | |
| conditionings | CONDITIONING_LIST | โ | |
| negative | CONDITIONING | โ | |
| vae | VAE | โ | |
| upscale_by | FLOAT | 2.000.05โ4 | โ |
| seed | INT | 00โ18446744073709550000 | โ |
| steps | INT | 201โ10000 | โ |
| cfg | FLOAT | 8.000โ100 | โ |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| denoise | FLOAT | 0.200โ1 | โ |
| mode_type | COMBO | 3 options: Linear, Chess, None | |
| tile_width | INT | 51264โ8192 | โ |
| tile_height | INT | 51264โ8192 | โ |
| mask_blur | INT | 80โ64 | โ |
| tile_padding | INT | 320โ8192 | โ |
| seam_fix_mode | COMBO | 4 options: None, Band Pass, Half Tile, Half Tile + Intersections | |
| seam_fix_denoise | FLOAT | 1.000โ1 | โ |
| seam_fix_width | INT | 640โ8192 | โ |
| seam_fix_mask_blur | INT | 80โ64 | โ |
| seam_fix_padding | INT | 160โ8192 | โ |
| force_uniform_tiles | BOOLEAN | true | โ |
| tiled_decode | BOOLEAN | false | โ |
| denoise_maskopt | MASK | Optional mask for per-pixel denoise. White=more denoise, Black=less | |
| multiplieropt | FLOAT | 1.000-10โ10 | Controls effect strength. <1=stronger, >1=weaker |
| upscale_modelopt | UPSCALE_MODEL | โ | |
| custom_sampleropt | SAMPLER | โ | |
| custom_sigmasopt | SIGMAS | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | โ |