{"record":{"id":"9a54c6fd24abe2d1","repo":"invoke-ai/InvokeAI","slug":"only-tokenizer-and-textencoder-submodels-are-suppo-9a54c6","errorCode":null,"errorMessage":"Only Tokenizer and TextEncoder submodels are supported. Received: {submodel_type.value if submodel_type else 'None'}","messagePattern":"Only Tokenizer and TextEncoder submodels are supported\\. Received: (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"invokeai/backend/model_manager/load/model_loaders/qwen_image.py","lineNumber":324,"sourceCode":"        model_path = Path(config.path)\n\n        target_device = TorchDevice.choose_torch_device()\n        model_dtype = TorchDevice.choose_bfloat16_safe_dtype(target_device)\n\n        match submodel_type:\n            case SubModelType.Tokenizer:\n                tokenizer_path = model_path / \"tokenizer\"\n                return AutoTokenizer.from_pretrained(str(tokenizer_path), local_files_only=True)\n            case SubModelType.TextEncoder:\n                encoder_path = model_path / \"text_encoder\"\n                return Qwen2_5_VLForConditionalGeneration.from_pretrained(\n                    str(encoder_path),\n                    torch_dtype=model_dtype,\n                    low_cpu_mem_usage=True,\n                    local_files_only=True,\n                )\n\n        raise ValueError(\n            f\"Only Tokenizer and TextEncoder submodels are supported. \"\n            f\"Received: {submodel_type.value if submodel_type else 'None'}\"\n        )\n\n\n@ModelLoaderRegistry.register(base=BaseModelType.Any, type=ModelType.QwenVLEncoder, format=ModelFormat.Checkpoint)\nclass QwenVLEncoderCheckpointLoader(ModelLoader):\n    \"\"\"Loads a single-file Qwen2.5-VL encoder checkpoint (e.g. ComfyUI fp8_scaled).\n\n    The checkpoint bundles the language model and the visual tower into one\n    safetensors file. Tokenizer + processor are pulled from HuggingFace\n    (`Qwen/Qwen2.5-VL-7B-Instruct`) on first use, with offline cache fallback.\n    \"\"\"\n\n    DEFAULT_HF_REPO = \"Qwen/Qwen2.5-VL-7B-Instruct\"\n\n    def _load_model(\n        self,","sourceCodeStart":306,"sourceCodeEnd":342,"githubUrl":"https://github.com/invoke-ai/InvokeAI/blob/0b6a024f2ff6a86bfb953dcdb9cc504ef7397a06/invokeai/backend/model_manager/load/model_loaders/qwen_image.py#L306-L342","documentation":"The diffusers-format Qwen VL encoder loader supports only Tokenizer and TextEncoder submodels. Any other submodel type (or None) falls past the match/if-chain and raises this ValueError echoing the received submodel type.","triggerScenarios":"Calling this loader's _load_model with submodel_type other than SubModelType.Tokenizer or SubModelType.TextEncoder (e.g. Transformer, VAE, or None).","commonSituations":"Registry/base-type misconfiguration causing the manager to request unrelated submodels from the encoder entry; scripts enumerating submodels generically.","solutions":["Request only SubModelType.Tokenizer or SubModelType.TextEncoder from this loader.","Load transformer/VAE components from their own registered models.","Fix the model registration so other submodels resolve to appropriate loaders."],"exampleFix":"// before\nenc = loader._load_model(config, SubModelType.VAE)\n// after\ntok = loader._load_model(config, SubModelType.Tokenizer)\nenc = loader._load_model(config, SubModelType.TextEncoder)","handlingStrategy":"validation","validationCode":"SUPPORTED = {SubModelType.Tokenizer, SubModelType.TextEncoder}\nif submodel_type not in SUPPORTED:\n    raise ValueError(f\"QwenVL encoder loader supports only Tokenizer/TextEncoder, got {submodel_type}\")","typeGuard":"def is_encoder_submodel(sub: SubModelType | None) -> bool:\n    return sub in (SubModelType.Tokenizer, SubModelType.TextEncoder)","tryCatchPattern":"try:\n    comp = loader._load_model(config, submodel_type)\nexcept ValueError as e:\n    if \"Only Tokenizer and TextEncoder\" in str(e):\n        logger.warning(\"Load other components from their own model entries\")\n    else:\n        raise","preventionTips":["Only request Tokenizer/TextEncoder from text-encoder model entries","Register transformer and VAE models separately","Check the loader's supported submodel set before calling it generically"],"tags":["model-loader","invokeai","qwen-vl","submodel-type","unsupported"],"backgroundTag":"unsupported-variant","analyzedSha":"0b6a024f2ff6a86bfb953dcdb9cc504ef7397a06","analyzedAt":"2026-08-29T04:46:49.967Z","schemaVersion":2},"datasetVersion":"2026-08-29T07:17:48.351Z"}