Nodes/ComfyUI Impact Pack/Impact Scheduler Adapter
ComfyUI Node Runs on cloud

Impact Scheduler Adapter

Fix scheduler-input incompatibility in ComfyUI

By ltdrdata·Created 3 years ago·Updated 4 months ago· 3,242
Impact Scheduler Adapter
    • scheduler
    scheduler
    extra_scheduler

    Impact Scheduler Adapter is a compatibility patch you drop between a scheduler widget and a scheduler input so the two actually agree. If you've ever converted a KSampler's scheduler widget to an input, tried to drive it from somewhere else, and hit a type-mismatch error - that's the exact wound this node exists to bandage. It takes a scheduler choice and re-emits it as a type that Impact Pack (and Inspire Pack) samplers will accept as an input connection.

    Here's the mess it cleans up. Impact Pack and Inspire Pack added extra schedulers - AYS, GITS, LTXV, the OSS family - to their samplers. Great, except those extended scheduler lists don't line up with ComfyUI's stock scheduler enum. So when you convert a scheduler widget to an input and try to wire a value into it, ComfyUI's type checker sees two different sets of allowed values and refuses. The Adapter sits in the middle and makes the connection legal. It's not doing anything clever to your sampling; it's translating one dropdown's type into another so the wire connects.

    The inputs

    Two, both dropdowns:

    • scheduler - the standard ComfyUI schedulers: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal.
    • extra_scheduler - the Impact/Inspire additions: None, AYS SDXL, AYS SD1, AYS SVD, GITS[coeff=1.2], LTXV[default], OSS FLUX, OSS Wan, OSS Chroma.

    The logic is simple: if extra_scheduler is anything other than None, that's what you get; otherwise you get the standard scheduler. So you either pick a normal scheduler and leave the extra one on None, or you pick one of the extended schedulers and the standard slot is ignored.

    The output is a single scheduler value typed to cover both lists, so it plugs straight into the converted scheduler input of an Impact or Inspire sampler without the checker complaining.

    When you actually need it

    Only when you're converting a scheduler widget to an input on one of these samplers and driving it externally - say from a primitive, a switch, or a loop that changes scheduler between passes. If you're just picking a scheduler from the dropdown on the node itself, you don't need this at all; the widget already works. The Adapter is specifically for the converted-to-input case, which is why it feels obscure until the moment you hit the error, at which point it's the only thing that fixes it.

    That also makes it a natural companion to the pack's logic/loop nodes. If you're building a workflow that sweeps schedulers automatically, you need the scheduler to be an input you can feed - and the Adapter is what makes that input accept the value without a type fight.

    Common issues

    Honestly the main "issue" is not knowing this node exists - people hit the scheduler type-mismatch, assume their graph is broken, and burn an hour. It isn't broken; the two scheduler lists just don't share a type, and this is the documented fix. Once it's in place, there's nothing to tune and nothing to break; it's a pure translation node with no model and no cost.

    One thing to keep straight: pick the scheduler in one of the two slots, not both expecting some merge - extra_scheduler wins whenever it's set, and the standard scheduler only matters when the extra is None. And make sure the sampler you're feeding is actually an Impact or Inspire sampler that supports these extended schedulers; feeding an exotic scheduler to a plain ComfyUI KSampler won't magically teach it AYS.

    Installing it

    Impact Scheduler Adapter is part of ComfyUI Impact Pack. Install through ComfyUI-Manager (search ComfyUI Impact Pack, Install, restart), or manually: cd ComfyUI/custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack, then install the pack's requirements.txt in ComfyUI's Python environment (portable build: ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt), and restart. Auto-install ended in v7.6, so a manual clone needs the requirements step or the pack won't load. If you're using the extended schedulers seriously you'll likely have the Inspire Pack installed too - it's by the same author, ltdrdata, who also maintains ComfyUI-Manager. This adapter adds no models or heavy dependencies; it's pure glue.

    CategoryImpactPack/Util

    Inputs (2)

    NameTypeDefaultDescription
    schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
    extra_schedulerCOMBO9 options: None, AYS SDXL, AYS SD1, AYS SVD, GITS[coeff=1.2], LTXV[default], +3

    Outputs (1)

    NameTypeDescription
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal,AYS SDXL,AYS SD1,AYS SVD,GITS[coeff=1.2],LTXV[default],OSS FLUX,OSS Wan,OSS Chroma