{"record":{"id":"7fee2faf21da0413","repo":"AUTOMATIC1111/stable-diffusion-webui","slug":"unable-to-find-model-info-path-7fee2f","errorCode":null,"errorMessage":"Unable to find model info: {path}","messagePattern":"Unable to find model info: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"modules/realesrgan_model.py","lineNumber":64,"sourceCode":"            model_descriptor,\r\n            img,\r\n            tile_size=opts.ESRGAN_tile,\r\n            tile_overlap=opts.ESRGAN_tile_overlap,\r\n            # TODO: `outscale`?\r\n        )\r\n\r\n    def load_model(self, path):\r\n        for scaler in self.scalers:\r\n            if scaler.data_path == path:\r\n                if scaler.local_data_path.startswith(\"http\"):\r\n                    scaler.local_data_path = modelloader.load_file_from_url(\r\n                        scaler.data_path,\r\n                        model_dir=self.model_download_path,\r\n                    )\r\n                if not os.path.exists(scaler.local_data_path):\r\n                    raise FileNotFoundError(f\"RealESRGAN data missing: {scaler.local_data_path}\")\r\n                return scaler\r\n        raise ValueError(f\"Unable to find model info: {path}\")\r\n\r\n\r\ndef get_realesrgan_models(scaler: UpscalerRealESRGAN):\r\n    return [\r\n        UpscalerData(\r\n            name=\"R-ESRGAN General 4xV3\",\r\n            path=\"https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-x4v3.pth\",\r\n            scale=4,\r\n            upscaler=scaler,\r\n        ),\r\n        UpscalerData(\r\n            name=\"R-ESRGAN General WDN 4xV3\",\r\n            path=\"https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-wdn-x4v3.pth\",\r\n            scale=4,\r\n            upscaler=scaler,\r\n        ),\r\n        UpscalerData(\r\n            name=\"R-ESRGAN AnimeVideo\",\r","sourceCodeStart":46,"sourceCodeEnd":82,"githubUrl":"https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/82a973c04367123ae98bd9abdf80d9eda9b910e2/modules/realesrgan_model.py#L46-L82","documentation":"The RealESRGAN loader iterates its registered scalers looking for one whose scaler.data_path equals the requested path; if no registered UpscalerData matches, ValueError 'Unable to find model info' is raised. It means the requested RealESRGAN model name/path is not among the built-in entries (General 4xV3, General WDN 4xV3, x4plus, x4plus-anime-6B, x2plus, etc.).","triggerScenarios":"Calling the RealESRGAN upscaler with a custom path/name string that differs from every registered scaler.data_path — e.g. a local file path passed where a registered URL/path is expected.","commonSituations":"Scripts or extensions passing an arbitrary .pth path to the RealESRGAN upscaler instead of using its registered names; renaming/moving model files so data_path no longer matches the request.","solutions":["Use one of the registered RealESRGAN model names/paths (check get_realesrgan_models: 'R-ESRGAN General 4xV3', 'R-ESRGAN General WDN 4xV3', 'R-ESRGAN 4x+', 'R-ESRGAN 4x+ Anime6B', 'R-ESRGAN 2x+').","For arbitrary local upscaler weights, use the ESRGAN/general upscaler path or add an UpscalerData entry rather than RealESRGAN.","Pick the model via the UI dropdown so the exact registered value is used."],"exampleFix":"# before\nupscale_with_model(realesrgan, path='models/RealESRGAN/my_custom.pth')  # ValueError\n\n# after\nupscale_with_model(realesrgan, path='https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth')  # registered data_path","handlingStrategy":"validation","validationCode":"def known_realesrgan_path(scalers, path):\n    return any(s.data_path == path for s in scalers)\n\nif not known_realesrgan_path(upscaler.scalers, requested_path):\n    raise ValueError(f'{requested_path!r} is not a registered RealESRGAN model; '\n                     f'valid: {[s.data_path for s in upscaler.scalers]}')","typeGuard":"def is_registered_realesrgan(scalers, path: str) -> bool:\n    return any(s.data_path == path for s in scalers)","tryCatchPattern":"try:\n    scaler = upscaler.load_model(path)\nexcept ValueError as e:\n    if 'Unable to find model info' in str(e):\n        # fall back to a registered default entry\n        scaler = upscaler.load_model(upscaler.scalers[0].data_path)\n    else:\n        raise","preventionTips":["Drive selection from the registered scaler list (or the UI dropdown), never free-text paths.","For custom local weights use the generic ESRGAN upscaler, not RealESRGAN."],"tags":["realesrgan","upscaler","validation","model-registry"],"backgroundTag":null,"analyzedSha":"82a973c04367123ae98bd9abdf80d9eda9b910e2","analyzedAt":"2026-08-14T16:46:43.225Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}