Qwen-Image-2.1 Uncensored on clore.ai: BF16

Qwen-Image-2.1 Uncensored BF16 на clore.ai AI models
Qwen-Image-2.1 Uncensored in BF16 on a rented clore.ai GPU: a picture from a text prompt, a photo edit, and a ComfyUI graph.

Qwen-Image-2.1 Uncensored in BF16 runs on a rented clore.ai GPU through ComfyUI. The diffusion file is a GGUF with no built-in refusal filter. Below are the three files from abenzerps/Qwen-Image-2.1-Uncensored-GGUF and the commands that install them on the ComfyUI image.

How to choose hardware for local image generation is covered in the article on local AI models. This page has one job: a picture from Qwen-Image-2.1 BF16 on a rented card. The weights use the Qwen Research License. The prompt stays on your side.

What this model is for

For an ordinary user this is a way to get a picture from a text description without sending the request to a public service. You write what should be in the image, and the model draws the frame on the rented GPU. People use it for a cover, an illustration, a poster draft, or a frame that needs readable text inside the picture: a title, a sign, a caption.

A second graph takes your own photos and builds a new frame from them. The person, clothes and pose stay from the first photo. The place or the object comes from the second. Uncensored in the name means these weights do not include the refusal filter that a public generator uses to stop some requests. The law does not change with the file: do not publish someone else’s face in an intimate scene, or any image of a minor.

What this build is good for:

  • The full BF16 file, not the smaller Q4_K_M. The model card calls the smaller file a size balance for a more modest card. On 32 GB, BF16 is the quality choice for this build.
  • Two ready ComfyUI graphs. The first draws a picture from text. The second edits your photo and accepts up to 16 images.
  • The prompt is computed on the rental while the container is running. It is not sent to a public chat.
  • A 32 GB card can be rented by the hour. You do not have to buy one for a single test.

Which files you need

The working set is three files. The sizes were taken from the Hugging Face response and matched stat on the machine after wget.

Diffusion and encoder together are about 31.8 GB. They do not fit in 32 GB of VRAM at the same time. Diffusion stays on the card, the encoder stays in system memory. The rental disk needs spare room: ComfyUI itself takes gigabytes. The weights are downloaded inside the clore.ai order.

Which GPU

The BF16 file is about 14.2 GB on disk, and sampling needs VRAM beyond that size. The card for this mode is an RTX 5090 with 32 GB, plus about 64 GB of RAM for the encoder. The model card suggests Q4_K_M as a size balance. For the highest quality on this card, use BF16.

Order on clore.ai

On the clore.ai marketplace switch the price to USD per hour and find one 32 GB card. Open Balance before you pay. If the balance is zero, Rent does not create an order. You can top up with CLORE, BTC or USD in the account.

In the rental dialog:

  1. Order type: On-Demand. Spot is cheaper, but the machine can be taken away in the middle of a download.
  2. Image: ComfyUI. On the first start the container installs git and pip, clones the repository into /workspace/ComfyUI, runs pip install -r requirements.txt and starts python3 main.py --listen 0.0.0.0 --port 8188. You do not type those commands.
  3. Ports: 22/tcp and 8188/http. The first is SSH. The second is the ComfyUI interface.
  4. Pay from the balance and confirm. The first start installs ComfyUI and brings the interface up on port 8188. Downloading the weights comes next and takes longer.

The address, the SSH port and the web interface link appear in My Orders. While the container is starting, the HTTP page can return an error. Wait until the port 8188 link opens ComfyUI, and only then connect over SSH.

A second start of the image is the Reboot button. It runs git clone into the existing /workspace/ComfyUI folder, the chain stops before main.py, and the interface does not come up. The weights are still inside that folder. The restart below leaves the container running.

The GGUF node and the weights

Stock ComfyUI does not open a GGUF file. Do not clone the ComfyUI image again. Add leejet/ComfyUI-GGUF under custom_nodes, then install the gguf package and protobuf. The node directory may already exist: in that case clone is skipped.

cd /workspace/ComfyUI/custom_nodes
if [ ! -d ComfyUI-GGUF ]; then
  git clone --depth 1 https://github.com/leejet/ComfyUI-GGUF.git
fi
cd /workspace/ComfyUI
python3 -m pip install --break-system-packages 'gguf>=0.13.0' protobuf

Download the weights into the model folders. wget with -c resumes a file from the break.

cd /workspace/ComfyUI
mkdir -p models/diffusion_models models/text_encoders models/vae
wget -c -O models/diffusion_models/qwen-image-2.1-UC-BF16.gguf https://huggingface.co/abenzerps/Qwen-Image-2.1-Uncensored-GGUF/resolve/main/qwen-image-2.1-UC-BF16.gguf
wget -c -O models/text_encoders/qwen3vl_8b_bf16.safetensors https://huggingface.co/abenzerps/Qwen-Image-2.1-Uncensored-GGUF/resolve/main/text_encoders/qwen3vl_8b_bf16.safetensors
wget -c -O models/vae/qwen_image_2.1_vae_bf16.safetensors https://huggingface.co/abenzerps/Qwen-Image-2.1-Uncensored-GGUF/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors

