Nodes/ComfyUI-MVAdapter/Diffusers MV Scheduler Loader
ComfyUI Node Runs on cloud

Diffusers MV Scheduler Loader

Pick the sampler for multi-view (and the SNR shift)

By huanngzh·Created 2 years ago·Updated about a year ago· 472
Diffusers MV Scheduler Loader
  • pipeline
  • SCHEDULER
scheduler_name
shift_snrtrue
shift_modeinterpolated
shift_scale8

This node picks the sampling scheduler for an MV-Adapter pipeline - the diffusers equivalent of choosing your sampler in a normal ComfyUI graph. It's a small node with one input that actually matters day to day and a few advanced dials most people should leave alone. Its output feeds Diffusers MV Model Makeup, which is where the scheduler, VAE, and adapter get bundled into the pipeline the sampler runs.

You only reach for this node when you want to override the default scheduler the pipeline loaders already hand you. If your results are fine, you may never touch it.

How it works

The scheduler is the algorithm that decides how noise gets removed at each step - different schedulers trade speed against quality and character. This node builds a diffusers scheduler by name and attaches it to the pipeline. It also applies an SNR (signal-to-noise ratio) shift, which is a multi-view-specific tweak: nudging the noise schedule helps the several views stay consistent with each other rather than drifting apart.

The inputs that matter

  • scheduler_name (enum) - the one you'll actually change. Twelve choices: DDIM, DDPM, DEISMultistep, DPMSolverMultistep, DPMSolverSinglestep, EulerAncestralDiscrete, EulerDiscrete, HeunDiscrete, KDPM2AncestralDiscrete, KDPM2Discrete, UniPCMultistep, and LCM. For SDXL the community's realism default is a DPM++ family solver (DPMSolverMultistep here); EulerAncestralDiscrete is popular and fine for stylized work. UniPCMultistep converges fast at low step counts. LCM is only for LCM-distilled setups - don't select it on a normal checkpoint or you'll get mush.
  • shift_snr (default true), shift_mode (default interpolated), shift_scale (default 8) - the SNR-shift controls. These are the advanced dials, and the defaults are the tuned values. Unless you're deliberately experimenting with multi-view consistency, leave all three as they are.

The output is a single SCHEDULER - wire it into Model Makeup's scheduler slot.

Installing the pack

ComfyUI Manager, search ComfyUI-MVAdapter, install, restart. Or: cd ComfyUI/custom_nodes && git clone https://github.com/huanngzh/ComfyUI-MVAdapter, then pip install -r requirements.txt, then restart. The example workflows already include a scheduler node set to sensible values - copy those before hand-tuning.

Where people get burned

Selecting LCM on a non-LCM model. The LCM scheduler only makes sense with an LCM-distilled checkpoint running a handful of steps at low CFG; put it on a standard SDXL checkpoint and you'll get blurry, undercooked output and wonder what broke. If you're not deliberately running LCM, pick a normal solver.

Second, over-tuning the SNR shift. Those three shift_* parameters are there for people tuning multi-view consistency, not for casual quality-chasing. The defaults (shift_snr on, interpolated mode, scale 8) are the recommended settings; changing them blind usually makes things worse, not better. If your views are drifting apart, this is a place to experiment - otherwise leave it.

Third, remember the pipeline loaders already output a default scheduler. You don't strictly need this node at all for a basic run; it exists for when you want to override that default with a specific solver. If you add it, wire its scheduler output into Model Makeup and don't also wire the loader's, or you'll be feeding two schedulers into one slot.

CategoryMV-Adapter

Inputs (5)

NameTypeDefaultDescription
pipelinePIPELINE
scheduler_nameCOMBO12 options: DDIM, DDPM, DEISMultistep, DPMSolverMultistep, DPMSolverSinglestep, EulerAncestralDiscrete, +6
shift_snrBOOLEANtrue
shift_modeCOMBOinterpolated2 options: default, interpolated
shift_scaleFLOAT80–50

Outputs (1)

NameTypeDescription
SCHEDULERSCHEDULER