- Category
- AI Tools
- Rank
- No. 1078Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- bytedance
- GitHub
- 1.4k stars
- Date
About
Universal customization method for both single- and multi-subject image generation, built on diffusion transformers (ICCV 2025).
What it does
UNO takes a text prompt plus one or more reference images, then places those subjects into a newly generated scene. One model handles single-subject and multi-subject requests. It supports local generation, batch evaluation, model training, and an interactive browser demo.
Why it's ranked here
UNO offers an unusually complete research workflow: published checkpoints, inference and training code, an interactive demo, dataset preparation guidance, and dedicated evaluation scripts. Its strongest case is controlled subject reuse across compositions. The substantial checkpoint footprint, GPU demands, and acknowledged generalization limits keep it from being a casual image tool.
What's good
Reference handling scales from one image to several without switching models. Users can control prompt, dimensions, guidance, sampling steps, seed, and reference size. The project also supplies DreamBench evaluation using text alignment and image-similarity measures, plus distributed LoRA training with checkpoint resumption.
Tradeoffs
The full checkpoint set requires 37 GB of storage. Even the low-memory FP8 and offload configuration peaks around 16 GB of video memory, with reported generation taking 40 seconds to one minute on an RTX 3090. The authors also acknowledge weaker generalization caused by dataset constraints, and larger output sizes become less stable.
How to use it well
UNO best suits researchers and engineers testing subject-preserving image composition on capable local hardware. Start with the browser demo, then move reproducible prompt sets into batch inference and DreamBench evaluation. Use the training extra and UNO-1M only when adapting the model. It does not eliminate separate base-model downloads or their licensing terms.
Technical notes+
pyproject.toml defines a Python 3.10 through 3.12 setuptools package with inference dependencies and train and dev extras. app.py wraps UNOPipeline in Gradio, exposing up to four reference images and generation controls. inference.py uses Accelerator, preprocesses one reference at 512 pixels or multiple references at 320 by default, and writes PNG plus JSON metadata. train.py freezes the VAE, T5, CLIP, and base diffusion transformer, installs LoRA attention processors, and trains through Accelerate with separate DeepSpeed plugins. uno/flux/model.py concatenates reference-image tokens with generated-image tokens before rotary position embedding and transformer processing. uno/flux/util.py resolves local environment paths or downloads FLUX and UNO safetensors from Hugging Face. The two scripts under eval/ compute CLIP text, CLIP image, and DINO image similarity for single-subject and multi-subject DreamBench runs.
Observed
- License
- Apache-2.0 for the code; base models remain subject to their original license terms.
- Primary language
- Python
- Python support
- Python 3.10 through 3.12
- Installation
- Editable pip package, with an optional train extra for Accelerate and DeepSpeed.
- Interfaces
- Command-line inference and training scripts, plus a local Gradio browser interface.
- Model distribution
- Checkpoints are downloaded automatically from Hugging Face or supplied through environment variables.
- Platform declaration
- Package metadata declares operating-system independence; setup notes cover NVIDIA, AMD, and macOS MPS Torch installations.
- Evaluation surface
- Separate DreamBench evaluation scripts cover single-subject and multi-subject output using CLIP and DINO similarities.
Read from README.md, pyproject.toml, requirements.txt, app.py, train.py, inference.py, template/uno_instructions.py, eval/evaluate_clip_dino_score_multi_subject.py, eval/evaluate_clip_dino_score_single_subject.py, uno/flux/math.py, uno/flux/util.py, uno/flux/model.py.
What it can do
Generate images for single subjects
Text prompts and subject specifications → Customized images with single subject
Generate images for multiple subjects
Text prompts and multiple subject specifications → Customized images with multiple subjects
Customize image generation using diffusion transformers
Customization parameters and image requirements → Tailored generated images
Apply universal customization across different image types
Various image generation requests and customization settings → Consistently customized images across different scenarios
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