After wget the sizes must be 14230272800, 17534334616 and 675509688. A short file means the download broke: run the same wget again.

stat -c %s /workspace/ComfyUI/models/diffusion_models/qwen-image-2.1-UC-BF16.gguf
stat -c %s /workspace/ComfyUI/models/text_encoders/qwen3vl_8b_bf16.safetensors
stat -c %s /workspace/ComfyUI/models/vae/qwen_image_2.1_vae_bf16.safetensors

Restart the interface

The image starts the first python3 main.py before the gguf package is installed. That process does not pick up the node: the package appears in the system, and the interpreter that is already running does not see it. Stop that process and start ComfyUI again. The container stays up: SSH for the order is separate and is held by supervisord. Do not close the SSH session until the log shows the line about port 8188.

kill $(ps -eo pid=,cmd= | awk '/python3 main.py --listen 0.0.0.0 --port 8188/ && !/awk/ {print $1}')
cd /workspace/ComfyUI
nohup python3 main.py --listen 0.0.0.0 --port 8188 > /tmp/comfy.log 2>&1 &
tail -n 30 /tmp/comfy.log

If the node menu already has Unet Loader (GGUF) and the list contains qwen-image-2.1-UC-BF16.gguf, do not stop the process again. Do not start a second main.py while port 8188 is taken: the address is already in use. The message No module named filelock means the image’s first start has not finished its own pip yet. Wait until port 8188 opens and continue with the commands above.

How to load the graph

The ready graph is qwen-image-2-1-bf16.json. Download it and drop it on the ComfyUI canvas. The file places the nodes on the current tab.

Change the prompt in the Text Encode Qwen Image 2.1 node, in the prompt field. The same field is on the right when the node is selected. Then press Run.

The file already contains a check: a red bicycle on wet cobblestones, morning light, a 1024 by 1024 picture. The graph has these nodes:

  • Unet Loader (GGUF). File qwen-image-2.1-UC-BF16.gguf.
  • Load CLIP. File qwen3vl_8b_bf16.safetensors, type qwen_image, device cpu. The encoder stays in RAM.
  • Load VAE. File qwen_image_2.1_vae_bf16.safetensors. It is connected to the text node and to VAE Decode.
  • Text Encode Qwen Image 2.1. The prompt field, the negative prompt and resolution 1024. The latent for the sampler comes out of this node.
  • KSampler. 25 steps, cfg 4, euler, scheduler simple, seed 42. After you press Run, ComfyUI takes the next seed itself.
  • After that come VAE Decode and Save Image. The file name starts with qwen-first.

Edit a photo or use several photos

The same weights can edit a picture and build a new one from several photos. The second file is qwen-image-2-1-edit.json. Drop it on the canvas the same way as the text graph.

In Photo 1 and Photo 2 press choose file and upload your pictures. While example.png is there, a run has nothing to encode. To edit a single photo, disconnect Photo 2 and keep only <image1> in the prompt.

  • Photo 1. The first photo, <image1> in the prompt. Its proportions set the frame.
  • Photo 2. The second photo, <image2>: a place, an object, or a second person.
  • image_3. A free input on the text node. For a third picture add Load Image and connect it here. Continue the same way, up to 16 photos. Each new one is named <image4>, <image5> and so on in the prompt.
  • Text node. The prompt field. The file already says: keep the person, clothes and pose from <image1> and take the place or the object from <image2>.
  • resolution 0. The result sides follow the first photo and snap to 32 pixels.
  • KSampler. 25 steps, cfg 1, euler, scheduler simple.

An On-Demand order is billed while the container is alive. After your checks, stop it in My Orders. The weights disappear with the container disk.

Common questions

How much memory does Qwen-Image-2.1 BF16 need?

The diffusion file is 14,230,272,800 bytes, the encoder is 17,534,334,616 bytes, and the VAE is 675,509,688 bytes. Keep diffusion on a 32 GB GPU. Leave the encoder in RAM: together they do not fit in 32 GB, and the text is encoded once.

Why does this article use BF16?

The model card calls Q4_K_M a balance of size and quality. On an RTX 5090 with 32 GB, the quality file for this build is qwen-image-2.1-UC-BF16.gguf.

How do I know the GGUF node loaded?

After the restart the node menu has Unet Loader (GGUF), and its list contains qwen-image-2.1-UC-BF16.gguf. Until the gguf package is installed, ComfyUI writes in the log that the module was not found, and the menu item is absent.

Why does a clore.ai rental not start?

Most often the balance is empty, or the free 32 GB card is already taken. Top up Balance and choose On-Demand if the download must not be interrupted.

What is this model for?

It draws a picture from a text description, and a second graph edits your own photo. The request is computed on the rented card and is not sent to a public chat. The file has no refusal filter of the kind a public generator uses to stop some requests.

Categories: AI models Apps & services
Subscribe to new posts (RSS)

No email, no trackers — just the update feed.

Also available in Russian

Rate this article
Leave a comment