name: z-image-turbo-controlnet
display_name: Z-Image-Turbo — ControlNet (Pose / Depth / Canny)
family: z-image
kind: controlnet
description: >-
  Z-Image-Turbo (Alibaba Tongyi, distilled S3-DiT) with a Fun-ControlNet-Union
  pass — condition generation on Pose, Depth, or Canny structure extracted from a
  reference image, in ~8-14 steps at cfg 1. Uses a Qwen text encoder (not CLIP/T5)
  and loads the ControlNet via ModelPatchLoader -> QwenImageDiffsynthControlnet.
  Single-purpose graph sliced from the z-image-turbo monolith (one pipeline, no
  group toggles), with seed-variance. Film-grain / laplacian-sharpen post-proc
  from comfyui-vrgamedevgirl is omitted — that pack's llama-cpp-python dep
  compiles from source on Windows and blocks Desktop startup past 300s (#1698).
vram: "<8GB"
workflow: workflow.json
skill: z-image-txt2img
launch_args: []
sources:
  model: https://huggingface.co/Comfy-Org/z_image_turbo
  mirror: https://huggingface.co/Aitrepreneur/FLX
  controlnet_aux: https://github.com/Fannovel16/comfyui_controlnet_aux
notes:
  - Run the generated installer from your ComfyUI root (folder with custom_nodes/
    and models/).
  - Sliced + un-bypassed from the monolith's "Z-IMAGE TURBO PSEUDO CONTROLNET".
  - Pose/Depth/Canny preprocessors come from comfyui_controlnet_aux; their
    preprocessor weights (depth_anything_v2_vitl.pth, yolox_l.onnx,
    dw-ll_ucoco_384_bs5.torchscript.pt) are auto-fetched at runtime.
  - The z-image VAE is saved as z-image-ae.safetensors (its weights differ from
    Flux's ae.safetensors despite the same size).
post_install:
  - Restart ComfyUI (or ComfyUI-Manager -> Install missing custom nodes for any
    node Python deps).
  - Load workflow.json.
