alt.freeweights.qwen / Qwen-Image-ControlNet-Union
From: InstantX <huggingface.co/InstantX>Newsgroups: alt.freeweights.qwenSubject:

Qwen-Image-ControlNet-Union

Date: 2026-11-15Commit: b13036fSigned: 2DC28CC7B26A283B ✓

Image to image model with 1.8B parameters. Safetensors weights, 3.54 GB in all. Published by InstantX under Apache-2.0.

1.8B params3.54GBQwen-Image-ControlNet-Unionsafetensorspermissive
FactsParams1.8BSize3.54 GBFormatssafetensorsTaskimage to imageLicenseApache-2.0From sourcepermissive
$ fw get InstantX/Qwen-Image-ControlNet-Union
# manifest sha256 6cb6ed31ec59… · 3.54 GB · 18 files
$ fw verify ./Qwen-Image-ControlNet-Union InstantX/Qwen-Image-ControlNet-Union
From sourceHosted (signed)InstantX/Qwen-Image-ControlNet-UnionLast check: 2026-11-15 02:39 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of Qwen-Image.

Works with

Overview

Size
3.54 GB
Weights
3.54 GB (safetensors)
Parameters
1.8B
Formats
safetensors
Task
image to image
License
Apache-2.0 (permissive)
Files
18, each with a sha256
Publisher
InstantX
Added
2026-11-15
Section
alt.freeweights.qwen
Lineage

Original release from the publisher.

Base model: Qwen/Qwen-Image

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 02:39 UTCpassed

Model card

From the publisher at commit b13036f. Shown as plain text with links; images open at the publisher.

Qwen-Image-ControlNet-Union#

This repository provides a unified ControlNet that supports 4 common control types (canny, soft edge, depth, pose) for Qwen-Image.

Model Cards#

  • This ControlNet consists of 5 double blocks copied from the pretrained transformer layers.
  • We train the model from scratch for 50K steps using a dataset of 10M high-quality general and human images.
  • We train at 1328x1328 resolution in BFloat16, batch size=64, learning rate=4e-5. We set the text drop ratio to 0.10.
  • This model supports multiple control modes, including canny, soft edge, depth, pose. You can use it just as a normal ControlNet.

Showcases#

| Image: canny | Image: canny

| Image: soft_edge | Image: soft_edge

| Image: depth | Image: depth

| Image: pose | Image: pose

Inference#

import torch
from diffusers.utils import load_image

# https://github.com/huggingface/diffusers/pull/12215
# pip install git+https://github.com/huggingface/diffusers
from diffusers import QwenImageControlNetPipeline, QwenImageControlNetModel

base_model = "Qwen/Qwen-Image"
controlnet_model = "InstantX/Qwen-Image-ControlNet-Union"

controlnet = QwenImageControlNetModel.from_pretrained(controlnet_model, torch_dtype=torch.bfloat16)

pipe = QwenImageControlNetPipeline.from_pretrained(
    base_model, controlnet=controlnet, torch_dtype=torch.bfloat16
)
pipe.to("cuda")

# canny
# it is highly suggested to add 'TEXT' into prompt if there are text elements
control_image = load_image("conds/canny.png")
prompt = "Aesthetics art, traditional asian pagoda, elaborate golden accents, sky blue and white color palette, swirling cloud pattern, digital illustration, east asian architecture, ornamental rooftop, intricate detailing on building, cultural representation."
controlnet_conditioning_scale = 1.0

# soft edge
# control_image = load_image("conds/soft_edge.png")
# prompt = "Photograph of a young man with light brown hair jumping mid-air off a large, reddish-brown rock. He's wearing a navy blue sweater, light blue shirt, gray pants, and brown shoes. His arms are outstretched, and he has a slight smile on his face. The background features a cloudy sky and a distant, leafless tree line. The grass around the rock is patchy."
# controlnet_conditioning_scale = 1.0

