invoke-ai/InvokeAI · error · Exception
No diffusers pipeline known for base={config.base}, variant=
Error message
No diffusers pipeline known for base={config.base}, variant={config.variant} What it means
The single-file checkpoint loader maps (base model family, pipeline variant) pairs to diffusers from_single_file pipeline classes via a nested dict. If the combination is not in the table (e.g. an unsupported base or variant), the KeyError is caught and re-raised as this Exception. It means InvokeAI has no recipe to convert that checkpoint into a diffusers pipeline.
Source
Thrown at invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py:134
},
}
assert isinstance(
config,
(
Main_Diffusers_SD1_Config,
Main_Diffusers_SD2_Config,
Main_Diffusers_SDXL_Config,
Main_Diffusers_SDXLRefiner_Config,
Main_Checkpoint_SD1_Config,
Main_Checkpoint_SD2_Config,
Main_Checkpoint_SDXL_Config,
Main_Checkpoint_SDXLRefiner_Config,
),
)
try:
load_class = load_classes[config.base][config.variant]
except KeyError as e:
raise Exception(f"No diffusers pipeline known for base={config.base}, variant={config.variant}") from e
# Without SilenceWarnings we get log messages like this:
# site-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.
# warnings.warn(
# Some weights of the model checkpoint were not used when initializing CLIPTextModel:
# ['text_model.embeddings.position_ids']
# Some weights of the model checkpoint were not used when initializing CLIPTextModelWithProjection:
# ['text_model.embeddings.position_ids']
with SilenceWarnings():
pipeline = load_class.from_single_file(config.path, torch_dtype=self._torch_dtype)
if not submodel_type:
return pipeline
# Proactively load the various submodels into the RAM cache so that we don't have to re-load
# the entire pipeline every time a new submodel is needed.
for subtype in SubModelType:View on GitHub (pinned to 0b6a024f2f)
Solutions
- Use a supported base/variant: re-tag the model config with the correct BaseModelType and ModelVariantType (SD, SDXL, SDXLRefiner, etc.).
- Convert the checkpoint to diffusers folder layout offline (convert_original_stable_diffusion_to_diffusers.py) and install that instead.
- Upgrade InvokeAI — support for new checkpoint formats is added over time.
- If the checkpoint is genuinely unsupported, load it with an external tool (ComfyUI/diffusers directly).
Example fix
// before: config records base=SD3 for a single-file checkpoint -> KeyError
// after: correct the config or use diffusers layout
config = Main_Checkpoint_Config_Base(
base=BaseModelType.StableDiffusionXL,
variant=ModelVariantType.Normal,
path="model.safetensors",
) Defensive patterns
Strategy: validation
Validate before calling
SUPPORTED = {(BaseModelType.StableDiffusion, ModelVariantType.Normal),
(BaseModelType.StableDiffusionXL, ModelVariantType.Normal),
(BaseModelType.StableDiffusionXL, ModelVariantType.Inpaint),
(BaseModelType.StableDiffusionXLRefiner, ModelVariantType.Normal)}
if (config.base, config.variant) not in SUPPORTED:
raise ValueError(f"Single-file load unsupported for {config.base}/{config.variant}") Try / catch
try:
model = loader.load_model(config, submodel_type)
except Exception as e:
if "No diffusers pipeline known" in str(e):
logger.error("Convert checkpoint to diffusers layout or fix base/variant config: %s", e)
raise Prevention
- Set the model config's base/variant fields correctly on import.
- Prefer diffusers folder layout for non-standard or newer checkpoints.
- Keep InvokeAI updated for newly supported checkpoint families.
When it happens
Trigger: Loading a single-file checkpoint whose config.base/config.variant combination has no entry in load_classes — e.g. an exotic or newer base model type, or an unusual variant, resolved at stable_diffusion.py:134.
Common situations: Importing checkpoints for model families not supported for single-file loading (e.g. some SD3/Flux/non-standard bases); a config record with the wrong base/variant fields; custom or community checkpoints that aren't standard SD/SDXL/SDXL-Refiner layouts.
Related errors
- {source} has {len(unexpected)} weights that WanTransformer3D
- Latents to blend must be the same size.
- cfg_scale must be greater than 1
- Unexpected T2I-Adapter base model type: '${t2i_adapter_model
- 'latents' or 'noise' must be provided!
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/682fcbbcaad7fe3d.
Report an issue: GitHub.