Quick answer
- ๐ด The original ControlNet repository has not been touched since February 2024 and has made zero commits in 90 days. Nor have its author’s other projects — Fooocus, Forge and ControlNet-v1-1-nightly are all dormant too, about 105,000 stars between them.
- ControlNet itself is not dead. It moved from one reference implementation to independent model authors, and the most-downloaded SDXL ControlNet today is maintained by someone else entirely.
- Union models changed the economics. Instead of one 1.45 GB file per control type, a single 2.51 GB file now covers “10+ control conditions”.
- A ControlNet only works on the base it was trained for — SD 1.5, SDXL and FLUX each need their own, and they range from 1.45 GB to 6.60 GB.
- โ ๏ธ And one popular SDXL ControlNet declares the wrong base model in its own metadata.
Repository and file figures were read from the GitHub and Hugging Face APIs on 1 October 2026.
The reference implementation stopped, and so did everything around it
ControlNet was introduced by Lvmin Zhang (lllyasviel), and the original repository is still the thing every tutorial links to. It has 34,126 stars and was last pushed on 25 February 2024.
That alone would be unremarkable — a reference implementation can be finished. What makes it worth knowing is that the same author’s entire image-generation portfolio has gone quiet at once:
| Project | Stars | Last pushed | Commits, last 90 days |
|---|---|---|---|
| Fooocus | 53,250 | 1 Dec 2025 | 0 |
| ControlNet | 34,126 | 25 Feb 2024 | 0 |
| Forge (SD WebUI fork) | 13,044 | 31 Jul 2025 | 0 |
| ControlNet-v1-1-nightly | 5,171 | 8 Aug 2024 | 0 |
None are archived, and all still work. But if you are following a 2024 tutorial that tells you to clone one of these, nothing in it will be updated for a model released since. The same thing has happened to the interfaces people run ControlNet in, which we covered in which Stable Diffusion editors are still maintained.
The technique outlived the repository. ControlNet is now carried by the people publishing weights, not by one codebase — and that is where the activity is.
What is actually worth downloading
Downloads are the last 30 days; sizes are the largest single weights file in each repository.
| Model | Base | Size | Licence | Downloads /30d |
|---|---|---|---|---|
| xinsir/controlnet-union-sdxl-1.0 | SDXL | 2.51 GB | Apache 2.0 | 124,294 |
| lllyasviel/sd-controlnet-canny | SD 1.5 | 1.45 GB | OpenRAIL | 26,668 |
| diffusers/controlnet-canny-sdxl-1.0 | SDXL | 5.00 GB | OpenRAIL++ | 24,754 |
| InstantX/FLUX.1-dev-Controlnet-Union | FLUX.1 [dev] | 6.60 GB | Non-commercial | 20,186 |
| Shakker-Labs/FLUX.1-dev-ControlNet-Union-Pro-2.0 | FLUX.1 [dev] | 4.28 GB | Non-commercial | 13,878 |
| lllyasviel/control_v11p_sd15_canny | SD 1.5 | 1.45 GB | OpenRAIL | 12,804 |
The ranking is the story. The most-downloaded ControlNet is not one of the originals — it is xinsir’s union model, by roughly 5×, and it is the only Apache-2.0 option in the list.
Union models: one file instead of eight
The classic pattern was one ControlNet per control type: a canny model, a depth model, an openpose model, each about 1.45 GB for SD 1.5. Eight of those is close to 12 GB on disk before you generate anything.
Union models collapse that. xinsir’s card describes “ControlNet++: All-in-one ControlNet for image generations and editing”, claiming support for “10+ control conditions, no obvious performance drop on any single condition compared with training independently”, and — the part that matters in practice — “Support multi condition generation, condition fusion is learned during training. No need to set hyperparameter or design prompts.” The ProMax variant advertises “12 control + 5 advanced editing”.
At 2.51 GB covering ten-plus conditions, that is less disk than two of the old single-purpose files.
โ ๏ธ Worth knowing before you plan around it: the author has posted that “because of the project’s revenue and expenditure are difficult to balance, the GPU resources are assigned to other projects that are more likely to be profitable, the SD3 trainging is stopped until I find enough GPU supprt” (their wording). The SDXL model is published and working; SD3 support is not funded.
The base model has to match
A ControlNet is trained against a specific architecture, so an SD 1.5 ControlNet will not load on SDXL, and neither will load on FLUX. You can read it straight off the file sizes — 1.45 GB for SD 1.5, 2.5 to 5 GB for SDXL, 4.3 to 6.6 GB for FLUX — because the adapter scales with the model it attaches to. It is the same constraint that governs Stable Diffusion LoRAs.
โ ๏ธ But do not trust the metadata field alone
We have previously recommended checking a model’s base_model field rather than guessing from its filename. That advice needs a caveat, and ControlNet supplies the counter-example.
diffusers/controlnet-canny-sdxl-1.0 declares base_model: runwayml/stable-diffusion-v1-5 — in its YAML front matter and in its Hugging Face tags. It is not an SD 1.5 model. Its own card body opens “These are controlnet weights trained on” — and then links stabilityai/stable-diffusion-xl-base-1.0, not SD 1.5. Its tags also include stable-diffusion-xl. The structured field is simply wrong, on a repository with ~25,000 downloads a month.
So the rule is better stated as: read the field and the card body, and treat a disagreement as a reason to trust the prose. Metadata is hand-written and can be copy-pasted from another repo, which is almost certainly what happened here.
Licences
Three different regimes, and the FLUX one catches people:
- Apache 2.0 — xinsir’s union model. The permissive option.
- OpenRAIL / OpenRAIL++ — the lllyasviel SD 1.5 models and the diffusers SDXL ones. Open, with use-based restrictions attached.
- Non-commercial — both FLUX ControlNets are tagged
other, because a ControlNet for FLUX.1 [dev] sits downstream of that model’s licence. Being free to download does not make it free to ship, which we work through in the Flux licence guide.
What this means in practice
- On SDXL: start with xinsir’s union model. Most downloaded, Apache 2.0, one file for ten-plus conditions.
- On SD 1.5: the lllyasviel v1.1 models are still the standard and still work. They are not being updated, and they do not need to be.
- On FLUX: InstantX or Shakker-Labs, with the non-commercial licence firmly in mind.
- Budget the disk: a ControlNet is an extra 1.5 to 6.6 GB on top of the checkpoint, and it loads alongside it. Our image generation VRAM calculator sizes the base model; add the ControlNet to that figure.
FAQ
Is ControlNet still maintained?
The original repository is not — last pushed February 2024, no commits in the last 90 days. The models are, by independent authors. xinsir’s SDXL union model alone sees over 124,000 downloads a month.
Can I use an SD 1.5 ControlNet with SDXL?
No. ControlNets are trained against one architecture. SD 1.5, SDXL and FLUX each need their own, which is also why their file sizes differ so much.
Which ControlNet should I download first?
For SDXL, xinsir/controlnet-union-sdxl-1.0: 2.51 GB, Apache 2.0, and it covers ten-plus control types in a single file rather than one file per type.
How much extra VRAM does a ControlNet need?
Budget the file size on top of your checkpoint, since both are resident during generation — roughly 1.45 GB for SD 1.5, 2.5 to 5 GB for SDXL, and 4.3 to 6.6 GB for FLUX.
Sources
- Stars, push dates and 90-day commit counts from the GitHub API, 1 October 2026 (lllyasviel/ControlNet)
- Model sizes, licences, download counts and
base_modelmetadata from the Hugging Face API, 1 October 2026: xinsir/controlnet-union-sdxl-1.0, diffusers/controlnet-canny-sdxl-1.0, InstantX/FLUX.1-dev-Controlnet-Union
Updated 1 October 2026: repository status, model sizes, licences and download counts all read on this date. Maintenance status changes — re-check before relying on it.
Work out what your hardware can actually run
Free calculators and directories, sized from real model weights โ before you download gigabytes or order a card:

