{"record":{"id":"afefad58fd810ecd","repo":"invoke-ai/InvokeAI","slug":"lora-lora-lora-key-is-for-lora-lora-base-valu-afefad","errorCode":null,"errorMessage":"LoRA '{lora.lora.key}' is for {lora.lora.base.value if lora.lora.base else 'unknown'} models, not Z-Image models. Ensure you are using a Z-Image compatible LoRA.","messagePattern":"LoRA '(.+?)' is for (.+?) models, not Z-Image models\\. Ensure you are using a Z-Image compatible LoRA\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"invokeai/app/invocations/z_image_lora_loader.py","lineNumber":156,"sourceCode":"        added_loras: list[str] = []\n\n        if self.transformer is not None:\n            output.transformer = self.transformer.model_copy(deep=True)\n\n        if self.qwen3_encoder is not None:\n            output.qwen3_encoder = self.qwen3_encoder.model_copy(deep=True)\n\n        for lora in loras:\n            if lora is None:\n                continue\n            if lora.lora.key in added_loras:\n                continue\n\n            if not context.models.exists(lora.lora.key):\n                raise Exception(f\"Unknown lora: {lora.lora.key}!\")\n\n            if lora.lora.base is not BaseModelType.ZImage:\n                raise ValueError(\n                    f\"LoRA '{lora.lora.key}' is for {lora.lora.base.value if lora.lora.base else 'unknown'} models, \"\n                    \"not Z-Image models. Ensure you are using a Z-Image compatible LoRA.\"\n                )\n\n            # Warn on variant mismatch between LoRA and transformer.\n            lora_config = context.models.get_config(lora.lora.key)\n            lora_variant = getattr(lora_config, \"variant\", None)\n            if lora_variant and self.transformer is not None:\n                transformer_config = context.models.get_config(self.transformer.transformer.key)\n                transformer_variant = getattr(transformer_config, \"variant\", None)\n                if transformer_variant and lora_variant != transformer_variant:\n                    context.logger.warning(\n                        f\"LoRA variant mismatch: LoRA '{lora_config.name}' is for {lora_variant.value} \"\n                        f\"but transformer is {transformer_variant.value}. This may cause unexpected results.\"\n                    )\n\n            added_loras.append(lora.lora.key)\n","sourceCodeStart":138,"sourceCodeEnd":174,"githubUrl":"https://github.com/invoke-ai/InvokeAI/blob/0b6a024f2ff6a86bfb953dcdb9cc504ef7397a06/invokeai/app/invocations/z_image_lora_loader.py#L138-L174","documentation":"Each collected LoRA must declare BaseModelType.ZImage as its base; anything else (Flux, SDXL, etc.) cannot patch the Z-Image transformer and raises a ValueError naming the LoRA's actual base. The message interpolates lora.lora.base.value, or 'unknown' when base is None (common for record keys that cannot be resolved).","triggerScenarios":"A LoRA entry in transformer.loras or qwen3_encoder.loras has lora.lora.base different from BaseModelType.ZImage (or None) during loader invoke().","commonSituations":"Attaching a Flux or SDXL LoRA to a Z-Image graph; Model Manager metadata wrong so a Z-Image LoRA is registered under another base; key parsing yielding base=None for corrupted records; auto-loading a whole folder of mixed-family LoRAs.","solutions":["Use only LoRAs trained for Z-Image (base = z_image) in this graph; remove Flux/SDXL LoRAs from the loader chain.","Fix the base model metadata of the LoRA in the Model Manager if it is actually a Z-Image LoRA.","If base shows 'unknown', reinstall the LoRA so a valid model record with base ZImage is created.","Find an equivalent Z-Image LoRA or retrain/convert the LoRA for Z-Image."],"exampleFix":"// before\nlora.lora.base == BaseModelType.Flux  # Flux LoRA on Z-Image graph\n// after\nuse lora with lora.lora.base == BaseModelType.ZImage","handlingStrategy":"validation","validationCode":"for l in attached_loras:\n    cfg = context.models.get_config(l.lora.key)\n    if cfg.base != BaseModelType.ZImage:\n        raise ValueError(f\"LoRA {cfg.name} has base {cfg.base}; only z_image LoRAs work on Z-Image models\")","typeGuard":"def is_zimage_lora(cfg) -> bool:\n    return getattr(cfg, 'base', None) == BaseModelType.ZImage","tryCatchPattern":"try:\n    out = z_image_lora_loader.invoke(context)\nexcept ValueError as e:\n    if \"not Z-Image models\" in str(e):\n        context.logger.error(f\"{e} - swap in a base=z_image LoRA.\")\n    else:\n        raise","preventionTips":["Filter the LoRA picker by base model 'z-image' before attaching.","Fix misregistered base metadata in the Model Manager.","Keep LoRAs for different families in separate folders to avoid mixing."],"tags":["lora","base-model-mismatch","z-image","compatibility"],"backgroundTag":"base-model-mismatch","analyzedSha":"0b6a024f2ff6a86bfb953dcdb9cc504ef7397a06","analyzedAt":"2026-08-29T04:46:49.967Z","schemaVersion":2},"datasetVersion":"2026-08-29T07:17:48.351Z"}