{"record":{"id":"f4f7e9cbb979344a","repo":"LykosAI/StabilityMatrix","slug":"sdturbo-scheduler-cannot-be-used-with-refiner-model","errorCode":null,"errorMessage":"SDTurbo Scheduler cannot be used with Refiner Model","messagePattern":"SDTurbo Scheduler cannot be used with Refiner Model","errorType":"validation","errorClass":"ValidationException","httpStatus":null,"severity":"error","filePath":"StabilityMatrix.Avalonia/ViewModels/Inference/SamplerCardViewModel.cs","lineNumber":552,"sourceCode":"            var fluxGuidance = e.Nodes.AddTypedNode(\n                new ComfyNodeBuilder.FluxGuidance\n                {\n                    Name = e.Nodes.GetUniqueName(\"FluxGuidance\"),\n                    Conditioning = conditioning.Positive,\n                    Guidance = CfgScale,\n                }\n            );\n\n            conditioning = conditioning with { Positive = fluxGuidance.Output };\n        }\n\n        // Use custom sampler if SDTurbo scheduler is selected\n        if (e.Builder.Connections.PrimaryScheduler == ComfyScheduler.SDTurbo)\n        {\n            // Error if using refiner\n            if (e.Builder.Connections.Refiner.Model is not null)\n            {\n                throw new ValidationException(\"SDTurbo Scheduler cannot be used with Refiner Model\");\n            }\n\n            var kSamplerSelect = e.Nodes.AddTypedNode(\n                new ComfyNodeBuilder.KSamplerSelect\n                {\n                    Name = \"KSamplerSelect\",\n                    SamplerName = e.Builder.Connections.PrimarySampler?.Name!,\n                }\n            );\n\n            var turboScheduler = e.Nodes.AddTypedNode(\n                new ComfyNodeBuilder.SDTurboScheduler\n                {\n                    Name = \"SDTurboScheduler\",\n                    Model = e.Builder.Connections.Base.Model.Unwrap(),\n                    Steps = Steps,\n                    Denoise = DenoiseStrength,\n                }","sourceCodeStart":534,"sourceCodeEnd":570,"githubUrl":"https://github.com/LykosAI/StabilityMatrix/blob/af93d6ef57c01cd890d7e0ad0a9ea8c9fcda3002/StabilityMatrix.Avalonia/ViewModels/Inference/SamplerCardViewModel.cs#L534-L570","documentation":"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.","triggerScenarios":"Calling ApplyStepsInitialSampler (via ApplyStep) when e.Builder.Connections.PrimaryScheduler == ComfyScheduler.SDTurbo and e.Builder.Connections.Refiner.Model is not null.","commonSituations":"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.","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"],"exampleFix":"// before: scheduler = SDTurbo, refiner model set -> throws\n// after: deselect refiner or change scheduler\nbuilder.Connections.PrimaryScheduler = ComfyScheduler.SDTurbo;\nbuilder.Connections.Refiner.Model = null; // remove refiner for SDTurbo","handlingStrategy":"validation","validationCode":"if (builder.Connections.PrimaryScheduler == ComfyScheduler.SDTurbo && builder.Connections.Refiner.Model is not null)\n    throw new ValidationException(\"Disable the refiner or change the scheduler before using SDTurbo\");","typeGuard":"bool sdturboRefinerConflict = builder.Connections.PrimaryScheduler == ComfyScheduler.SDTurbo\n    && builder.Connections.Refiner.Model is not null;","tryCatchPattern":"try { await pipeline.GenerateAsync(); }\ncatch (ValidationException ex) when (ex.Message.Contains(\"SDTurbo\")) { /* prompt user to disable refiner */ }","preventionTips":["Clear the refiner model whenever you switch to SDTurbo","Validate scheduler/refiner combinations before starting generation","Audit saved presets for refiner+SDTurbo combinations"],"tags":["validation","comfyui","scheduler","refiner"],"backgroundTag":"conflicting-config-options","analyzedSha":"af93d6ef57c01cd890d7e0ad0a9ea8c9fcda3002","analyzedAt":"2026-09-12T19:02:43.389Z","contentChangedAt":"2026-09-12T19:02:43.389Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}