Nodes/duckcomfy personal nodes/Cast Efficiency Scheduler To Detailer
ComfyUI Node

Cast Efficiency Scheduler To Detailer

Feed an Efficiency-node scheduler into a detailer without the mismatch

By duckcomfy·Created about a year ago·Updated 10 months ago· 0
Cast Efficiency Scheduler To Detailer
    • scheduler
    scheduler

    Cast Efficiency Scheduler To Detailer is the sibling of the pack's CastSchedulerToDetailer, and it solves the same type-mismatch problem for one specific source: the Efficiency Nodes suite. Efficiency Nodes (Jags111's pack) ships its own scheduler vocabulary - the vanilla names plus the Align Your Steps family, AYS SD1, AYS SDXL, AYS SVD, and a GITS entry - and its Efficient Loader bundles a scheduler into its pipe output. That's a fine scheduler in Efficiency-land, but a detailer node expects its own list, and ComfyUI's type system treats the two lists as different types even though they're both just strings.

    So the node's job: take a scheduler from the Efficiency vocabulary, and re-type it so a detailer accepts it. Mechanically it's the same cast as its vanilla sibling - pass through if the name is already in the detailer's list, otherwise fall back to simple, which every detailer accepts. The only difference is the input side: this one's dropdown starts from the Efficiency list, so AYS SD1 is a legal input here.

    When you actually need it

    The scenario is very specific: a workflow built around an Efficiency Nodes loader, where the scheduler is centralized in the loader's pipe and you want to reuse that same schedule for an Impact Pack FaceDetailer or a Detailer (SEGS) pass. Without the cast, you're either hardcoding a second scheduler in the detailer widget (defeating the "one source of truth" point) or fighting a type error on the wire. This node is the bridge. If you don't use Efficiency Nodes or don't centralize schedulers, you can skip it entirely - it's a niche adapter, not a daily driver.

    Input and output

    • scheduler - the Efficiency-vocabulary enum, including the AYS variants.
    • Output scheduler, typed as the detailer list.

    Note the asymmetry in the code worth knowing: the Efficiency input list contains a bare GITS, but the detailer list contains GITS[coeff=1.2]. The bare string is not in the detailer vocabulary, so a GITS input silently falls back to simple. If you specifically want the GITS schedule on your detailer, you'd want to feed it GITS[coeff=1.2] from the detailer side directly rather than routing it through this node.

    Install

    Part of duckcomfy personal nodes. ComfyUI Manager → search "duckcomfy personal nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/duckcomfy/duckcomfy_personal_nodes
    

    Restart ComfyUI. No pip dependencies, no model downloads, and no dependency on Efficiency Nodes or Impact Pack - the node just happens to speak their vocabularies.

    Gotchas

    Same silent-fallback warning as the vanilla cast: anything not in the detailer list becomes simple without a message. That's fine for karras (which is in the list) but a trap for AYS SD1 - wait, actually AYS SD1 is in the detailer list, so it passes through cleanly. The real traps are GITS (falls back) and anything future/unknown. If a detail pass starts producing different-looking faces than your main render, check whether your chosen scheduler survived the cast or quietly became simple.

    Categoryduckcomfy

    Inputs (1)

    NameTypeDefaultDescription
    schedulerCOMBO13 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +7

    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