← all repositories
Xiaojiu-z/EasyControl

LoRA adapters that teach FLUX to take orders

It gives DiT-based diffusion models like FLUX plug-and-play control over poses, edges, subjects, and styles without retraining the base model.

1.7k stars Python Image · Video · Audio
EasyControl
Not currently ranked — collecting fresh signals.
star history

What it does

EasyControl is a conditional generation framework for Diffusion Transformers, built around FLUX.1-dev. It injects control via lightweight LoRA checkpoints—canny edges, depth maps, poses, segmentation, inpainting masks, subject references, and even a Ghibli-style portrait mode—without modifying the base transformer weights. You can stack multiple conditions simultaneously, and the project claims to preserve the base model’s style while supporting variable resolutions and aspect ratios.

The interesting bit

The trick is a Position-Aware Training Paradigm paired with Causal Attention and KV Cache, which sounds like a pile of jargon but translates to: the control signals know where they belong in the image, and inference avoids redundant recomputation by caching keys and values. The Ghibli model is a fun sideshow trained on just 100 real faces and their GPT-4o-generated anime twins.

Key highlights

  • Ships with eight pre-trained control LoRAs, from spatial conditions (canny, depth, pose) to subject consistency and a stylized portrait mode.
  • Supports multi-condition stacking—subject plus inpainting, for example—via set_multi_lora.
  • Claims plug-and-play compatibility: load a LoRA, generate, then clear the KV cache and swap to another.
  • Training code is available, though the README warns you’ll want an H100-class GPU and roughly 80 GB of memory.
  • A separate simple_api branch exists for running on less exotic personal hardware.

Caveats

  • The README is heavy on quickstart snippets and light on quantitative benchmarks; speed and memory claims are stated but not independently verified in the text.
  • Training is explicitly gated behind data-center GPUs (~80 GB VRAM), so fine-tuning your own conditions is not a hobbyist affair.
  • Manual KV-cache clearing (clear_cache) appears to be required between generations to avoid state leakage.

Verdict

Worth a look if you’re generating with FLUX and need precise, composable control without training a full ControlNet from scratch. Give it a pass if you’re committed to UNet-based models or expect turnkey production stability—the README itself notes the DiT ecosystem is still short on mature plugins.

Frequently asked

What is Xiaojiu-z/EasyControl?
It gives DiT-based diffusion models like FLUX plug-and-play control over poses, edges, subjects, and styles without retraining the base model.
Is EasyControl open source?
Yes — Xiaojiu-z/EasyControl is open source, released under the Apache-2.0 license.
What language is EasyControl written in?
Xiaojiu-z/EasyControl is primarily written in Python.
How popular is EasyControl?
Xiaojiu-z/EasyControl has 1.7k stars on GitHub.
Where can I find EasyControl?
Xiaojiu-z/EasyControl is on GitHub at https://github.com/Xiaojiu-z/EasyControl.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.