# depth
# control_image = load_image("conds/depth.png")
# prompt = "A swanky, minimalist living room with a huge floor-to-ceiling window letting in loads of natural light. A beige couch with white cushions sits on a wooden floor, with a matching coffee table in front. The walls are a soft, warm beige, decorated with two framed botanical prints. A potted plant chills in the corner near the window. Sunlight pours through the leaves outside, casting cool shadows on the floor."
# controlnet_conditioning_scale = 1.0

# pose
# control_image = load_image("conds/pose.png")
# prompt = "Photograph of a young man with light brown hair and a beard, wearing a beige flat cap, black leather jacket, gray shirt, brown pants, and white sneakers. He's sitting on a concrete ledge in front of a large circular window, with a cityscape reflected in the glass. The wall is cream-colored, and the sky is clear blue. His shadow is cast on the wall."
# controlnet_conditioning_scale = 1.0

image = pipe(
    prompt=prompt,
    negative_prompt=" ",
    control_image=control_image,
    controlnet_conditioning_scale=controlnet_conditioning_scale,
    width=control_image.size[0],
    height=control_image.size[1],
    num_inference_steps=30,
    true_cfg_scale=4.0,
    generator=torch.Generator(device="cuda").manual_seed(42),
).images[0]
image.save(f"qwenimage_cn_union_result.png")

Inference Setting#

You can adjust control strength via controlnet_conditioning_scale.

  • Canny: use cv2.Canny, set controlnet_conditioning_scale in [0.8, 1.0]
  • Soft Edge: use AnylineDetector, set controlnet_conditioning_scale in [0.8, 1.0]
  • Depth: use depth-anything, set controlnet_conditioning_scale in [0.8, 1.0]
  • Pose: use DWPose, set controlnet_conditioning_scale in [0.8, 1.0]

We strongly recommend using detailed prompts, especially when include text elements. For example, use "a poster with text 'InstantX Team' on the top" instead of "a poster".

For multiple conditions inference, please refer to PR.

ComfyUI Support#

ComfyUI offers native support for Qwen-Image-ControlNet-Union. Check the blog for more details.

Community Support#

Liblib AI offers native support for Qwen-Image-ControlNet-Union. Visit for online inference.

Limitations#

We find that the model was unable to preserve some details without explicit 'TEXT' in prompt, such as small font text.

Acknowledgements#

This model is developed by InstantX Team. All copyright reserved.

Files

18 files · 3.54 GBWeights 3.54 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 18 files with their sha256
FileSizesha256
.gitattributes2.06 KBe0c776590d67bb126182fdfff547a40e95248f366db94a483e77aa02ded9c275
README.md5.79 KB8ded521e30430cdce4a352fdedb5fc4c820018fba3f80371d8c8f7bf0053adc0
conds/canny.png448 KBc8f0168865a916ef424d8e789c793a937b7151dc50507849ce2070be7d76af31
conds/canny1.png278 KB800790ae2e890e99b75dc1fc0a05142d22dbcdd9a961d2bc15222a4356683723
conds/depth.png106 KB6e2ba1022bb71d026c764b12e7d6c67a233cfa4c6836616f618a878764fe7a7c
conds/pose.png115 KB585655c8125080884533706e673eb461847b496e63281bb42cf7cadc981efd9a
conds/soft_edge.png931 KB7284a174a077cffe621c8f7f7f6804c42970a93104362f00825be83759b106b2
config.json491 B6d80a5e2ab3abeb773b06f917b54a72f60c35ce91091f59f79243fb0f5d3d4bd
controlnet_qwenimage.py15.8 KBfe2ed4625656a44099bf40a3eaf713315193aa1f0a6855b49b22de269430fa57
diffusion_pytorch_model.safetensors3.54 GBd51dca0073366a675108d5b83c3b7ef941cf2214c9a1c95c23f1e9a228ddbdb0
infer_qwenimage_cn_union.py3.21 KB006a69e041214df6aad6d7324c25ee488acfc0b49e176a81479e356b59ba70de
outputs/canny.png1.48 MB2fba6c4c8e46e71522131143bcafde63051a42227911cdaa07f11dbbbbb0909e
outputs/canny1.png1.48 MBc539416d81cd56cf1dc89379b1b5df9ac429bd7caef64a9b108fc7ff985c1bcf
outputs/depth.png1.15 MB7c005debe099d0ca8eefbb68722d63adde6fb0e59389c3690aadcbcc907bcc47
outputs/pose.png1.47 MBcee32df5af18e0b9f42b51ae6f4fd430895b74519dc705c4dcac7fbfc1316c60
outputs/soft_edge.png1.15 MB91ea097cbc03684655caf131b40252455370a597433591db62b9076c725d4990
pipeline_qwenimage_controlnet.py40.8 KB5efcae251cdf5e33628d98137bd9d8eff80cc7827880b93a4a452ef5182ec09a
transformer_qwenimage.py27.4 KB8e46ce8ae6d79b34c1bdf1444ba96b1f5429bf7e637c5e74c16b8162f5ef7575
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
b13036f066 pinned now2026-11-15 02:39 UTC18 files · 3.54 GB

Use it

$ fw get InstantX/Qwen-Image-ControlNet-Union
# manifest sha256 6cb6ed31ec59… · 3.54 GB · 18 files
$ fw verify ./Qwen-Image-ControlNet-Union InstantX/Qwen-Image-ControlNet-Union
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/InstantX/Qwen-Image-ControlNet-Union.json --dir ./Qwen-Image-ControlNet-Union $ python3 fw.py verify ./Qwen-Image-ControlNet-Union ./InstantX__Qwen-Image-ControlNet-Union.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download InstantX/Qwen-Image-ControlNet-Union --revision b13036f066d6dee7c20513e263d3d673055e9de8 --local-dir ./Qwen-Image-ControlNet-Union
Packaged for ComfyUI. Most image, video and music models run in ComfyUI . Check the publisher's page for the workflow. Freeweights does not host it.

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
8ded521e30430cdce4a352fdedb5fc4c820018fba3f80371d8c8f7bf0053adc0
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: InstantX <huggingface.co/InstantX>Newsgroups: alt.freeweights.qwenSubject: Qwen-Image-ControlNet-UnionDate: 2026-11-15Commit: b13036fSigned: 2DC28CC7B26A283B ✓
Upstream
InstantX/Qwen-Image-ControlNet-Union
Pinned commit
b13036f066d6dee7c20513e263d3d673055e9de8
Manifest
Qwen-Image-ControlNet-Union.json · .minisig
Manifest sha256
6cb6ed31ec592d57474b79801f91a50681353ae89e537d9646e986af02f2def1
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 02:39 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/InstantX/Qwen-Image-ControlNet-Union.json $ curl -O https://freeweights.allternit.com/manifests/InstantX/Qwen-Image-ControlNet-Union.json.minisig $ minisign -Vm Qwen-Image-ControlNet-Union.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

Qwen/Qwen-Image · this model is a finetune of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download InstantX/Qwen-Image-ControlNet-Union
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Qwen-Image-ControlNet-Union.json. Provenance. Takedown history: none.
From: BAAI <huggingface.co/BAAI>Subject: Aquila-VL-2B-llava-qwen
From: Perciqa <huggingface.co/Perciqa>Subject: Aurora-Code-1
From: BAAI <huggingface.co/BAAI>Subject: bge-reasoner-embed-qwen3-8b-0923
From: amazon <huggingface.co/amazon>Subject: BMOJOF-primed-HQwen3-8B-Instruct
From: nbeerbower <huggingface.co/nbeerbower>Subject: Bubba-Qwen3.6-27B-LoRA
From: bartowski <huggingface.co/bartowski>Subject: bytkim_Qwen3.8-27B-pi-GGUF