LykosAI/StabilityMatrix · error · ValidationException
SDTurbo Scheduler cannot be used with Refiner Model
Error message
SDTurbo Scheduler cannot be used with Refiner Model
What it means
StabilityMatrix's ComfyUI workflow builder throws this ValidationException during the inference pipeline assembly when the SDTurbo scheduler is selected while a refiner model is configured. SDTurbo is a one-step distilled sampler workflow and is incompatible with a two-stage base+refiner sampling setup, so the combination is rejected up front rather than producing a broken workflow.
Solutions
- Clear the refiner model in the Refiner card (set it to None) before using the SDTurbo scheduler
- Switch the scheduler away from SDTurbo (e.g. Karras/Euler) if you want to keep the refiner stage
- Edit the saved preset and remove either the SDTurbo scheduler or the refiner settings
Example fix
// before: scheduler = SDTurbo, refiner model set -> throws // after: deselect refiner or change scheduler builder.Connections.PrimaryScheduler = ComfyScheduler.SDTurbo; builder.Connections.Refiner.Model = null; // remove refiner for SDTurbo
Defensive patterns
Strategy: validation
Validate before calling
if (builder.Connections.PrimaryScheduler == ComfyScheduler.SDTurbo && builder.Connections.Refiner.Model is not null)
throw new ValidationException("Disable the refiner or change the scheduler before using SDTurbo"); Type guard
bool sdturboRefinerConflict = builder.Connections.PrimaryScheduler == ComfyScheduler.SDTurbo
&& builder.Connections.Refiner.Model is not null; Try / catch
try { await pipeline.GenerateAsync(); }
catch (ValidationException ex) when (ex.Message.Contains("SDTurbo")) { /* prompt user to disable refiner */ } Prevention
- Clear the refiner model whenever you switch to SDTurbo
- Validate scheduler/refiner combinations before starting generation
- Audit saved presets for refiner+SDTurbo combinations
When it happens
Trigger: Calling ApplyStepsInitialSampler (via ApplyStep) when e.Builder.Connections.PrimaryScheduler == ComfyScheduler.SDTurbo and e.Builder.Connections.Refiner.Model is not null.
Common situations: User picks the SDTurbo scheduler in the sampler card while a refiner model and refiner switch are still configured from a previous SDXL setup; also happens when reusing saved inference presets that have both a refiner and SDTurbo settings.
Understand the failure class
Background: Conflicting config options: "cannot be used together" — configuration validation errors across open-source libraries — this error's family across 162 libraries.
Related errors
- Scheduler not selected
- Length cannot be null when latentType is Hunyuan
- Prompt extensions not installed
- No ImageSource
- Model not selected
AI-assisted analysis of LykosAI/StabilityMatrix@af93d6ef57 (2026-09-12).
Data as JSON: /api/errors/f4f7e9cbb979344a.
Report an issue: GitHub.
Appendix: source
Thrown at StabilityMatrix.Avalonia/ViewModels/Inference/SamplerCardViewModel.cs:552
var fluxGuidance = e.Nodes.AddTypedNode(
new ComfyNodeBuilder.FluxGuidance
{
Name = e.Nodes.GetUniqueName("FluxGuidance"),
Conditioning = conditioning.Positive,
Guidance = CfgScale,
}
);
conditioning = conditioning with { Positive = fluxGuidance.Output };
}
// Use custom sampler if SDTurbo scheduler is selected
if (e.Builder.Connections.PrimaryScheduler == ComfyScheduler.SDTurbo)
{
// Error if using refiner
if (e.Builder.Connections.Refiner.Model is not null)
{
throw new ValidationException("SDTurbo Scheduler cannot be used with Refiner Model");
}
var kSamplerSelect = e.Nodes.AddTypedNode(
new ComfyNodeBuilder.KSamplerSelect
{
Name = "KSamplerSelect",
SamplerName = e.Builder.Connections.PrimarySampler?.Name!,
}
);
var turboScheduler = e.Nodes.AddTypedNode(
new ComfyNodeBuilder.SDTurboScheduler
{
Name = "SDTurboScheduler",
Model = e.Builder.Connections.Base.Model.Unwrap(),
Steps = Steps,
Denoise = DenoiseStrength,
}View on GitHub (pinned to af93d6ef57)