π Scheduler Adapter for FaceDetailer
The tiny adapter that stops FaceDetailer from choking on your scheduler
- scheduler
FaceDetailer - the Impact Pack node that fixes small faces by detecting, cropping, and resampling them - is great, but it's picky about schedulers. It expects its noise schedule to come from its own accepted list, and if your workflow hands it something exotic it doesn't recognize, it errors out or behaves badly. The FD Scheduler Adapter exists to sit between the two: one input, one output, and it converts a KSampler scheduler into one FaceDetailer will accept. It's a compatibility shim, and a genuinely useful one if you bundle your sampling settings.
How it works
The node takes a scheduler (the same 11-option enum a KSampler uses) and returns a FaceDetailer-compatible scheduler. Internally that's a lookup in the pack's coercion table. FaceDetailer's accepted set is list(comfy.samplers.SCHEDULER_HANDLERS) plus the extra schedulers the Impact Pack registers - things like AYS SDXL, AYS SD1, AYS SVD, GITS[coeff=1.2], LTXV[default], and the OSS family. If your scheduler is already in that list, it passes through untouched. If it's not, it gets mapped to its closest safe equivalent - and for the exotic ones that's almost always karras.
Where it gets interesting: this pack also registers the beta57 and bong_tangent schedulers globally in ComfyUI's sampler lists at load time, so FaceDetailer sees them as valid options even if you don't have RES4LYF installed. Those are the beta schedules from ClownsharkBatwing's RES4LYF pack that anime and realism workflows now reach for by name on flow-matching models - the ones where the old Karras default actively fails. So the adapter isn't just firefighting; it's letting a KSampler-era FaceDetailer run with 2026-era schedules.
The inputs and output
- scheduler (required) - the KSampler scheduler enum:
simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal,beta57,bong_tangent. - scheduler (output) - the FaceDetailer-compatible result, a wider 19-option enum that includes the Impact Pack's extra schedulers.
The typical wiring is: [Warp] β [FD Scheduler Adapter] β [FaceDetailer], or straight from a KSampler's scheduler port when you're feeding FaceDetailer's own sampling pass.
Installing it
Part of the WarpPipe pack, one clone, no extra dependencies:
cd ComfyUI/custom_nodes
git clone https://github.com/gregory-richard/ComfyUI-WarpPipe.git
Restart ComfyUI and find it through ComfyUI Manager (search "WarpPipe") or comfy node install warppipe.
Where people get tripped up
The mapping is lossy by design - feed it OSS FLUX and you're sampling with karras, not the exact schedule you asked for. That's the point of an adapter, but it means the node is a translation layer, not a way to make FaceDetailer use an exotic scheduler verbatim. If your workflow runs fine without it, you don't need it. You reach for it when the "scheduler not found" or type-mismatch error appears, or when you're mixing a WarpPipe bundle into a FaceDetailer-heavy graph. And if you never see FaceDetailer erroring, the beta57/bong_tangent registration happening in the background is harmless - it just quietly widens what FaceDetailer will accept.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| scheduler | COMBO | 11 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +5 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal,beta57,bong_tangent,AYS SDXL,AYS SD1,AYS SVD,GITS[coeff=1.2],LTXV[default],OSS FLUX,OSS Wan,OSS Chroma | β |