{"record":{"id":"98f0a87eaf441315","repo":"LykosAI/StabilityMatrix","slug":"flux-vae-model-not-found","errorCode":null,"errorMessage":"Flux VAE model not found","messagePattern":"Flux VAE model not found","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"StabilityMatrix.Avalonia/Services/FluxKontextModelManager.cs","lineNumber":178,"sourceCode":"\n    /// <summary>\n    /// Select the best available models for Flux Kontext (only selects LOCAL models)\n    /// </summary>\n    internal FluxKontextWorkflowBuilder.SelectedModels SelectModels(IInferenceClientManager clientManager)\n    {\n        var unetModel =\n            clientManager.UnetModels.FirstOrDefault(m =>\n                m.Local != null\n                && (\n                    m.FileName.Contains(\"flux1-dev-kontext\", StringComparison.OrdinalIgnoreCase)\n                    || m.FileName.Contains(\"flux-kontext\", StringComparison.OrdinalIgnoreCase)\n                )\n            ) ?? throw new InvalidOperationException(\"Flux Kontext UNET model not found\");\n\n        var vaeModel =\n            clientManager.VaeModels.FirstOrDefault(m =>\n                m.Local != null && m.FileName.Equals(\"ae.safetensors\", StringComparison.OrdinalIgnoreCase)\n            ) ?? throw new InvalidOperationException(\"Flux VAE model not found\");\n\n        var clip1Model =\n            clientManager.ClipModels.FirstOrDefault(m =>\n                m.Local != null && m.FileName.Contains(\"clip_l\", StringComparison.OrdinalIgnoreCase)\n            ) ?? throw new InvalidOperationException(\"CLIP-L model not found\");\n\n        var clip2Model =\n            clientManager.ClipModels.FirstOrDefault(m =>\n                m.Local != null\n                && (\n                    m.FileName.Contains(\"t5xxl\", StringComparison.OrdinalIgnoreCase)\n                    || m.FileName.Contains(\"t5-xxl\", StringComparison.OrdinalIgnoreCase)\n                )\n            ) ?? throw new InvalidOperationException(\"T5-XXL model not found\");\n\n        return new FluxKontextWorkflowBuilder.SelectedModels(unetModel, vaeModel, clip1Model, clip2Model);\n    }\n}","sourceCodeStart":160,"sourceCodeEnd":196,"githubUrl":"https://github.com/LykosAI/StabilityMatrix/blob/af93d6ef57c01cd890d7e0ad0a9ea8c9fcda3002/StabilityMatrix.Avalonia/Services/FluxKontextModelManager.cs#L160-L196","documentation":"SelectModels in FluxKontextModelManager requires the Flux autoencoder (ae.safetensors) to be locally installed among VaeModels. Without it the workflow cannot encode/decode latents, so it throws this InvalidOperationException.","triggerScenarios":"Calling SelectModels when no VaeModels entry has Local != null and a filename exactly equal (case-insensitive) to 'ae.safetensors'.","commonSituations":"User downloads the Kontext UNET but not the shared Flux ae.safetensors VAE; the VAE file was renamed (e.g. ae_flux1.safetensors) so the exact-name match fails; files moved outside the scanned VAE directory.","solutions":["Download ae.safetensors (Flux VAE) into the VAE folder and refresh the model index","Rename the existing VAE file to exactly ae.safetensors (name match is exact, not substring)","Catch InvalidOperationException and trigger an in-app VAE download"],"exampleFix":"// before\nvar models = fluxKontextModelManager.SelectModels();\n// after\nif (!clientManager.VaeModels.Any(m => m.Local != null && m.FileName.Equals(\"ae.safetensors\", StringComparison.OrdinalIgnoreCase)))\n{\n    await sharedFolders.DownloadModelAsync(FluxVaeUri, SharedFolderType.Vae); // ae.safetensors\n}\nvar models = fluxKontextModelManager.SelectModels();","handlingStrategy":"validation","validationCode":"var vae = clientManager.VaeModels.FirstOrDefault(m => m.Local != null\n    && m.FileName.Equals(\"ae.safetensors\", StringComparison.OrdinalIgnoreCase));\nif (vae is null) throw new UserDownloadableError(\"Flux VAE ae.safetensors is not installed.\");","typeGuard":"bool HasFluxVae(IEnumerable<HybridModelFile> models) => models.Any(m => m.Local != null && m.FileName.Equals(\"ae.safetensors\", StringComparison.OrdinalIgnoreCase));","tryCatchPattern":"try\n{\n    var models = fluxKontextModelManager.SelectModels();\n}\ncatch (InvalidOperationException ex) when (ex.Message.Contains(\"Flux VAE model not found\"))\n{\n    // trigger ae.safetensors download flow\n}","preventionTips":["Remember the VAE name match is exact: keep the file named ae.safetensors","Preflight all Flux Kontext model dependencies together","Re-scan shared folders after manual downloads"],"tags":["comfyui","models","vae"],"backgroundTag":"resource-not-found","analyzedSha":"af93d6ef57c01cd890d7e0ad0a9ea8c9fcda3002","analyzedAt":"2026-09-12T19:02:43.389Z","contentChangedAt":"2026-09-12T19:02:43.389Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}