3e04929515
Adds a `flux_unet` model family for Flux.1 D checkpoints that ship only the UNet weights (no baked-in CLIP/T5/VAE) and require external encoder loading. Affected checkpoints: lust_v10, cyberrealisticFlux_v25, getphatFLUXReality_v11Softcore, moodyDesireMix_v20PRO, fcFluxPonyPerfectBase. These live in `models/diffusion_models/` (or `models/unet/`) on the ComfyUI host and are loaded via UNETLoader instead of CheckpointLoaderSimple. Detection: - New `FLUX_UNET_ONLY_PATTERNS` constant in config.py lists known UNet-only filename substrings. - `detect_model_family()` returns `flux_unet` when any pattern matches, taking precedence over base_model field (same architecture-override pattern used for FluxPony hybrids). Workflow: - New flux_unet workflow in comfyui.py uses UNETLoader + DualCLIPLoader (clip_l.safetensors + t5xxl_fp16.safetensors, type=flux) + VAELoader (ae.safetensors) wired into the same Flux KSampler graph as the monolithic flux family. - Family defaults inherit from flux (sampler/scheduler/steps/cfg) with external_clip flag set. Smoke-tested end-to-end on madcat with getphatFLUXReality_v11Softcore producing valid output. Flux.2 Klein checkpoints (lust_v10, moodyDesireMix) still fail because they require a different text encoder (qwen_3_8b) — see follow-up commit. 13 new tests; 240 -> 253 total.