feat(comfyui): switch to Qwen-Image 2.1 uncensored GGUF model

Replace the Comfy-Org FP8 safetensors split with abenzerps'
Qwen-Image-2.1-Uncensored-GGUF (Q4_K_M diffusion weights + int8 text
encoder + bf16 VAE). GGUF weights land in models/unet per
ComfyUI-GGUF's convention instead of models/diffusion_models.

Flagged as unconfirmed: whether yurisasc/comfyui-rocm7.1 already
bundles the ComfyUI-GGUF custom node needed for the "Unet Loader
(GGUF)" node — check on deploy and install manually if absent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
haylanandClaude Bot committed 2026-09-22 22:38:27 +02:00
1 parent edad6b2249
commit 4e310741c7
2 files changed
+42 -24

No files matched your search

+14 -8
View File
@@ -117,14 +117,20 @@ COMFYUI_PGID=
HOST_VIDEO_GID= HOST_VIDEO_GID=
HOST_RENDER_GID= HOST_RENDER_GID=
# --- ComfyUI diffusion model (Qwen-Image, FP8 — see docs/research/ # --- ComfyUI diffusion model (Qwen-Image 2.1, uncensored GGUF — see
# image-generation-model-choice.md and issue #42) --- # docs/research/image-generation-model-choice.md and issue #42) ---
# Three files: diffusion weights, text encoder, VAE — all from the official # Three files, all from abenzerps/Qwen-Image-2.1-Uncensored-GGUF on
# Comfy-Org FP8 split, chosen specifically because it's the only candidate # HuggingFace: GGUF diffusion weights, safetensors text encoder, safetensors
# with a ComfyUI workflow pre-validated on this exact GPU (gfx1201/R9700). # VAE. Q4_K_M is the repo's own recommended size/quality balance (~4.6GB);
COMFYUI_DIFFUSION_MODEL_FILE=qwen_image_fp8_e4m3fn.safetensors # the int8 text encoder trades some quality for ~8GB less RAM than bf16.
COMFYUI_TEXT_ENCODER_FILE=qwen_2.5_vl_7b_fp8_scaled.safetensors #
COMFYUI_VAE_FILE=qwen_image_vae.safetensors # Requires the ComfyUI-GGUF custom node (github.com/city96/ComfyUI-GGUF) —
# NOT confirmed bundled in yurisasc/comfyui-rocm7.1. If the comfyui
# container doesn't show a "Unet Loader (GGUF)" node, `git clone` it into
# the image's custom_nodes dir and reinstall its requirements.
COMFYUI_DIFFUSION_MODEL_FILE=qwen-image-2.1-UC-Q4_K_M.gguf
COMFYUI_TEXT_ENCODER_FILE=qwen3vl_8b_int8_convrot.safetensors
COMFYUI_VAE_FILE=qwen_image_2.1_vae_bf16.safetensors
# --- RAG databases (qdrant + neo4j, see wayfinder notes) --- # --- RAG databases (qdrant + neo4j, see wayfinder notes) ---
# No auth on qdrant (its default) — same trust boundary as llama-server: # No auth on qdrant (its default) — same trust boundary as llama-server:
+28 -16
View File
@@ -168,13 +168,19 @@ services:
curl -L --fail --create-dirs -o /models/${LLAMA_CLASSIFIER_MODEL_FILE:-Qwen3-4B-Instruct-2507-UD-Q4_K_XL.gguf} curl -L --fail --create-dirs -o /models/${LLAMA_CLASSIFIER_MODEL_FILE:-Qwen3-4B-Instruct-2507-UD-Q4_K_XL.gguf}
https://huggingface.co/unsloth/Qwen3-4B-Instruct-2507-GGUF/resolve/main/${LLAMA_CLASSIFIER_MODEL_FILE:-Qwen3-4B-Instruct-2507-UD-Q4_K_XL.gguf} https://huggingface.co/unsloth/Qwen3-4B-Instruct-2507-GGUF/resolve/main/${LLAMA_CLASSIFIER_MODEL_FILE:-Qwen3-4B-Instruct-2507-UD-Q4_K_XL.gguf}
# Fetches the three Qwen-Image FP8 files ComfyUI needs (diffusion model, # Fetches the three Qwen-Image 2.1 (uncensored GGUF) files ComfyUI needs
# text encoder, VAE) — same test -f guard pattern as downloader above. # (diffusion model, text encoder, VAE) — same test -f guard pattern as
# See docs/research/image-generation-model-choice.md and issue #42. # downloader above. See docs/research/image-generation-model-choice.md and
# issue #42.
# #
# ponytail: target paths assume ComfyUI's standard models/ layout under # GGUF weights go in models/unet (ComfyUI-GGUF's own convention), not
# BASE_STORAGE_PATH (/storage) — same "not independently confirmed against # models/diffusion_models (that was the old FP8-safetensors layout) — see
# the image's Dockerfile" caveat already flagged on the comfyui service # github.com/city96/ComfyUI-GGUF. Text encoder/VAE stay safetensors, loaded
# by ComfyUI's normal CLIPLoader/VAELoader, so their folders are unchanged.
#
# ponytail: target paths otherwise assume ComfyUI's standard models/ layout
# under BASE_STORAGE_PATH (/storage) — same "not independently confirmed
# against the image's Dockerfile" caveat flagged on the comfyui service
# below. If ComfyUI doesn't pick these up, check its actual models root # below. If ComfyUI doesn't pick these up, check its actual models root
# first. # first.
downloader-comfyui: downloader-comfyui:
@@ -186,24 +192,30 @@ services:
entrypoint: ["sh", "-c"] entrypoint: ["sh", "-c"]
command: command:
- > - >
mkdir -p /storage/models/diffusion_models /storage/models/text_encoders /storage/models/vae && mkdir -p /storage/models/unet /storage/models/text_encoders /storage/models/vae &&
(test -f /storage/models/diffusion_models/${COMFYUI_DIFFUSION_MODEL_FILE:-qwen_image_fp8_e4m3fn.safetensors} && (test -f /storage/models/unet/${COMFYUI_DIFFUSION_MODEL_FILE:-qwen-image-2.1-UC-Q4_K_M.gguf} &&
echo "diffusion model already downloaded, skipping" || echo "diffusion model already downloaded, skipping" ||
curl -L --fail --create-dirs -o /storage/models/diffusion_models/${COMFYUI_DIFFUSION_MODEL_FILE:-qwen_image_fp8_e4m3fn.safetensors} curl -L --fail --create-dirs -o /storage/models/unet/${COMFYUI_DIFFUSION_MODEL_FILE:-qwen-image-2.1-UC-Q4_K_M.gguf}
https://huggingface.co/Comfy-Org/Qwen-Image_ComfyUI/resolve/main/split_files/diffusion_models/${COMFYUI_DIFFUSION_MODEL_FILE:-qwen_image_fp8_e4m3fn.safetensors}) && https://huggingface.co/abenzerps/Qwen-Image-2.1-Uncensored-GGUF/resolve/main/${COMFYUI_DIFFUSION_MODEL_FILE:-qwen-image-2.1-UC-Q4_K_M.gguf}) &&
(test -f /storage/models/text_encoders/${COMFYUI_TEXT_ENCODER_FILE:-qwen_2.5_vl_7b_fp8_scaled.safetensors} && (test -f /storage/models/text_encoders/${COMFYUI_TEXT_ENCODER_FILE:-qwen3vl_8b_int8_convrot.safetensors} &&
echo "text encoder already downloaded, skipping" || echo "text encoder already downloaded, skipping" ||
curl -L --fail --create-dirs -o /storage/models/text_encoders/${COMFYUI_TEXT_ENCODER_FILE:-qwen_2.5_vl_7b_fp8_scaled.safetensors} curl -L --fail --create-dirs -o /storage/models/text_encoders/${COMFYUI_TEXT_ENCODER_FILE:-qwen3vl_8b_int8_convrot.safetensors}
https://huggingface.co/Comfy-Org/Qwen-Image_ComfyUI/resolve/main/split_files/text_encoders/${COMFYUI_TEXT_ENCODER_FILE:-qwen_2.5_vl_7b_fp8_scaled.safetensors}) && https://huggingface.co/abenzerps/Qwen-Image-2.1-Uncensored-GGUF/resolve/main/${COMFYUI_TEXT_ENCODER_FILE:-qwen3vl_8b_int8_convrot.safetensors}) &&
(test -f /storage/models/vae/${COMFYUI_VAE_FILE:-qwen_image_vae.safetensors} && (test -f /storage/models/vae/${COMFYUI_VAE_FILE:-qwen_image_2.1_vae_bf16.safetensors} &&
echo "vae already downloaded, skipping" || echo "vae already downloaded, skipping" ||
curl -L --fail --create-dirs -o /storage/models/vae/${COMFYUI_VAE_FILE:-qwen_image_vae.safetensors} curl -L --fail --create-dirs -o /storage/models/vae/${COMFYUI_VAE_FILE:-qwen_image_2.1_vae_bf16.safetensors}
https://huggingface.co/Comfy-Org/Qwen-Image_ComfyUI/resolve/main/split_files/vae/${COMFYUI_VAE_FILE:-qwen_image_vae.safetensors}) https://huggingface.co/abenzerps/Qwen-Image-2.1-Uncensored-GGUF/resolve/main/${COMFYUI_VAE_FILE:-qwen_image_2.1_vae_bf16.safetensors})
# Local image generation — see issue #38 (wayfinder map). yurisasc's image # Local image generation — see issue #38 (wayfinder map). yurisasc's image
# is gfx1201-tuned specifically (R9700's arch), unlike the official/AMD # is gfx1201-tuned specifically (R9700's arch), unlike the official/AMD
# ComfyUI image which doesn't pin RDNA4 support — see # ComfyUI image which doesn't pin RDNA4 support — see
# docs/research/image-generation-options.md. # docs/research/image-generation-options.md.
#
# Model is Qwen-Image 2.1 GGUF (uncensored variant, see .env.example) —
# needs the ComfyUI-GGUF custom node (github.com/city96/ComfyUI-GGUF) for
# its "Unet Loader (GGUF)" node. Not confirmed pre-installed in this image;
# if missing, exec in and `git clone` it into custom_nodes, then pip
# install its requirements.txt and restart the container.
comfyui: comfyui:
image: yurisasc/comfyui-rocm7.1:latest image: yurisasc/comfyui-rocm7.1:latest
container_name: comfyui container_name: comfyui