Nodes/comfyui-VarBoard/VarBoard Scheduler
ComfyUI Node

VarBoard Scheduler

Swap noise schedules from the board while you test

By IA-gyz·Created 6 months ago·Updated 6 months ago· 3
VarBoard Scheduler
    • SCHEDULER_NAME
    • LABEL
    valuenormal
    labelScheduler

    The scheduler (the noise schedule, if you're coming from A1111 where the two got fused into one dropdown) is the sampler's silent partner, and it's just as worth A/B-ing. VB_Scheduler puts the schedule dropdown on the VarBoard panel so you can flip between karras, normal, exponential and the rest without opening the KSampler.

    What it does

    Identical architecture to VB_Sampler: the backend is a pass-through returning (value, label), and the dropdown options are pulled live from comfy.samplers.KSampler.SCHEDULERS on your installed ComfyUI rather than hardcoded. Stock ComfyUI exposes nine of them - simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, and kl_optimal - and if a pack registers more, they show up too.

    Inputs:

    • value - the scheduler name. Default "normal".
    • label - the row label on the board. Default "Scheduler".

    Outputs: SCHEDULER_NAME (wire into a KSampler's scheduler input) and LABEL.

    When the schedule actually matters

    Here's the thing the KB's sampler essay hammers on: scheduler choice is architecture-dependent, not a matter of taste. On DDPM-style models (SD 1.5, SDXL, and every SDXL finetune including Illustrious and Pony), a reshaped schedule like Karras is a genuine correction - that's why "DPM++ 2M Karras" became the default for years. On flow-matching models (Flux, Z-Image, Anima), the trajectory is near-straight, so aggressive schedules like Karras and exponential distort rather than correct, and you want conservative ones like normal or simple.

    What that means in practice: if you're on an SDXL finetune, karras is probably your everyday row value. If you're on a flow-matching model, normal (the default here) is the safer pick. The whole point of having it on the board is that you can actually test both cheaply instead of trusting a habit that may be model-specific.

    Install

    No dependencies, no models - the pack is frontend plus pass-through nodes, and the README's requirement is literally a working ComfyUI. ComfyUI Manager (search "VarBoard"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/IA-gyz/comfyui-VarBoard
    

    Restart ComfyUI and hard-refresh your browser. Drop a VB_Panel on the canvas and your VB_Scheduler row appears on the board automatically.

    One habit worth building

    The classic mistake is changing sampler and scheduler at the same time and then not knowing which one fixed the image. Keep a fixed seed and move one knob per run - a scheduler row sitting right next to your sampler row on the same board makes that discipline almost automatic, which is honestly the best thing about this node.

    CategoryVarBoard

    Inputs (2)

    NameTypeDefaultDescription
    valueCOMBOnormalScheduler name. Can be changed from the VarBoard.
    labelSTRINGSchedulerDisplay label shown in the panel.

    Outputs (2)

    NameTypeDescription
    SCHEDULER_NAMEsimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal
    LABELSTRING