Skip to content

Latest commit

Β 

History

History
260 lines (210 loc) Β· 6.56 KB

File metadata and controls

260 lines (210 loc) Β· 6.56 KB

Sampler Select Helper

Overview

The Sampler Select Helper node provides intelligent sampler selection with model-specific recommendations and compatibility checking. Adapted from comfyui-essentials-nodes (now in maintenance mode), this tool ensures optimal sampler-scheduler combinations for different model architectures.

Attribution

This node is based on work from comfyui-essentials-nodes by cubiq. The original project is in maintenance-only mode, and we've adopted and enhanced these tools to ensure continued support and compatibility with modern ComfyUI workflows.

Features

  • Model-Aware Selection: Automatic recommendations based on model type
  • Compatibility Validation: Ensures sampler-scheduler pairs work well together
  • Performance Profiles: Pre-configured settings for quality vs speed
  • Dynamic Updates: Adapts to newly available samplers
  • Batch Support: Test multiple samplers in sequence

Node Properties

  • Category: ComfyAssets/🧰 xyz-helpers
  • Node Name: SamplerSelectHelper
  • Function: select_sampler

Inputs

Required

Parameter Type Default Description
model_type DROPDOWN auto [auto, sdxl, sd15, flux, custom]
quality_preset DROPDOWN balanced [fast, balanced, quality, extreme]
sampler_override DROPDOWN auto Specific sampler selection

Optional

Parameter Type Default Description
scheduler_override DROPDOWN auto Specific scheduler selection
model_name STRING - Model name for auto-detection
custom_rules STRING - JSON rules for custom selection

Outputs

Name Type Description
sampler_name STRING Selected sampler
scheduler STRING Selected scheduler
recommended_steps INT Suggested step count
recommended_cfg FLOAT Suggested CFG scale

Model-Specific Recommendations

SDXL Models

quality_preset: "balanced"
β†’ sampler: "dpmpp_2m"
β†’ scheduler: "karras"
β†’ steps: 25
β†’ cfg: 7.0

SD 1.5 Models

quality_preset: "quality"
β†’ sampler: "dpmpp_2m_sde"
β†’ scheduler: "exponential"
β†’ steps: 30
β†’ cfg: 7.5

FLUX Models

quality_preset: "fast"
β†’ sampler: "euler"
β†’ scheduler: "simple"
β†’ steps: 15
β†’ cfg: 3.5

Quality Presets Explained

Fast (Preview)

  • Goal: Quick iterations
  • Steps: 10-15
  • Samplers: euler, dpm_fast
  • Use Case: Testing prompts

Balanced (Default)

  • Goal: Good quality/speed ratio
  • Steps: 20-25
  • Samplers: dpmpp_2m, dpmpp_2m_sde
  • Use Case: Regular generation

Quality

  • Goal: Best visual quality
  • Steps: 30-40
  • Samplers: dpmpp_3m_sde, dpm_adaptive
  • Use Case: Final renders

Extreme

  • Goal: Maximum quality
  • Steps: 50-100
  • Samplers: dpm_adaptive, dpmpp_3m_sde
  • Use Case: Hero images

Usage Examples

Auto Model Detection

Load Model β†’ SamplerSelectHelper β†’ KSampler
    model_type: auto
    quality_preset: balanced

Custom Override

SamplerSelectHelper β†’ KSampler
    sampler_override: "dpmpp_3m_sde"
    scheduler_override: "exponential"

Batch Testing

SamplerSelectHelper β†’ Batch Process
    quality_preset: [fast, balanced, quality]
    β†’ Compare outputs

Compatibility Matrix

Recommended Combinations

Sampler Best Schedulers Avoid
euler normal, karras sgm_uniform
euler_a normal, karras simple
dpmpp_2m karras, exponential -
dpmpp_2m_sde karras, exponential simple
dpmpp_3m_sde exponential simple
dpm_adaptive normal karras

Best Practices

Model Type Detection

  1. Use auto for automatic detection
  2. Override only when necessary
  3. Provide model_name for better accuracy

Performance Optimization

# Quick preview workflow
quality_preset: "fast"
β†’ 10 steps, euler sampler

# Final production
quality_preset: "quality"
β†’ 35 steps, dpmpp_3m_sde

# Experimental/artistic
quality_preset: "extreme"
β†’ 75 steps, dpm_adaptive

Custom Rules Format

{
  "model_pattern": "anime.*",
  "sampler": "dpmpp_2m_sde",
  "scheduler": "karras",
  "steps": 28,
  "cfg": 7.0
}

Integration with Other Nodes

Complete Pipeline

Model Loader β†’ SamplerSelectHelper β†’ KSampler
             β†˜ FluxSamplerParams β†—

A/B Testing

SamplerSelectHelper β†’ KSampler β†’ Image A
    quality: fast
SamplerSelectHelper β†’ KSampler β†’ Image B
    quality: quality
β†’ Compare Results

Advanced Features

Dynamic Sampler Discovery

  • Automatically detects new samplers
  • Updates compatibility matrix
  • Maintains optimal pairings

Performance Profiling

  • Tracks generation times
  • Suggests optimal settings
  • Adapts to hardware capabilities

Model Fingerprinting

  • Identifies model architecture
  • Applies specific optimizations
  • Learns from usage patterns

Tips and Tricks

Speed vs Quality

  1. Start with "fast" for prompt testing
  2. Move to "balanced" for iteration
  3. Use "quality" for final output
  4. Reserve "extreme" for special cases

Sampler Selection Logic

if model_type == "flux":
    prefer ["euler", "dpmpp_2m"]
elif model_type == "sdxl":
    prefer ["dpmpp_2m_sde", "dpmpp_3m_sde"]
else:
    use ["dpmpp_2m", "euler_a"]

Memory Considerations

  • Fast presets use less memory
  • Extreme presets may require more VRAM
  • Adaptive samplers adjust dynamically

Troubleshooting

Wrong Sampler Selected

  • Check model_type setting
  • Verify model detection
  • Use manual override if needed

Poor Quality Output

  • Increase quality preset
  • Check recommended steps
  • Verify CFG scale

Performance Issues

  • Start with fast preset
  • Reduce step count
  • Try simpler samplers

Common Workflows

Model Comparison

Test same prompt across different models with optimal settings for each.

Quality Ladder

Progress from fast to extreme quality to find optimal balance.

Sampler Shootout

Compare all compatible samplers for specific model/prompt combination.

Version History

  • 1.0.0: Initial adaptation from comfyui-essentials-nodes
  • 1.0.1: Added FLUX model support
  • 1.0.2: Enhanced compatibility matrix
  • 1.0.3: Improved auto-detection

Credits

Original implementation by cubiq in comfyui-essentials-nodes. Adapted and maintained by the ComfyAssets team.