{"id":"fbf38818-3ab9-491a-b2a4-831fe58bb2a7","revision":0,"last_node_id":14,"last_link_id":6,"nodes":[{"id":1,"type":"MarkdownNote","pos":[-470,-10],"size":[430,255],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[],"title":"Start here","properties":{},"widgets_values":["## ComfyUI Nodes Explained: Models\n\n**Practice workflow.** Do the tasks in order (Task 5 is optional). Each task note says what to do, and how you know it worked.\n\nThe **Finished** workflow shows the answer. Both are on the page for this video:\nhttps://workflows.pixaroma.com/comfyui-nodes-explained/1/\n\n**The 3 model files (Z-Image Turbo, free, no account needed):**\n\n- [z_image_turbo_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/diffusion_models/z_image_turbo_int8_convrot.safetensors) (6.2 GB)\n  goes in **ComfyUI/models/diffusion_models/z-image**\n- [qwen_3_4b_fp8_mixed.safetensors](https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/text_encoders/qwen_3_4b_fp8_mixed.safetensors) (5.6 GB)\n  goes in **ComfyUI/models/text_encoders**\n- [ae.safetensors](https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/vae/ae.safetensors) (0.3 GB)\n  goes in **ComfyUI/models/vae**\n\nAfter you add files while ComfyUI is open, click an empty spot on the canvas and press **R**, so the lists refresh."],"widgets_values_named":{"text":"## ComfyUI Nodes Explained: Models\n\n**Practice workflow.** Do the tasks in order (Task 5 is optional). Each task note says what to do, and how you know it worked.\n\nThe **Finished** workflow shows the answer. Both are on the page for this video:\nhttps://workflows.pixaroma.com/comfyui-nodes-explained/1/\n\n**The 3 model files (Z-Image Turbo, free, no account needed):**\n\n- [z_image_turbo_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/diffusion_models/z_image_turbo_int8_convrot.safetensors) (6.2 GB)\n  goes in **ComfyUI/models/diffusion_models/z-image**\n- [qwen_3_4b_fp8_mixed.safetensors](https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/text_encoders/qwen_3_4b_fp8_mixed.safetensors) (5.6 GB)\n  goes in **ComfyUI/models/text_encoders**\n- [ae.safetensors](https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/vae/ae.safetensors) (0.3 GB)\n  goes in **ComfyUI/models/vae**\n\nAfter you add files while ComfyUI is open, click an empty spot on the canvas and press **R**, so the lists refresh."},"color":"#432","bgcolor":"#653"},{"id":2,"type":"MarkdownNote","pos":[-470,305],"size":[430,105],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[],"title":"Task 1 (Add): the painter","properties":{},"widgets_values":["Double-click inside the **Task 1 box**, search for **Load Diffusion Model**, and add it.\n\nPick the **z_image_turbo_int8_convrot** file, and connect its **MODEL** output to the **model** input of the **KSampler**.\n\n**You know it worked when** the KSampler's model input has a wire."],"widgets_values_named":{"text":"Double-click inside the **Task 1 box**, search for **Load Diffusion Model**, and add it.\n\nPick the **z_image_turbo_int8_convrot** file, and connect its **MODEL** output to the **model** input of the **KSampler**.\n\n**You know it worked when** the KSampler's model input has a wire."},"color":"#232","bgcolor":"#353"},{"id":3,"type":"MarkdownNote","pos":[-470,470],"size":[430,93],"flags":{},"order":2,"mode":0,"inputs":[],"outputs":[],"title":"Task 2 (Connect): the translator","properties":{},"widgets_values":["In **Load CLIP**, set **type** to **lumina2**, the type for Z-Image.\n\nConnect its **CLIP** output to the **clip** input of **CLIP Text Encode (Prompt)**.\n\n**You know it worked when** the prompt node has a wire on clip."],"widgets_values_named":{"text":"In **Load CLIP**, set **type** to **lumina2**, the type for Z-Image.\n\nConnect its **CLIP** output to the **clip** input of **CLIP Text Encode (Prompt)**.\n\n**You know it worked when** the prompt node has a wire on clip."},"color":"#232","bgcolor":"#353"},{"id":4,"type":"MarkdownNote","pos":[-470,623],"size":[430,88],"flags":{},"order":3,"mode":0,"inputs":[],"outputs":[],"title":"Task 4 (Save): keep your work","properties":{},"widgets_values":["Press **Ctrl + S**, type a name like **My models practice**, and press **Enter**.\n\n**You know it worked when** your workflow shows in the **Workflows** panel on the left."],"widgets_values_named":{"text":"Press **Ctrl + S**, type a name like **My models practice**, and press **Enter**.\n\n**You know it worked when** your workflow shows in the **Workflows** panel on the left."},"color":"#232","bgcolor":"#353"},{"id":5,"type":"MarkdownNote","pos":[-470,771],"size":[430,131],"flags":{},"order":4,"mode":0,"inputs":[],"outputs":[],"title":"Task 5 (optional Experiment): one file","properties":{},"widgets_values":["Download the one file version (the link is on the page) into **ComfyUI/models/checkpoints**, and press **R**.\n\nAdd **Load Checkpoint**, pick that file, and connect its **MODEL**, **CLIP** and **VAE** outputs in place of the three loaders. Run with the same seed.\n\n**You know it worked when** you get the same panda, with small differences in the details."],"widgets_values_named":{"text":"Download the one file version (the link is on the page) into **ComfyUI/models/checkpoints**, and press **R**.\n\nAdd **Load Checkpoint**, pick that file, and connect its **MODEL**, **CLIP** and **VAE** outputs in place of the three loaders. Run with the same seed.\n\n**You know it worked when** you get the same panda, with small differences in the details."},"color":"#232","bgcolor":"#353"},{"id":6,"type":"CLIPLoader","pos":[0,540],"size":[270,106],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"clip_name","name":"clip_name","type":"COMBO","widget":{"name":"clip_name"},"link":null},{"localized_name":"type","name":"type","type":"COMBO","widget":{"name":"type"},"link":null},{"localized_name":"device","name":"device","shape":7,"type":"COMBO","widget":{"name":"device"},"link":null}],"outputs":[{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.42.1","Node name for S&R":"CLIPLoader","models":[{"name":"qwen_3_4b_fp8_mixed.safetensors","url":"https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/text_encoders/qwen_3_4b_fp8_mixed.safetensors","directory":"text_encoders"}]},"widgets_values":["qwen_3_4b_fp8_mixed.safetensors","stable_diffusion","default"],"widgets_values_named":{"clip_name":"qwen_3_4b_fp8_mixed.safetensors","type":"stable_diffusion","device":"default"},"color":"#223","bgcolor":"#335"},{"id":7,"type":"VAELoader","pos":[0,730],"size":[270,58],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"vae_name","name":"vae_name","type":"COMBO","widget":{"name":"vae_name"},"link":null}],"outputs":[{"localized_name":"VAE","name":"VAE","type":"VAE","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.42.1","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"],"widgets_values_named":{"vae_name":"ae.safetensors"},"color":"#223","bgcolor":"#335"},{"id":8,"type":"CLIPTextEncode","pos":[400,340],"size":[420,270],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":null},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[1,2]}],"properties":{"cnr_id":"comfy-core","ver":"0.42.1","Node name for S&R":"CLIPTextEncode"},"widgets_values":["A stylized 3D animated film still of a cute chubby panda painter in a cozy artist's studio. Its fur pattern is a giant panda's, but in orange and white: bright orange round ears, orange patches around its eyes, orange arms and legs, an orange band across its shoulders, and soft white fur everywhere else. It stands on its hind legs at a wooden easel, wearing a navy beret and a cream apron with a few paint stains. Its right paw holds a thin paintbrush touching the canvas, its left paw rests relaxed at its side. Beside the easel, a small wooden stool holds three open paint pots, orange, blue and yellow. Big shiny dark eyes, soft rounded shapes, fur made of fine soft strands. Warm afternoon sunlight comes from a tall window on camera-left, a beam of light with floating dust, shelves of paint jars behind. Medium shot at the panda's eye level, 50mm, the background softly blurred. A palette of warm orange, navy and cream."],"widgets_values_named":{"text":"A stylized 3D animated film still of a cute chubby panda painter in a cozy artist's studio. Its fur pattern is a giant panda's, but in orange and white: bright orange round ears, orange patches around its eyes, orange arms and legs, an orange band across its shoulders, and soft white fur everywhere else. It stands on its hind legs at a wooden easel, wearing a navy beret and a cream apron with a few paint stains. Its right paw holds a thin paintbrush touching the canvas, its left paw rests relaxed at its side. Beside the easel, a small wooden stool holds three open paint pots, orange, blue and yellow. Big shiny dark eyes, soft rounded shapes, fur made of fine soft strands. Warm afternoon sunlight comes from a tall window on camera-left, a beam of light with floating dust, shelves of paint jars behind. Medium shot at the panda's eye level, 50mm, the background softly blurred. A palette of warm orange, navy and cream."}},{"id":9,"type":"ConditioningZeroOut","pos":[400,670],"size":[270,46],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":2}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[3]}],"properties":{"cnr_id":"comfy-core","ver":"0.42.1","Node name for S&R":"ConditioningZeroOut"}},{"id":10,"type":"EmptySD3LatentImage","pos":[400,780],"size":[270,106],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[4]}],"properties":{"cnr_id":"comfy-core","ver":"0.42.1","Node name for S&R":"EmptySD3LatentImage"},"widgets_values":[1024,1024,1],"widgets_values_named":{"width":1024,"height":1024,"batch_size":1}},{"id":11,"type":"KSampler","pos":[860,340],"size":[320,262],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":null},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":1},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":3},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":4},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[5]}],"properties":{"cnr_id":"comfy-core","ver":"0.42.1","Node name for S&R":"KSampler"},"widgets_values":[2026,"fixed",8,1,"res_multistep","simple",1],"widgets_values_named":{"seed":2026,"control_after_generate":"fixed","steps":8,"cfg":1,"sampler_name":"res_multistep","scheduler":"simple","denoise":1}},{"id":12,"type":"VAEDecode","pos":[1220,340],"size":[210,46],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"samples","name":"samples","type":"LATENT","link":5},{"localized_name":"vae","name":"vae","type":"VAE","link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[6]}],"properties":{"cnr_id":"comfy-core","ver":"0.42.1","Node name for S&R":"VAEDecode"}},{"id":13,"type":"SaveImage","pos":[1220,440],"size":[520,600],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":6},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[{"localized_name":"images","name":"images","type":"IMAGE","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.42.1","Node name for S&R":"SaveImage"},"widgets_values":["Nodes Explained/Models"],"widgets_values_named":{"filename_prefix":"Nodes Explained/Models"}},{"id":14,"type":"MarkdownNote","pos":[1220,175],"size":[420,105],"flags":{},"order":13,"mode":0,"inputs":[],"outputs":[],"title":"Task 3 (Fix it): Run and read the error","properties":{},"widgets_values":["Press **Run**. ComfyUI stops with **Required input missing**: VAE Decode has no VAE.\n\nConnect the **VAE** output of **Load VAE** to the **vae** input of **VAE Decode**, and press **Run** again.\n\n**You know it worked when** the orange panda painter appears in Save Image."],"widgets_values_named":{"text":"Press **Run**. ComfyUI stops with **Required input missing**: VAE Decode has no VAE.\n\nConnect the **VAE** output of **Load VAE** to the **vae** input of **VAE Decode**, and press **Run** again.\n\n**You know it worked when** the orange panda painter appears in Save Image."},"color":"#232","bgcolor":"#353"}],"links":[[1,8,0,11,1,"CONDITIONING"],[2,8,0,9,0,"CONDITIONING"],[3,9,0,11,2,"CONDITIONING"],[4,10,0,11,3,"LATENT"],[5,11,0,12,0,"LATENT"],[6,12,0,13,0,"IMAGE"]],"groups":[{"id":1,"title":"Task 1: add it here","bounding":[0,300,340,150],"color":"#8A8","flags":{}}],"config":{},"extra":{"ds":{"scale":0.62,"offset":[520,60]}},"version":0.4}