Skip to content

DreamO: A Unified Framework for Image Customization

License

Notifications You must be signed in to change notification settings

EmperorCyber/DreamO

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DreamO

Official implementation of DreamO: A Unified Framework for Image Customization

arXiv demo

🚩 Updates

  • 2025.05.12: 🔥🔥 Support consumer-grade GPUs (16GB or 24GB) now, see here for instruction
  • 2025.05.11: 🔥🔥 We have updated the model to mitigate over-saturation and plastic-face issue. The new version shows consistent improvements over the previous release. Please check it out!
  • 2025.05.08: release codes and models
  • 2025.04.24: release DreamO tech report.

🔧 Dependencies and Installation

# clone DreamO repo
git clone https://github.com/bytedance/DreamO.git
cd DreamO
# create conda env
conda create --name dreamo python=3.10
# activate env
conda activate dreamo
# install dependent packages
pip install -r requirements.txt

⚡ Quick Inference

Local Gradio Demo

python app.py

We observe strong compatibility between DreamO and the accelerated FLUX LoRA variant (FLUX-turbo), and thus enable Turbo LoRA by default, reducing inference to 12 steps (vs. 25+ by default). Turbo can be disabled via --no_turbo, though our evaluation shows mixed results; we therefore recommend keeping Turbo enabled.

tips: If you observe limb distortion or poor text generation, try increasing the guidance scale; if the image appears overly glossy or over-saturated, consider lowering the guidance scale.

For consumer-grade GPUs

We have added support for 8-bit quantization and CPU offload to enable execution on consumer-grade GPUs. This requires the optimum-quanto library, and thus the PyTorch version in requirements.txt has been upgraded to 2.6.0. If you are using an older version of PyTorch, you may need to reconfigure your environment.

  • For users with 24GB GPUs, run python app.py --int8 to enable the int8-quantized model.

  • For users with 16GB GPUs, run python app.py --int8 --offload to enable CPU offloading alongside int8 quantization. Note that CPU offload significantly reduces inference speed and should only be enabled when necessary.

Supported Tasks

IP

This task is similar to IP-Adapter and supports a wide range of inputs including characters, objects, and animals. By leveraging VAE-based feature encoding, DreamO achieves higher fidelity than previous adapter methods, with a distinct advantage in preserving character identity.

IP_example

ID

Here, ID specifically refers to facial identity. Unlike the IP task, which considers both face and clothing, the ID task focuses solely on facial features. This task is similar to InstantID and PuLID. Compared to previous methods, DreamO achieves higher facial fidelity, but introduces more model contamination than the SOTA approach PuLID.

ID_example

tips: If you notice the face appears overly glossy, try lowering the guidance scale.

Try-On

This task supports inputs such as tops, bottoms, glasses, and hats, and enables virtual try-on with multiple garments. Notably, our training set does not include multi-garment or ID+garment data, yet the model generalizes well to these unseen combinations.

tryon_example

Style

This task is similar to Style-Adapter and InstantStyle. Please note that style consistency is currently less stable compared to other tasks, and in the current version, style cannot be combined with other conditions. We are working on improvements in future releases—stay tuned.

style_example

Multi Condition

You can use multiple conditions (ID, IP, Try-On) to generate more creative images. Thanks to the feature routing constraint proposed in the paper, DreamO effectively mitigates conflicts and entanglement among multiple entities.

multi_cond_example

Online HuggingFace Demo

You can try DreamO demo on HuggingFace.

Disclaimer

This project strives to impact the domain of AI-driven image generation positively. Users are granted the freedom to create images using this tool, but they are expected to comply with local laws and utilize it responsibly. The developers do not assume any responsibility for potential misuse by users.

Citation

If DreamO is helpful, please help to ⭐ the repo.

If you find this project useful for your research, please consider citing our paper.

📧 Contact

If you have any comments or questions, please open a new issue or contact Yanze Wu and Chong Mou.

About

DreamO: A Unified Framework for Image Customization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%