USO Model Loader (flux-fp8)
The Flux USO Loader That OOMs Before It Even Loads
- USO_MODEL
Read the README before you install this one, because the author does you the rare courtesy of being honest: the USO Model Loader (flux-fp8) - and the whole USO_ComfyUI pack - is a "theoretical proof-of-concept" that the author could never get running. Loading the models systematically triggers torch.OutOfMemoryError on consumer hardware, and the GitHub repo is an open call for someone with memory-optimization skills to finish it. That's not a knock. It's the single most useful sentence in this article.
What it's for. USO is ByteDance's style-and-content transfer model built on top of FLUX.1. The pitch that made it a news story: give it a content reference (the subject you want) and up to two style references, and it re-renders without you training a LoRA or writing "in the style of" paragraphs. Think IP-Adapter for content plus something closer to Kontext for style, all in one model. ByteDance open-sourced it, ComfyUI shipped native support within days, and this pack is a third-party reimplementation that loads the whole thing through two custom nodes.
Why you'd reach for it (and when you shouldn't). Only reason to reach for it: you specifically want the two-node UX, or you're studying how USO wires together. Because ComfyUI's native USO support - ModelPatch Loader plus use-flux1-projector-v1.safetensors in a model_patches folder - is the path the community actually validated, and it's in the base app you already have. This pack predates and duplicates it, unvalidated.
How it works. The loader scans exactly one folder - ComfyUI/models/USO_models/ - for .safetensors files and exposes four file-picker dropdowns that all read from it:
flux_model_name- the FLUX.1-dev base checkpoint (the code expectsflux1-dev.safetensors, and fp8-converts it on the fly)ae_model_name- the Flux VAE (ae.safetensors)uso_lora_name- ByteDance'suse-flux1-lora-v1.safetensorsuso_projector_name- ByteDance'suse-flux1-projector-v1.safetensors
It then merges the LoRA and projector weights into the base model, and auto-downloads the encoders the sampler needs: T5-XXL (fp8, from comfyanonymous/flux_text_encoders), OpenAI's CLIP ViT-L, and Google's SigLIP. Everything runs in bf16. The single output, USO_MODEL, is a bundle object you feed straight into the USO Sampler.
Installing. Clone and restart, no pip step:
cd ComfyUI/custom_nodes
git clone https://github.com/Juste-Leo2/USO_ComfyUI.git
There's no requirements.txt; it leans on transformers, accelerate, safetensors, and huggingface_hub, which your ComfyUI environment almost certainly already has. The heavy lift is files: four safetensors in models/USO_models/ plus several GB of encoders pulled automatically on first load.
Where people get burned. Three things, in order:
- It may not run at all. Expect the OOM the author warns about. Realistically you want a 24 GB+ card and even then it's unconfirmed.
- The dropdowns are French. Until you drop files in, every picker reads "Placez vos modèles .safetensors ici !" - that's not a bug, it's the folder being empty.
- The README doesn't tell you where to get the USO LoRA and projector. They're in the ByteDance/USO repo. Don't go hunting.
If USO style transfer is your actual goal, try the native ComfyUI path first. This one is a learning exercise - a genuinely interesting one, but honest about what it is.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| flux_model_name | COMBO | 1 options: Placez vos modèles .safetensors ici ! | |
| ae_model_name | COMBO | 1 options: Placez vos modèles .safetensors ici ! | |
| uso_lora_name | COMBO | 1 options: Placez vos modèles .safetensors ici ! | |
| uso_projector_name | COMBO | 1 options: Placez vos modèles .safetensors ici ! |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| USO_MODEL | USO_MODEL | — |