Files
serverAppConfigs/serverAppConfigs-docs/Dankclaw/ComfyUI Qwen-Image Workflows.md
T
Frank 55f87fcdce llm: retire the trio service names — fleet services renamed to frank-archon/frank-dragoon/frank-zealot
The 2026-10-09 wire aliases become the service names everywhere:
systemd units, serve scripts, env files and FRANK_* variables,
deploy-plan/deploy-remote service keys, container names, Prometheus
job names + alert rules, Grafana dashboard queries, bats seams,
runbook filenames, homepage/AGENTS lore, and historical prose.
Rollback tags renamed in lockstep. Residue in the tree: zero.
Retired frank-medium/small/npu names are history and stay.

Known casualty: scripts/patches/*.patch context lines were rewritten;
those retired-era vLLM-fork patches no longer apply byte-exact.
2026-10-10 17:03:14 -07:00

6.2 KiB
Raw Blame History

type, description, tags, timestamp
type description tags timestamp
howto Qwen-Image 2.1 workflows on Dankclaw: two proven txt2img workflows (art + legible text), the API recipe, and which models/LoRAs to add next.
dankclaw
comfyui
qwen-image
2026-10-05

ComfyUI Qwen-Image Workflows

Two ready-to-load text-to-image workflows for the Qwen-Image 2.1 payload already on Dankclaw, both proven end-to-end on 2026-10-05 by POSTing to the live API on port 8188 and verifying the rendered PNG. The repo copies are the source of truth; the host copies under /home/dank/comfyui-data/workflows/ are for convenience.

What is on disk

Path (under /home/dank/comfyui-data/models/) Size Role
diffusion_models/qwen_image_2.1_int8_convrot.safetensors 6.8 GB The one the workflows use — int8-convrot quant, ComfyUI-core native
diffusion_models/qwen_image_2.1_bf16.safetensors 14 GB Full-precision fallback
diffusion_models/qwen-image-2.1-Q8_0.gguf (+ -arch) 7.1 GB GGUF alternative (needs ComfyUI-GGUF custom node)
text_encoders/qwen3vl_8b_w4a8.safetensors 5.9 GB The one the workflows use — 4-bit-weights/8-bit-act Qwen3-VL 8B encoder
text_encoders/qwen3vl_8b_int8_convrot.safetensors 8.8 GB Mid quant
text_encoders/qwen3vl_8b_bf16.safetensors 17 GB Full precision
vae/qwen_image_2.1_vae_bf16.safetensors 645 MB 2.1 VAE (used)
vae/qwen_image_vae.safetensors 243 MB Smaller VAE

No LoRAs are on disk yet — see Recommended additions.

The workflows

Both are API-format JSON (ComfyUI 0.37 loads them via the UI's Load dialog too): dankclaw/comfyui/workflows/ in the repo, /home/dank/comfyui-data/workflows/ on the host. Node chain in both:

UNETLoader (int8_convrot) ──┐
CLIPLoader (qwen_image, w4a8) ─┤ CLIPTextEncode pos/neg
VAELoader (2.1 bf16) ────────┤
EmptySD3LatentImage ─────────┴─ KSampler ─ VAEDecode ─ SaveImage

Common sampler settings: cfg 1.0 (Qwen-Image 2.1 expects CFG-free sampling), euler + simple, seed fixed in the file.

Workflow File Shape Steps Made for
Art qwen-image-2.1-t2i-art.json 1024×1024 20 General illustration/prose prompts
Legible text qwen-image-2.1-t2i-legible-text.json 832×1216 25 Posters, captions, any in-image text

Legible-text prompt recipe

Qwen-Image 2.1 is one of the best open-weight text renderers, but only if the prompt is written for it:

  1. Quote the exact strings: large bold white text reading "SOLIDARITY OF THE SOVIET COMPUTER SYSTEMS" — quoted text is rendered literally.
  2. Describe layout, not vibes: say centered / below it / large vs small, the typeface family (sans-serif), and the color.
  3. Say what NOT to draw: end with no other words, no watermark.
  4. Keep the negative side on misspelled, warped letters, extra text (already in the workflow).
  5. More steps help text: the text workflow uses 25 vs 20.

Verified render: SOLIDARITY OF THE SOVIET COMPUTER SYSTEMS + DANKCLAW DANKSERVER EST 2026 came back crisp and correctly spelled at 832×1216 (qwen21-text_00001_.png, 953 KB). One caveat from the same render: a shorter secondary line is where misspellings creep in — proofread the first render before shipping.

Driving it from the API

ComfyUI 0.37 requires the graph wrapped in a prompt key — a bare {node-id: node} body gets {"error": {"type": "no_prompt"}} (verified 2026-10-05):

curl -s -X POST http://127.0.0.1:8188/prompt -H 'Content-Type: application/json' \
  -d "$(python3 -c 'import json;print(json.dumps({"prompt": json.load(open("dankclaw/comfyui/workflows/qwen-image-2.1-t2i-art.json"))}))')"
# -> {"prompt_id": "...", ...}
curl -s http://127.0.0.1:8188/history/<prompt_id>   # status.status_str == "success"

Outputs land in /home/dank/comfyui-data/output/. The queue is FIFO — the two workflows above ran back-to-back unattended.

Note: the container's UI-saved workflows live in the ephemeral /opt/ComfyUI/user layer and do NOT survive an image rebuild — hence the host-side workflows/ dir and the repo copy.

Quantized preferred, sized for the 8060S iGPU (GTT-backed; the RTX 3090 is frank-zealot's). All repos verified 2026-10-05. None are on disk yet.

# What Repo Grab Size Why
1 Lightning 8-step LoRA (T2I speed) lightx2v/Qwen-Image-Lightning qwen_image_lightning_8steps_*.safetensors (LoRA) ~1–2 GB 20 steps → 8 with a LoraLoader node; 2–3× faster renders on the iGPU, negligible quality loss
2 Qwen-Image-Edit-2511 GGUF (image editing) unsloth/Qwen-Image-Edit-2511-GGUF Q4_K_M (~13.2 GB) or Q4_0 (~11.9 GB) ~12–13 GB Unlocks img2img "edit this photo" workflows — a capability class the fleet has zero of; Q4 keeps it iGPU-friendly
3 DiffSynth ControlNets (structure control) Comfy-Org/Qwen-Image-DiffSynth-ControlNets split_files/model_patches/ canny + depth ~2–3 GB each Pose/edge/depth-guided layouts — pairs with the legible-text workflow for exact poster composition. The QwenImageDiffsynthControlnet node is already in the running ComfyUI
4 Wan 2.2 TI2V-5B GGUF (first video model) QuantStack/Wan2.2-TI2V-5B-GGUF Q4/Q5 GGUF (~6–8 GB) ~6–8 GB T2V+I2V in one dense 5B model; the gentlest on-ramp into video generation, runs in ComfyUI core (wan CLIP type is already in this build's loader enum)

Placement: #1 → models/lora/ (create it), #2 → models/diffusion_models/, #3 → models/controlnet/ (create it), #4 → models/diffusion_models/. Fetch with scripts/download-frank-*.sh discipline (-f + byte-count + sha256 checks) or a plain hf download with the token in the environment — never on the command line.

Skip list: the original city96/Qwen-Image-gguf conversions (superseded by the 2.1 files already on disk), and any BF16 of #2/#4 (the iGPU does not need them at GTT capacity, and they double the disk bill).

See Also