{ "last_node_id": 14, "last_link_id": 13, "nodes": [ { "id": 1, "type": "Note", "pos": [ 40, 60 ], "size": [ 320, 540 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [], "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "Z-Image quickstart \u2014 no account needed.\n1. Queue \u2014 the three Z-Image files download on first run.\n2. Change `subject` on StyleRef Apply and queue again (seeds randomize).\nSwap `style_ref` on StyleRef Load for any gallery slug.\n\nZ-Image Turbo (S3-DiT). Three model files download on first use: the UNET (diffusion_models/), the Qwen text encoder (text_encoders/), and the VAE (vae/).\nSampler defaults are turbo: 8 steps, CFG 1.0, euler/simple.\nZ-Image takes no negative prompt. The model runs without classifier-free guidance, so there is no negative encoder on this canvas \u2014 the sampler's negative input gets a zeroed conditioning. StyleRef still compiles the negative and previews it; put anything you need from it into `subject` on Apply as a positive phrase (\"fully clothed\", \"no text or watermark\"). Raising CFG does not bring the negative back.\nStyle prompts use the `diffusion` target \u2014 Z-Image reads the same tag-weighted output SDXL/SD1.5 use." ], "title": "Z-Image quickstart" }, { "id": 2, "type": "StyleRefLoad", "pos": [ 40, 648 ], "size": [ 320, 248 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "style", "type": "STYLEREF_STYLE", "links": [ 1 ], "slot_index": 0 }, { "name": "search_results", "type": "STRING", "links": [], "slot_index": 1 } ], "properties": { "Node name for S&R": "StyleRefLoad" }, "widgets_values": [ "sbdlwwly-66ae1a89efdc", "", "any", true, false ], "title": "Load \u2014 swap this slug" }, { "id": 3, "type": "UNETLoader", "pos": [ 40, 944 ], "size": [ 320, 140 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 6 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "UNETLoader", "models": [ { "name": "z_image_turbo_bf16.safetensors", "url": "https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/diffusion_models/z_image_turbo_bf16.safetensors", "directory": "diffusion_models" } ] }, "widgets_values": [ "z_image_turbo_bf16.safetensors", "default" ], "title": "Z-Image UNET" }, { "id": 4, "type": "CLIPLoader", "pos": [ 40, 1132 ], "size": [ 320, 168 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [ { "name": "CLIP", "type": "CLIP", "links": [ 5 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "CLIPLoader", "models": [ { "name": "qwen_3_4b.safetensors", "url": "https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/text_encoders/qwen_3_4b.safetensors", "directory": "text_encoders" } ] }, "widgets_values": [ "qwen_3_4b.safetensors", "lumina2", "default" ], "title": "Qwen text encoder" }, { "id": 5, "type": "VAELoader", "pos": [ 40, 1348 ], "size": [ 320, 112 ], "flags": {}, "order": 4, "mode": 0, "inputs": [], "outputs": [ { "name": "VAE", "type": "VAE", "links": [ 12 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "VAELoader", "models": [ { "name": "ae.safetensors", "url": "https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/vae/ae.safetensors", "directory": "vae" } ] }, "widgets_values": [ "ae.safetensors" ], "title": "Z-Image VAE" }, { "id": 6, "type": "StyleRefApply", "pos": [ 420, 60 ], "size": [ 320, 424 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "name": "style", "type": "STYLEREF_STYLE", "link": 1 } ], "outputs": [ { "name": "positive", "type": "STRING", "links": [ 2, 4 ], "slot_index": 0 }, { "name": "negative", "type": "STRING", "links": [ 3 ], "slot_index": 1 }, { "name": "attribution", "type": "STRING", "links": [], "slot_index": 2 } ], "properties": { "Node name for S&R": "StyleRefApply" }, "widgets_values": [ "two friends flipping through crates of vinyl in a record shop", "diffusion", "", false, "", true ] }, { "id": 7, "type": "PreviewAny", "pos": [ 420, 532 ], "size": [ 320, 84 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "source", "type": "*", "link": 2 } ], "outputs": [], "properties": { "Node name for S&R": "PreviewAny" }, "widgets_values": [], "title": "Compiled positive" }, { "id": 8, "type": "PreviewAny", "pos": [ 420, 664 ], "size": [ 320, 84 ], "flags": {}, "order": 7, "mode": 0, "inputs": [ { "name": "source", "type": "*", "link": 3 } ], "outputs": [], "properties": { "Node name for S&R": "PreviewAny" }, "widgets_values": [], "title": "Compiled negative" }, { "id": 9, "type": "CLIPTextEncode", "pos": [ 800, 60 ], "size": [ 320, 198 ], "flags": {}, "order": 8, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 5 }, { "name": "text", "type": "STRING", "link": 4 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 7, 8 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "" ], "title": "Positive (from StyleRef)" }, { "id": 10, "type": "ConditioningZeroOut", "pos": [ 800, 306 ], "size": [ 320, 84 ], "flags": {}, "order": 9, "mode": 0, "inputs": [ { "name": "conditioning", "type": "CONDITIONING", "link": 8 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 9 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "ConditioningZeroOut" }, "widgets_values": [], "title": "Z-Image has no negative" }, { "id": 11, "type": "EmptySD3LatentImage", "pos": [ 800, 438 ], "size": [ 320, 168 ], "flags": {}, "order": 10, "mode": 0, "inputs": [], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 10 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "EmptySD3LatentImage" }, "widgets_values": [ 1024, 1024, 1 ] }, { "id": 12, "type": "KSampler", "pos": [ 1180, 60 ], "size": [ 320, 352 ], "flags": {}, "order": 11, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 6 }, { "name": "positive", "type": "CONDITIONING", "link": 7 }, { "name": "negative", "type": "CONDITIONING", "link": 9 }, { "name": "latent_image", "type": "LATENT", "link": 10 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 11 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "KSampler" }, "widgets_values": [ 0, "randomize", 8, 1.0, "euler", "simple", 1.0 ] }, { "id": 13, "type": "VAEDecode", "pos": [ 1560, 60 ], "size": [ 320, 108 ], "flags": {}, "order": 12, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 11 }, { "name": "vae", "type": "VAE", "link": 12 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 13 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "VAEDecode" }, "widgets_values": [] }, { "id": 14, "type": "SaveImage", "pos": [ 1560, 216 ], "size": [ 320, 112 ], "flags": {}, "order": 13, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 13 } ], "outputs": [], "properties": { "Node name for S&R": "SaveImage" }, "widgets_values": [ "StyleRef" ] } ], "links": [ [ 1, 2, 0, 6, 0, "STYLEREF_STYLE" ], [ 2, 6, 0, 7, 0, "STRING" ], [ 3, 6, 1, 8, 0, "STRING" ], [ 4, 6, 0, 9, 1, "STRING" ], [ 5, 4, 0, 9, 0, "CLIP" ], [ 6, 3, 0, 12, 0, "MODEL" ], [ 7, 9, 0, 12, 1, "CONDITIONING" ], [ 8, 9, 0, 10, 0, "CONDITIONING" ], [ 9, 10, 0, 12, 2, "CONDITIONING" ], [ 10, 11, 0, 12, 3, "LATENT" ], [ 11, 12, 0, 13, 0, "LATENT" ], [ 12, 5, 0, 13, 1, "VAE" ], [ 13, 13, 0, 14, 0, "IMAGE" ] ], "groups": [], "config": {}, "extra": { "styleref": { "notes": "Generated by scripts/build_workflows.py \u2014 edit the script, not this file." } }, "version": 0.4, "models": [ { "name": "z_image_turbo_bf16.safetensors", "url": "https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/diffusion_models/z_image_turbo_bf16.safetensors", "directory": "diffusion_models" }, { "name": "qwen_3_4b.safetensors", "url": "https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/text_encoders/qwen_3_4b.safetensors", "directory": "text_encoders" }, { "name": "ae.safetensors", "url": "https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/vae/ae.safetensors", "directory": "vae" } ] }