invoke-ai/InvokeAI · error · NotImplementedError

CheckpointConfigBase is not implemented for Qwen Image Edit

Error message

CheckpointConfigBase is not implemented for Qwen Image Edit models.

What it means

The Qwen Image Edit diffusers loader only supports diffusers-folder model records: if the config is a Checkpoint_Config_Base (single-checkpoint format) it raises NotImplementedError, because loading the Qwen Edit transformer from a bare checkpoint file is not implemented in this loader. The error tells the user to convert the model to a diffusers layout (or use a diffusers-format download) instead.

Source

Thrown at invokeai/backend/model_manager/load/model_loaders/qwen_image.py:142

    import inspect

    if is_edit and "zero_cond_t" in inspect.signature(QwenImageTransformer2DModel.__init__).parameters:
        model_config["zero_cond_t"] = True

    return model_config


@ModelLoaderRegistry.register(base=BaseModelType.QwenImage, type=ModelType.Main, format=ModelFormat.Diffusers)
class QwenImageDiffusersModel(GenericDiffusersLoader):
    """Class to load Qwen Image Edit main models."""

    def _load_model(
        self,
        config: AnyModelConfig,
        submodel_type: Optional[SubModelType] = None,
    ) -> AnyModel:
        if isinstance(config, Checkpoint_Config_Base):
            raise NotImplementedError("CheckpointConfigBase is not implemented for Qwen Image Edit models.")

        if submodel_type is None:
            raise Exception("A submodel type must be provided when loading main pipelines.")

        model_path = Path(config.path)
        load_class = self.get_hf_load_class(model_path, submodel_type)
        repo_variant = config.repo_variant if isinstance(config, Diffusers_Config_Base) else None
        variant = repo_variant.value if repo_variant else None
        model_path = model_path / submodel_type.value

        # We force bfloat16 for Qwen Image Edit models.
        # Use `dtype` (newer) with fallback to `torch_dtype` (older diffusers).
        dtype_kwarg = {"dtype": torch.bfloat16}
        try:
            result: AnyModel = load_class.from_pretrained(
                model_path,
                **dtype_kwarg,
                variant=variant,

View on GitHub (pinned to 0b6a024f2f)

Solutions

  1. Download/use the diffusers-format Qwen Image Edit model (folder with transformer/, text_encoder/, vae/, tokenizer/) and add that instead.
  2. Convert the single checkpoint into a diffusers layout with the official conversion script, then re-import into InvokeAI.
  3. Add the model via the model manager so it is detected as ModelFormat.Diffusers, not Checkpoint.
  4. If you only have a checkpoint, use a diffusers conversion pipeline (e.g. from_single_file on the upstream diffusers class) outside InvokeAI, then import the result.

Example fix

// before
# models.yaml / scan import
source: /models/qwen_image_edit_fp8.safetensors   # -> Checkpoint_Config_Base -> NotImplementedError
// after
source: /models/Qwen-Image-Edit/   # diffusers folder -> Diffusers_Config_Base
Defensive patterns

Strategy: validation

Validate before calling

from invokeai.backend.model_manager.configs.base import Checkpoint_Config_Base

def ensure_diffusers_qwen(cfg: AnyModelConfig) -> None:
    if isinstance(cfg, Checkpoint_Config_Base):
        raise ValueError("Convert the Qwen Image Edit checkpoint to a diffusers folder before importing")

Try / catch

try:
    model = loader._load_model(cfg, submodel_type)
except NotImplementedError as e:
    if "CheckpointConfigBase is not implemented for Qwen" in str(e):
        convert_single_file_to_diffusers(cfg.path)  # then re-import
        model = loader._load_model(cfg, submodel_type)
    else:
        raise

Prevention

When it happens

Trigger: Registering a Qwen Image Edit model from a single checkpoint file (.safetensors single-file main model) so the record becomes a Checkpoint_Config_Base and dispatches to QwenImageDiffusersModel; adding a base-model Qwen checkpoint expecting automatic conversion.

Common situations: Users downloading a single-file Qwen Image Edit safetensors from a model hub and adding it as a Main/Checkpoint model; migration from other UIs that reference single-file checkpoints; missing diffusers-format conversion step.

Related errors


AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29). Data as JSON: /api/errors/6f0dda68a50d3be8. Report an issue: GitHub.