diff --git a/README.md b/README.md index 589c9c4..2a5810e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ComfyUI-MultiGPU -## Experimental nodes for using multiple GPUs and offloading model components to the CPU in a single ComfyUI workflow +## Experimental nodes for using multiple GPUs as well as offloading model components to the CPU in a single ComfyUI workflow This extension adds device selection capabilities to model loading nodes in ComfyUI. It monkey patches the memory management of ComfyUI in a hacky way and is neither a comprehensive solution is nor is it well-tested on any edge-case CUDA/CPU solutions. **Use at your own risk.** @@ -56,17 +56,22 @@ This workflow loads a FLUX.1-dev model and splits its components across two GPUs ### Split FLUX.1-dev between the CPU and a single GPU - [examples/flux1dev_cpu_1gpu_GGUF.json](https://github.com/pollockjj/ComfyUI-MultiGPU/blob/main/examples/flux1dev_cpu_1gpu_GGUF.json) -This workflow demonstrates splitting a quantized, GGUF FLUX.1-dev model between a CPU and a single GPU. The UNet model is loaded on the GPU, while the VAE and text encoders are handled by the CPU. +This workflow demonstrates splitting a quantized, GGUF FLUX.1-dev model between a CPU and a single GPU. The UNet model is loaded on the GPU, while the VAE and text encoders are handled by the CPU. Requires [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF). ### Using GGUF quantized models across GPUs - [examples/flux1dev_2gpu_GGUF.json](https://github.com/pollockjj/ComfyUI-MultiGPU/blob/main/examples/flux1dev_2gpu_GGUF.json) -This workflow demonstrates using quantized GGUF models split across multiple GPUs for reduced VRAM usage with the UNet on GPU 1, VAE and text encoders on GPU 0. +This workflow demonstrates using quantized GGUF models split across multiple GPUs for reduced VRAM usage with the UNet on GPU 1, VAE and text encoders on GPU 0. Requires [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF). + +### Using GGUF quantized models across a CPU and a single GPU for video generation + +- [examples/hunyuan_cpu_1gpu_GGUF.json](https://github.com/pollockjj/ComfyUI-MultiGPU/blob/main/examples/hunyuan_cpu_1gpu_GGUF.json) +This workflow demonstrates using quantized GGUF models for Hunyan Video split across the CPU and one GPU. In this instance, a quantized video model's UNet and VAE are on GPU 0, whereas a split of one standard and one GGUF model text encoder are on the CPU. Requires [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF). ### Using GGUF quantized models across GPUs for video generation - [examples/hunyuan_2gpu_GGUF.json](https://github.com/pollockjj/ComfyUI-MultiGPU/blob/main/examples/hunyuan_2gpu_GGUF.json) -This workflow demonstrates using quantized GGUF models for Hunyan Video split across multiple GPUs with the FastVideo LoRA. In this instance, the video model is on GPU 0 whereas the VAE and text encoders are on GPU 1. +This workflow demonstrates using quantized GGUF models for Hunyan Video split across multiple GPUs. In this instance, a quantized video model's UNet is on GPU 0 whereas the VAE and text encoders are on GPU 1. Requires [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF). ### Loading two SDXL checkpoints on different GPUs @@ -78,20 +83,16 @@ This workflow loads two SDXL checkpoints on two different GPUs. The first checkp - [examples/flux1dev_sdxl_2gpu.json](https://github.com/pollockjj/ComfyUI-MultiGPU/blob/main/examples/flux1dev_sdxl_2gpu.json) This workflow loads a FLUX.1-dev model and an SDXL model in the same workflow. The FLUX.1-dev model has its UNet on GPU 1 with VAE and text encoders on GPU 0, while the SDXL model uses separate allocations on GPU 0. -### EXPERIMENTAL - USE AT YOUR OWN RISK +### Image to Prompt to Image to Video Generation Pipeline -These workflows combine multiple features and non-core loaders types and, as provided, require significant VRAM to execute. They are provided as examples of what's possible but may require adjustment for your specific setup. - -#### Image to Prompt to Image to Video Generation Pipeline - -- [examples/florence2_flux1dev_ltxv_cpu_2gpu_GGUF.json](https://github.com/pollockjj/ComfyUI-MultiGPU/blob/main/examples/florence2_flux1dev_ltxv_cpu_2gpu_GGUF.json) +- [examples/florence2_flux1dev_ltxv_cpu_2gpu.json](https://github.com/pollockjj/ComfyUI-MultiGPU/blob/main/examples/florence2_flux1dev_ltxv_cpu_2gpu.json) This workflow creates an img2txt2img2vid video generation pipeline by: 1. Loading the Florence2 model on the CPU and providing a starting image for analysis and generating a text response 2. Loading FLUX.1 Dev UNET on GPU 1, with CLIP and VAE on the CPU and generating an image using the Florence2 text as a prompt 3. Loading the LTX Video UNet and VAE on GPU 2, and LTX-encoded CLIP on the CPU, and taking the resulting FLUX.1 image and provide it as the starting image for an LTX Video image-to-video generation 4. Generate a 5 second video based on the provided image -All models are distributed across available the available CPU and GPUs with no model reloading on dual 3090s +All models are distributed across available the available CPU and GPUs with no model reloading on dual 3090s. Requires [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF) and [ComfyUI-LTXVideo](https://github.com/Lightricks/ComfyUI-LTXVideo) #### LLM-Guided Video Generation @@ -100,7 +101,7 @@ This workflow demonstrates: 1. Using a local LLM (loaded on first GPU via llama.cpp) to take a text suggestion and craft an LTX Video promot 2. Feeding the enhanced prompt to LTXVideo (loaded on second GPU) for video generation -Requires appropriate LLM and LTXVideo models. +Requires appropriate LLM. Requires [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF). ## Support diff --git a/examples/florence2_flux1dev_ltxv_cpu_2gpu_GGUF.json b/examples/florence2_flux1dev_ltxv_cpu_2gpu.json similarity index 84% rename from examples/florence2_flux1dev_ltxv_cpu_2gpu_GGUF.json rename to examples/florence2_flux1dev_ltxv_cpu_2gpu.json index 1cc1ade..2ebd9f7 100644 --- a/examples/florence2_flux1dev_ltxv_cpu_2gpu_GGUF.json +++ b/examples/florence2_flux1dev_ltxv_cpu_2gpu.json @@ -1,74 +1,20 @@ { - "last_node_id": 299, - "last_link_id": 764, + "last_node_id": 302, + "last_link_id": 770, "nodes": [ - { - "id": 292, - "type": "EmptySD3LatentImage", - "pos": [ - -22.008676528930664, - -189.59402465820312 - ], - "size": [ - 210, - 78 - ], - "flags": {}, - "order": 26, - "mode": 0, - "inputs": [ - { - "name": "width", - "type": "INT", - "link": 749, - "widget": { - "name": "width" - } - }, - { - "name": "height", - "type": "INT", - "link": 750, - "widget": { - "name": "height" - } - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 752 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "EmptySD3LatentImage" - }, - "widgets_values": [ - 1024, - 1024, - 1 - ], - "color": "#222", - "bgcolor": "#000" - }, { "id": 291, "type": "ImageResizeKJ", "pos": [ - -88.79277038574219, - -496.191162109375 + 383.1074523925781, + -548.6244506835938 ], "size": [ 210, 238 ], "flags": {}, - "order": 22, + "order": 18, "mode": 0, "inputs": [ { @@ -139,92 +85,12 @@ "center" ] }, - { - "id": 287, - "type": "Florence2Run", - "pos": [ - -91.83244323730469, - -902.57275390625 - ], - "size": [ - 282.5164489746094, - 352 - ], - "flags": { - "collapsed": false - }, - "order": 21, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 744 - }, - { - "name": "florence2_model", - "type": "FL2MODEL", - "link": 742, - "slot_index": 1 - } - ], - "outputs": [ - { - "name": "image", - "type": "IMAGE", - "links": [], - "slot_index": 0, - "shape": 3 - }, - { - "name": "mask", - "type": "MASK", - "links": [], - "slot_index": 1, - "shape": 3 - }, - { - "name": "caption", - "type": "STRING", - "links": [ - 743 - ], - "slot_index": 2, - "shape": 3 - }, - { - "name": "data", - "type": "JSON", - "links": null, - "slot_index": 3, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "Florence2Run" - }, - "widgets_values": [ - "", - "more_detailed_caption", - false, - true, - 2048, - 3, - true, - "", - 291793004967586, - "randomize" - ], - "color": "#ff9414", - "bgcolor": "#ff8000", - "shape": 1 - }, { "id": 286, "type": "DownloadAndLoadFlorence2ModelMultiGPU", "pos": [ - -471.8634033203125, - -911.6864013671875 + 0.036769963800907135, + -964.1196899414062 ], "size": [ 335.5765075683594, @@ -264,100 +130,106 @@ "bgcolor": "#ff8000" }, { - "id": 234, - "type": "DF_Text_Box", + "id": 287, + "type": "Florence2Run", "pos": [ - 231.62843322753906, - -808.2905883789062 + 380.0677795410156, + -955.0060424804688 ], "size": [ - 290.1402587890625, - 741.1693725585938 + 282.5164489746094, + 352 ], - "flags": {}, - "order": 1, + "flags": { + "collapsed": false + }, + "order": 17, "mode": 0, - "inputs": [], - "outputs": [ + "inputs": [ { - "name": "STRING", - "type": "STRING", - "links": [ - 553 - ], - "slot_index": 0 + "name": "image", + "type": "IMAGE", + "link": 744 + }, + { + "name": "florence2_model", + "type": "FL2MODEL", + "link": 742, + "slot_index": 1 } ], - "title": "text2img2vid", - "properties": { - "Node name for S&R": "DF_Text_Box" - }, - "widgets_values": [ - "A luxurious, deep emerald green velvet couch, ornately tufted with large buttons. It sits in a warmly lit living room decorated for Christmas, with a roaring fire in the fireplace behind it. Soft, golden fairy lights are draped across the mantelpiece and twinkle against the dark wood. A plush, red throw blanket is casually draped over one arm of the couch, and a stack of brightly wrapped presents sits on the floor in front of it. A sprig of holly rests on the top present. The overall atmosphere is cozy and inviting, suggesting a comfortable Christmas Eve gathering. Render in a photorealistic style with cinematic lighting." - ], - "color": "#232", - "bgcolor": "#353" - }, - { - "id": 113, - "type": "DualCLIPLoaderMultiGPU", - "pos": [ - 753.9742431640625, - -912.5949096679688 - ], - "size": [ - 315, - 130 - ], - "flags": {}, - "order": 2, - "mode": 0, - "inputs": [], "outputs": [ { - "name": "CLIP", - "type": "CLIP", - "links": [ - 711 - ], + "name": "image", + "type": "IMAGE", + "links": [], "slot_index": 0, "shape": 3 + }, + { + "name": "mask", + "type": "MASK", + "links": [], + "slot_index": 1, + "shape": 3 + }, + { + "name": "caption", + "type": "STRING", + "links": [ + 767, + 768, + 769 + ], + "slot_index": 2, + "shape": 3 + }, + { + "name": "data", + "type": "JSON", + "links": null, + "slot_index": 3, + "shape": 3 } ], "properties": { - "Node name for S&R": "DualCLIPLoaderMultiGPU" + "Node name for S&R": "Florence2Run" }, "widgets_values": [ - "t5xxl_fp16.safetensors", - "clip_l.safetensors", - "flux", - "cpu" - ] + "", + "more_detailed_caption", + false, + true, + 2048, + 3, + true, + "", + 5770521, + "fixed" + ], + "color": "#ff9414", + "bgcolor": "#ff8000", + "shape": 1 }, { - "id": 6, - "type": "CLIPTextEncode", + "id": 299, + "type": "ShowText|pysssss", "pos": [ - 1117.41064453125, - -905.1988525390625 + 1727.4791259765625, + -777.7683715820312 ], "size": [ - 285.6000061035156, - 54 + 312.02349853515625, + 171.37887573242188 ], "flags": {}, - "order": 28, + "order": 30, "mode": 0, "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 711 - }, { "name": "text", "type": "STRING", - "link": 677, + "link": 763, "widget": { "name": "text" } @@ -365,368 +237,105 @@ ], "outputs": [ { - "name": "CONDITIONING", - "type": "CONDITIONING", + "name": "STRING", + "type": "STRING", "links": [ - 56 + 764 ], - "slot_index": 0 + "slot_index": 0, + "shape": 6 } ], - "title": "CLIP Text Encode (Positive Prompt)", "properties": { - "Node name for S&R": "CLIPTextEncode" + "Node name for S&R": "ShowText|pysssss" }, "widgets_values": [ - "" + "", + "This describes the first frame of a video that needs to subtly animated for 5 seconds: The image is a black and white photograph of a waterfall. The waterfall is cascading down a rocky cliff, with the water flowing over the rocks and creating a misty effect. The rocks are large and jagged, and the water is flowing over them. The cliff is covered in trees and shrubs, and there is a hill in the background. The sky is overcast and the overall mood of the image is peaceful and serene." ], "color": "#232", "bgcolor": "#353" }, { - "id": 35, - "type": "FluxGuidance", + "id": 300, + "type": "CLIPLoaderMultiGPU", "pos": [ - 1431.9671630859375, - -908.84228515625 - ], - "size": [ - 211.60000610351562, - 58 - ], - "flags": {}, - "order": 32, - "mode": 0, - "inputs": [ - { - "name": "conditioning", - "type": "CONDITIONING", - "link": 56 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 703 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "FluxGuidance" - }, - "widgets_values": [ - 3.5 - ] - }, - { - "id": 198, - "type": "UNETLoaderMultiGPU", - "pos": [ - 765.9813232421875, - -745.640869140625 - ], - "size": [ - 270.74609375, - 110.4522705078125 - ], - "flags": {}, - "order": 3, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 705, - 707 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "UNETLoaderMultiGPU" - }, - "widgets_values": [ - "flux1-dev.safetensors", - "default", - "cuda:1" - ] - }, - { - "id": 150, - "type": "BasicGuider", - "pos": [ - 1121.8597412109375, - -748.0971069335938 - ], - "size": [ - 257.0326232910156, - 51.87638854980469 - ], - "flags": {}, - "order": 34, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 707, - "slot_index": 0 - }, - { - "name": "conditioning", - "type": "CONDITIONING", - "link": 703, - "slot_index": 1 - } - ], - "outputs": [ - { - "name": "GUIDER", - "type": "GUIDER", - "links": [ - 272 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicGuider" - }, - "widgets_values": [], - "color": "#232", - "bgcolor": "#353" - }, - { - "id": 111, - "type": "VAELoaderMultiGPU", - "pos": [ - 771.9171752929688, - -588.98681640625 + 1732.0577392578125, + -564.0845336914062 ], "size": [ 315, - 82 + 106 ], "flags": {}, - "order": 4, + "order": 1, "mode": 0, "inputs": [], "outputs": [ { - "name": "VAE", - "type": "VAE", + "name": "CLIP", + "type": "CLIP", "links": [ - 706 + 765, + 766 ], - "slot_index": 0, - "shape": 3 + "slot_index": 0 } ], "properties": { - "Node name for S&R": "VAELoaderMultiGPU" + "Node name for S&R": "CLIPLoaderMultiGPU" }, "widgets_values": [ - "ae.safetensors", + "t5xxl_fp8_e4m3fn.safetensors", + "ltxv", "cpu" ] }, { - "id": 128, - "type": "RandomNoise", + "id": 274, + "type": "ImageResizeKJ", "pos": [ - 775.5562133789062, - -432.4979553222656 - ], - "size": [ - 299.0659484863281, - 82 - ], - "flags": {}, - "order": 5, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "NOISE", - "type": "NOISE", - "links": [ - 702 - ], - "slot_index": 0, - "shape": 3 - } - ], - "title": "RandomNoise/Seed", - "properties": { - "Node name for S&R": "RandomNoise" - }, - "widgets_values": [ - 357175856249330, - "randomize" - ], - "color": "#432", - "bgcolor": "#653" - }, - { - "id": 76, - "type": "SDXLAspectRatioSelector", - "pos": [ - 739.3418579101562, - -272.9753723144531 + 1736.1766357421875, + -410.67987060546875 ], "size": [ 210, - 98 + 238 ], - "flags": {}, - "order": 6, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "ratio", - "type": "STRING", - "links": null, - "shape": 3 - }, - { - "name": "width", - "type": "INT", - "links": [ - 433 - ], - "slot_index": 1, - "shape": 3 - }, - { - "name": "height", - "type": "INT", - "links": [ - 434 - ], - "slot_index": 2, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "SDXLAspectRatioSelector" + "flags": { + "collapsed": false }, - "widgets_values": [ - "5:8" - ], - "color": "#233", - "bgcolor": "#355" - }, - { - "id": 130, - "type": "KSamplerSelect", - "pos": [ - 1128.5909423828125, - -646.5517578125 - ], - "size": [ - 210, - 58 - ], - "flags": {}, - "order": 7, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "SAMPLER", - "type": "SAMPLER", - "links": [ - 700 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "KSamplerSelect" - }, - "widgets_values": [ - "deis" - ], - "color": "#323", - "bgcolor": "#535" - }, - { - "id": 151, - "type": "BasicScheduler", - "pos": [ - 1404.5157470703125, - -796.5217895507812 - ], - "size": [ - 265.0326843261719, - 106 - ], - "flags": {}, - "order": 17, + "order": 35, "mode": 0, "inputs": [ { - "name": "model", - "type": "MODEL", - "link": 705, - "slot_index": 0 - } - ], - "outputs": [ - { - "name": "SIGMAS", - "type": "SIGMAS", - "links": [ - 273 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicScheduler" - }, - "widgets_values": [ - "ddim_uniform", - 30, - 1 - ], - "color": "#323", - "bgcolor": "#535" - }, - { - "id": 147, - "type": "VAEDecode", - "pos": [ - 1408.7586669921875, - -626.8558349609375 - ], - "size": [ - 140, - 46 - ], - "flags": {}, - "order": 37, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 270 + "name": "image", + "type": "IMAGE", + "link": 740 }, { - "name": "vae", - "type": "VAE", - "link": 706 + "name": "get_image_size", + "type": "IMAGE", + "link": null, + "shape": 7 + }, + { + "name": "width_input", + "type": "INT", + "link": null, + "widget": { + "name": "width_input" + }, + "shape": 7 + }, + { + "name": "height_input", + "type": "INT", + "link": null, + "widget": { + "name": "height_input" + }, + "shape": 7 } ], "outputs": [ @@ -734,23 +343,49 @@ "name": "IMAGE", "type": "IMAGE", "links": [ - 384, - 740 + 720 ], "slot_index": 0 + }, + { + "name": "width", + "type": "INT", + "links": [ + 721, + 727 + ], + "slot_index": 1 + }, + { + "name": "height", + "type": "INT", + "links": [ + 722, + 728 + ], + "slot_index": 2 } ], "properties": { - "Node name for S&R": "VAEDecode" + "Node name for S&R": "ImageResizeKJ" }, - "widgets_values": [] + "widgets_values": [ + 768, + 768, + "nearest-exact", + true, + 16, + 0, + 0, + "center" + ] }, { "id": 270, "type": "ModifyLTXModel", "pos": [ - 2351.734375, - -1107.4002685546875 + 2066.1455078125, + -931.8618774414062 ], "size": [ 210, @@ -784,85 +419,392 @@ "widgets_values": [] }, { - "id": 278, - "type": "LTXVScheduler", + "id": 271, + "type": "LTXAttnOverride", "pos": [ - 2623.18115234375, - -428.87506103515625 + 2304.862060546875, + -951.1757202148438 ], "size": [ 210, - 154 + 76 ], "flags": { "collapsed": false }, - "order": 43, + "order": 2, "mode": 0, - "inputs": [ - { - "name": "latent", - "type": "LATENT", - "link": 730, - "shape": 7 - } - ], + "inputs": [], "outputs": [ { - "name": "SIGMAS", - "type": "SIGMAS", + "name": "ATTN_OVERRIDE", + "type": "ATTN_OVERRIDE", "links": [ - 738 + 716 ], "slot_index": 0 } ], "properties": { - "Node name for S&R": "LTXVScheduler", - "enableTabs": false, - "tabWidth": 65, - "tabXOffset": 10, - "hasSecondTab": false, - "secondTabText": "Send Back", - "secondTabOffset": 80, - "secondTabWidth": 65 + "Node name for S&R": "LTXAttnOverride" }, "widgets_values": [ - 100, - 2.05, - 0.95, - true, - 0.1 + "14" ] }, { - "id": 277, - "type": "KSamplerSelect", + "id": 292, + "type": "EmptySD3LatentImage", "pos": [ - 2630.537109375, - -523.512451171875 + 449.8915710449219, + -242.02732849121094 ], "size": [ 210, - 58 + 78 ], - "flags": { - "collapsed": false + "flags": {}, + "order": 24, + "mode": 0, + "inputs": [ + { + "name": "width", + "type": "INT", + "link": 749, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 750, + "widget": { + "name": "height" + } + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 770 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "EmptySD3LatentImage" }, - "order": 8, + "widgets_values": [ + 1024, + 1024, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 113, + "type": "DualCLIPLoaderMultiGPU", + "pos": [ + 743.3309326171875, + -912.5949096679688 + ], + "size": [ + 315, + 130 + ], + "flags": {}, + "order": 3, "mode": 0, "inputs": [], "outputs": [ { - "name": "SAMPLER", - "type": "SAMPLER", + "name": "CLIP", + "type": "CLIP", "links": [ - 737 - ] + 711 + ], + "slot_index": 0, + "shape": 3 } ], "properties": { - "Node name for S&R": "KSamplerSelect", + "Node name for S&R": "DualCLIPLoaderMultiGPU" + }, + "widgets_values": [ + "t5xxl_fp16.safetensors", + "clip_l.safetensors", + "flux", + "cpu" + ] + }, + { + "id": 111, + "type": "VAELoaderMultiGPU", + "pos": [ + 749.1101684570312, + -590.5072631835938 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 706 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAELoaderMultiGPU" + }, + "widgets_values": [ + "ae.safetensors", + "cpu" + ] + }, + { + "id": 184, + "type": "SaveImage", + "pos": [ + 1312.477783203125, + -490.65277099609375 + ], + "size": [ + 398.87176513671875, + 393.47467041015625 + ], + "flags": {}, + "order": 34, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 384 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "SaveImage" + }, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 293, + "type": "DF_Text_Box", + "pos": [ + 948.7462768554688, + -1066.32470703125 + ], + "size": [ + 246.73094177246094, + 96.81416320800781 + ], + "flags": { + "collapsed": true + }, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 757 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DF_Text_Box" + }, + "widgets_values": [ + "This describes the first frame of a video that needs to subtly animated for " + ] + }, + { + "id": 296, + "type": "Int2String", + "pos": [ + 867.2527465820312, + -1008.2164916992188 + ], + "size": [ + 210, + 34 + ], + "flags": { + "collapsed": true + }, + "order": 26, + "mode": 0, + "inputs": [ + { + "name": "Int", + "type": "INT", + "link": 756, + "widget": { + "name": "Int" + } + } + ], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 758 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Int2String" + }, + "widgets_values": [ + 0 + ] + }, + { + "id": 295, + "type": "easy mathInt", + "pos": [ + 755.301025390625, + -1006.3259887695312 + ], + "size": [ + 210, + 82 + ], + "flags": { + "collapsed": true + }, + "order": 21, + "mode": 0, + "inputs": [ + { + "name": "a", + "type": "INT", + "link": 755, + "widget": { + "name": "a" + } + } + ], + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 756 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "easy mathInt" + }, + "widgets_values": [ + 0, + 25, + "divide" + ] + }, + { + "id": 298, + "type": "DF_Text_Box", + "pos": [ + 846.861328125, + -954.3756713867188 + ], + "size": [ + 210, + 76 + ], + "flags": { + "collapsed": true + }, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 759 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DF_Text_Box" + }, + "widgets_values": [ + "seconds: " + ] + }, + { + "id": 268, + "type": "CLIPTextEncode", + "pos": [ + 2067.76708984375, + -786.3204956054688 + ], + "size": [ + 210, + 54 + ], + "flags": { + "collapsed": false + }, + "order": 32, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 765 + }, + { + "name": "text", + "type": "STRING", + "link": 764, + "widget": { + "name": "text" + } + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 717 + ], + "slot_index": 0 + } + ], + "title": "LTXV Pos", + "properties": { + "Node name for S&R": "CLIPTextEncode", "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, @@ -872,15 +814,137 @@ "secondTabWidth": 65 }, "widgets_values": [ - "euler" + "A scary box" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 269, + "type": "CLIPTextEncode", + "pos": [ + 2075.806396484375, + -657.681884765625 + ], + "size": [ + 285.6000061035156, + 76 + ], + "flags": { + "collapsed": false + }, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 766 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 718 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Negative Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + "low quality, worst quality, deformed, distorted, disfigured, motion smear, motion artifacts, fused fingers, bad anatomy, weird hand, ugly" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 276, + "type": "EmptyLTXVLatentVideo", + "pos": [ + 2054.917236328125, + -266.39617919921875 + ], + "size": [ + 210, + 130 + ], + "flags": { + "collapsed": false + }, + "order": 37, + "mode": 0, + "inputs": [ + { + "name": "width", + "type": "INT", + "link": 727, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 728, + "widget": { + "name": "height" + } + }, + { + "name": "length", + "type": "INT", + "link": 761, + "widget": { + "name": "length" + } + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 730, + 739 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLTXVLatentVideo", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 512, + 768, + 129, + 1 ] }, { "id": 273, "type": "LTXVImgToVideo", "pos": [ - 2378.040283203125, - -681.7047119140625 + 2062.09521484375, + -511.68597412109375 ], "size": [ 210, @@ -889,7 +953,7 @@ "flags": { "collapsed": false }, - "order": 40, + "order": 36, "mode": 0, "inputs": [ { @@ -974,41 +1038,93 @@ "bgcolor": "#353" }, { - "id": 269, - "type": "CLIPTextEncode", + "id": 272, + "type": "LTXPerturbedAttention", "pos": [ - 2316.321044921875, - -842.4187622070312 + 2322.979736328125, + -835.3939819335938 ], "size": [ - 285.6000061035156, - 76 + 243.60000610351562, + 126 ], "flags": { "collapsed": false }, - "order": 19, + "order": 25, "mode": 0, "inputs": [ { - "name": "clip", - "type": "CLIP", - "link": 713 + "name": "model", + "type": "MODEL", + "link": 715 + }, + { + "name": "attn_override", + "type": "ATTN_OVERRIDE", + "link": 716, + "shape": 7 } ], "outputs": [ { - "name": "CONDITIONING", - "type": "CONDITIONING", + "name": "MODEL", + "type": "MODEL", "links": [ - 718 + 734 ], "slot_index": 0 } ], - "title": "CLIP Text Encode (Negative Prompt)", "properties": { - "Node name for S&R": "CLIPTextEncode", + "Node name for S&R": "LTXPerturbedAttention" + }, + "widgets_values": [ + 1, + 0.25, + 3 + ] + }, + { + "id": 279, + "type": "VAEDecode", + "pos": [ + 2374.200439453125, + -643.4945678710938 + ], + "size": [ + 140, + 46 + ], + "flags": { + "collapsed": false + }, + "order": 41, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 731 + }, + { + "name": "vae", + "type": "VAE", + "link": 732 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 733 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode", "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, @@ -1017,56 +1133,44 @@ "secondTabOffset": 80, "secondTabWidth": 65 }, - "widgets_values": [ - "low quality, worst quality, deformed, distorted, disfigured, motion smear, motion artifacts, fused fingers, bad anatomy, weird hand, ugly" - ], - "color": "#322", - "bgcolor": "#533" + "widgets_values": [] }, { - "id": 268, - "type": "CLIPTextEncode", + "id": 278, + "type": "LTXVScheduler", "pos": [ - 2333.119873046875, - -955.4190063476562 + 2308.156005859375, + -289.2124938964844 ], "size": [ 210, - 54 + 154 ], "flags": { "collapsed": false }, - "order": 35, + "order": 39, "mode": 0, "inputs": [ { - "name": "clip", - "type": "CLIP", - "link": 712 - }, - { - "name": "text", - "type": "STRING", - "link": 764, - "widget": { - "name": "text" - } + "name": "latent", + "type": "LATENT", + "link": 730, + "shape": 7 } ], "outputs": [ { - "name": "CONDITIONING", - "type": "CONDITIONING", + "name": "SIGMAS", + "type": "SIGMAS", "links": [ - 717 + 738 ], "slot_index": 0 } ], - "title": "LTXV Pos", "properties": { - "Node name for S&R": "CLIPTextEncode", + "Node name for S&R": "LTXVScheduler", "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, @@ -1076,17 +1180,59 @@ "secondTabWidth": 65 }, "widgets_values": [ - "A scary box" + 100, + 2.05, + 0.95, + true, + 0.1 + ] + }, + { + "id": 277, + "type": "KSamplerSelect", + "pos": [ + 2291.593994140625, + -388.44921875 ], - "color": "#232", - "bgcolor": "#353" + "size": [ + 210, + 58 + ], + "flags": { + "collapsed": false + }, + "order": 7, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 737 + ] + } + ], + "properties": { + "Node name for S&R": "KSamplerSelect", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + "euler" + ] }, { "id": 275, "type": "LTXVConditioning", "pos": [ - 2626.0751953125, - -703.31689453125 + 2285.292236328125, + -512.1409912109375 ], "size": [ 210, @@ -1095,7 +1241,7 @@ "flags": { "collapsed": false }, - "order": 42, + "order": 38, "mode": 0, "inputs": [ { @@ -1143,652 +1289,19 @@ "color": "#232", "bgcolor": "#353" }, - { - "id": 276, - "type": "EmptyLTXVLatentVideo", - "pos": [ - 2365.343505859375, - -420.777099609375 - ], - "size": [ - 210, - 130 - ], - "flags": { - "collapsed": false - }, - "order": 41, - "mode": 0, - "inputs": [ - { - "name": "width", - "type": "INT", - "link": 727, - "widget": { - "name": "width" - } - }, - { - "name": "height", - "type": "INT", - "link": 728, - "widget": { - "name": "height" - } - }, - { - "name": "length", - "type": "INT", - "link": 761, - "widget": { - "name": "length" - } - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 730, - 739 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "EmptyLTXVLatentVideo", - "enableTabs": false, - "tabWidth": 65, - "tabXOffset": 10, - "hasSecondTab": false, - "secondTabText": "Send Back", - "secondTabOffset": 80, - "secondTabWidth": 65 - }, - "widgets_values": [ - 512, - 768, - 129, - 1 - ] - }, - { - "id": 288, - "type": "ShowText|pysssss", - "pos": [ - 524.2261352539062, - -675.4452514648438 - ], - "size": [ - 210, - 616.2679443359375 - ], - "flags": {}, - "order": 29, - "mode": 0, - "inputs": [ - { - "name": "text", - "type": "STRING", - "link": 745, - "widget": { - "name": "text" - } - } - ], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": null, - "shape": 6 - } - ], - "properties": { - "Node name for S&R": "ShowText|pysssss" - }, - "widgets_values": [ - "", - "" - ] - }, - { - "id": 297, - "type": "Text Concatenate", - "pos": [ - 1149.465087890625, - -1124.0069580078125 - ], - "size": [ - 210, - 142 - ], - "flags": {}, - "order": 31, - "mode": 0, - "inputs": [ - { - "name": "text_a", - "type": "STRING", - "link": 757, - "widget": { - "name": "text_a" - }, - "shape": 7 - }, - { - "name": "text_b", - "type": "STRING", - "link": 758, - "widget": { - "name": "text_b" - }, - "shape": 7 - }, - { - "name": "text_c", - "type": "STRING", - "link": 759, - "widget": { - "name": "text_c" - }, - "shape": 7 - }, - { - "name": "text_d", - "type": "STRING", - "link": 762, - "widget": { - "name": "text_d" - }, - "shape": 7 - } - ], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 763 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "Text Concatenate" - }, - "widgets_values": [ - " ", - "true", - "", - "", - "", - "" - ] - }, - { - "id": 298, - "type": "DF_Text_Box", - "pos": [ - 857.324462890625, - -1091.5018310546875 - ], - "size": [ - 210, - 76 - ], - "flags": {}, - "order": 9, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 759 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "DF_Text_Box" - }, - "widgets_values": [ - "seconds: " - ] - }, - { - "id": 296, - "type": "Int2String", - "pos": [ - 848.158447265625, - -1151.6107177734375 - ], - "size": [ - 210, - 34 - ], - "flags": {}, - "order": 27, - "mode": 0, - "inputs": [ - { - "name": "Int", - "type": "INT", - "link": 756, - "widget": { - "name": "Int" - } - } - ], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 758 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "Int2String" - }, - "widgets_values": [ - 0 - ] - }, - { - "id": 295, - "type": "easy mathInt", - "pos": [ - 581.630859375, - -1131.3800048828125 - ], - "size": [ - 210, - 82 - ], - "flags": {}, - "order": 23, - "mode": 0, - "inputs": [ - { - "name": "a", - "type": "INT", - "link": 755, - "widget": { - "name": "a" - } - } - ], - "outputs": [ - { - "name": "INT", - "type": "INT", - "links": [ - 756 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "easy mathInt" - }, - "widgets_values": [ - 0, - 25, - "divide" - ] - }, - { - "id": 293, - "type": "DF_Text_Box", - "pos": [ - 994.2159423828125, - -1332.59521484375 - ], - "size": [ - 246.73094177246094, - 96.81416320800781 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 757 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "DF_Text_Box" - }, - "widgets_values": [ - "This describes the first frame of a video that needs to subtly animated for " - ] - }, - { - "id": 281, - "type": "CLIPLoaderGGUFMultiGPU", - "pos": [ - 1898.848388671875, - -699.5394287109375 - ], - "size": [ - 315, - 106 - ], - "flags": { - "collapsed": false - }, - "order": 11, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 712, - 713 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "CLIPLoaderGGUFMultiGPU" - }, - "widgets_values": [ - "t5-v1_1-xxl-encoder-Q8_0.gguf", - "ltxv", - "cpu" - ] - }, - { - "id": 299, - "type": "ShowText|pysssss", - "pos": [ - 1891.6446533203125, - -929.3893432617188 - ], - "size": [ - 312.02349853515625, - 171.37887573242188 - ], - "flags": {}, - "order": 33, - "mode": 0, - "inputs": [ - { - "name": "text", - "type": "STRING", - "link": 763, - "widget": { - "name": "text" - } - } - ], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 764 - ], - "slot_index": 0, - "shape": 6 - } - ], - "properties": { - "Node name for S&R": "ShowText|pysssss" - }, - "widgets_values": [ - "", - "" - ] - }, - { - "id": 274, - "type": "ImageResizeKJ", - "pos": [ - 1968.4130859375, - -552.1822509765625 - ], - "size": [ - 210, - 238 - ], - "flags": { - "collapsed": true - }, - "order": 39, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 740 - }, - { - "name": "get_image_size", - "type": "IMAGE", - "link": null, - "shape": 7 - }, - { - "name": "width_input", - "type": "INT", - "link": null, - "widget": { - "name": "width_input" - }, - "shape": 7 - }, - { - "name": "height_input", - "type": "INT", - "link": null, - "widget": { - "name": "height_input" - }, - "shape": 7 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 720 - ], - "slot_index": 0 - }, - { - "name": "width", - "type": "INT", - "links": [ - 721, - 727 - ], - "slot_index": 1 - }, - { - "name": "height", - "type": "INT", - "links": [ - 722, - 728 - ], - "slot_index": 2 - } - ], - "properties": { - "Node name for S&R": "ImageResizeKJ" - }, - "widgets_values": [ - 768, - 768, - "nearest-exact", - true, - 16, - 0, - 0, - "center" - ] - }, - { - "id": 272, - "type": "LTXPerturbedAttention", - "pos": [ - 2650.883056640625, - -889.5071411132812 - ], - "size": [ - 243.60000610351562, - 126 - ], - "flags": { - "collapsed": false - }, - "order": 24, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 715 - }, - { - "name": "attn_override", - "type": "ATTN_OVERRIDE", - "link": 716, - "shape": 7 - } - ], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 734 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "LTXPerturbedAttention" - }, - "widgets_values": [ - 1, - 0.25, - 3 - ] - }, - { - "id": 271, - "type": "LTXAttnOverride", - "pos": [ - 2648.4052734375, - -1073.3612060546875 - ], - "size": [ - 210, - 76 - ], - "flags": { - "collapsed": false - }, - "order": 12, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "ATTN_OVERRIDE", - "type": "ATTN_OVERRIDE", - "links": [ - 716 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "LTXAttnOverride" - }, - "widgets_values": [ - "14" - ] - }, - { - "id": 279, - "type": "VAEDecode", - "pos": [ - 2885.16064453125, - -957.0147705078125 - ], - "size": [ - 210, - 46 - ], - "flags": { - "collapsed": false - }, - "order": 45, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 731 - }, - { - "name": "vae", - "type": "VAE", - "link": 732 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 733 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEDecode", - "enableTabs": false, - "tabWidth": 65, - "tabXOffset": 10, - "hasSecondTab": false, - "secondTabText": "Send Back", - "secondTabOffset": 80, - "secondTabWidth": 65 - }, - "widgets_values": [] - }, { "id": 283, "type": "SamplerCustom", "pos": [ - 2909.8818359375, - -740.7032470703125 + 2520.345703125, + -559.6461181640625 ], "size": [ - 355.20001220703125, - 442 + 236.8000030517578, + 443.8398132324219 ], "flags": {}, - "order": 44, + "order": 40, "mode": 0, "inputs": [ { @@ -1849,371 +1362,24 @@ }, "widgets_values": [ true, - 765864574611322, - "randomize", + 5770521, + "fixed", 3 ] }, - { - "id": 266, - "type": "CheckpointLoaderSimpleMultiGPU", - "pos": [ - 1950.234375, - -1113.0843505859375 - ], - "size": [ - 307.1690368652344, - 122 - ], - "flags": {}, - "order": 13, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 714 - ], - "slot_index": 0 - }, - { - "name": "CLIP", - "type": "CLIP", - "links": null - }, - { - "name": "VAE", - "type": "VAE", - "links": [ - 719, - 732 - ], - "slot_index": 2 - } - ], - "properties": { - "Node name for S&R": "CheckpointLoaderSimpleMultiGPU" - }, - "widgets_values": [ - "ltx-video-2b-v0.9.1.safetensors", - "cuda:0" - ] - }, - { - "id": 27, - "type": "EmptySD3LatentImage", - "pos": [ - 856.251953125, - -314.5667419433594 - ], - "size": [ - 210, - 78 - ], - "flags": { - "collapsed": true - }, - "order": 18, - "mode": 0, - "inputs": [ - { - "name": "width", - "type": "INT", - "link": 433, - "widget": { - "name": "width" - } - }, - { - "name": "height", - "type": "INT", - "link": 434, - "widget": { - "name": "height" - } - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 753 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "EmptySD3LatentImage" - }, - "widgets_values": [ - 1024, - 1024, - 1 - ], - "color": "#222", - "bgcolor": "#000" - }, - { - "id": 290, - "type": "Any Switch (rgthree)", - "pos": [ - 945.6754760742188, - -203.0136260986328 - ], - "size": [ - 140, - 106 - ], - "flags": { - "collapsed": true - }, - "order": 30, - "mode": 0, - "inputs": [ - { - "name": "any_01", - "type": "LATENT", - "link": 752, - "dir": 3 - }, - { - "name": "any_02", - "type": "LATENT", - "link": 753, - "dir": 3 - }, - { - "name": "any_03", - "type": "LATENT", - "link": null, - "dir": 3 - }, - { - "name": "any_04", - "type": "LATENT", - "link": null, - "dir": 3 - }, - { - "name": "any_05", - "type": "LATENT", - "link": null - } - ], - "outputs": [ - { - "name": "*", - "type": "LATENT", - "links": [ - 754 - ], - "slot_index": 0, - "shape": 3, - "dir": 4, - "label": "LATENT" - } - ], - "title": "Prompt Switch", - "properties": { - "Node name for S&R": "Any Switch (rgthree)" - }, - "widgets_values": [], - "color": "#941414", - "bgcolor": "#800000" - }, - { - "id": 149, - "type": "SamplerCustomAdvanced", - "pos": [ - 1142.50048828125, - -458.96270751953125 - ], - "size": [ - 236.8000030517578, - 344.8153076171875 - ], - "flags": {}, - "order": 36, - "mode": 0, - "inputs": [ - { - "name": "noise", - "type": "NOISE", - "link": 702, - "slot_index": 0 - }, - { - "name": "guider", - "type": "GUIDER", - "link": 272, - "slot_index": 1 - }, - { - "name": "sampler", - "type": "SAMPLER", - "link": 700, - "slot_index": 2 - }, - { - "name": "sigmas", - "type": "SIGMAS", - "link": 273, - "slot_index": 3 - }, - { - "name": "latent_image", - "type": "LATENT", - "link": 754, - "slot_index": 4 - } - ], - "outputs": [ - { - "name": "output", - "type": "LATENT", - "links": [ - 270 - ], - "slot_index": 0, - "shape": 3 - }, - { - "name": "denoised_output", - "type": "LATENT", - "links": null, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "SamplerCustomAdvanced" - }, - "widgets_values": [], - "color": "#323", - "bgcolor": "#535" - }, - { - "id": 184, - "type": "SaveImage", - "pos": [ - 1440.1971435546875, - -494.45391845703125 - ], - "size": [ - 398.87176513671875, - 393.47467041015625 - ], - "flags": {}, - "order": 38, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 384 - } - ], - "outputs": [], - "properties": { - "Node name for S&R": "SaveImage" - }, - "widgets_values": [ - "ComfyUI" - ] - }, - { - "id": 246, - "type": "Fast Groups Bypasser (rgthree)", - "pos": [ - 1454.845703125, - -1291.591796875 - ], - "size": [ - 252, - 106 - ], - "flags": {}, - "order": 14, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "OPT_CONNECTION", - "type": "*", - "links": null, - "slot_index": 0 - } - ], - "properties": { - "matchColors": "", - "matchTitle": "", - "showNav": true, - "sort": "position", - "customSortAlphabet": "", - "toggleRestriction": "default" - }, - "color": "#233", - "bgcolor": "#355" - }, - { - "id": 232, - "type": "LoadImage", - "pos": [ - -483.7546081542969, - -731.9494018554688 - ], - "size": [ - 371.3655090332031, - 625.0361938476562 - ], - "flags": {}, - "order": 15, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 744, - 748 - ], - "slot_index": 0, - "shape": 3 - }, - { - "name": "MASK", - "type": "MASK", - "links": null, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "LoadImage" - }, - "widgets_values": [ - "pasted/image (138).png", - "image" - ], - "color": "#ff9414", - "bgcolor": "#ff8000" - }, { "id": 280, "type": "VHS_VideoCombine", "pos": [ - 3317.676025390625, - -1108.9530029296875 + 2769.0009765625, + -939.8538818359375 ], "size": [ - 385.2510681152344, - 835.0014038085938 + 281.3041687011719, + 696.4055786132812 ], "flags": {}, - "order": 46, + "order": 42, "mode": 0, "inputs": [ { @@ -2272,101 +1438,694 @@ "hidden": false, "paused": false, "params": { - "filename": "LTXVideo_00376.mp4", + "filename": "LTXVideo_00383.mp4", "subfolder": "", "type": "output", "format": "video/h264-mp4", "frame_rate": 24, - "workflow": "LTXVideo_00376.png", - "fullpath": "" + "workflow": "LTXVideo_00383.png", + "fullpath": "/home/johnj/ComfyUI/output/LTXVideo_00383.mp4" }, "muted": false } } }, { - "id": 247, - "type": "Any Switch (rgthree)", + "id": 128, + "type": "RandomNoise", "pos": [ - 549.552490234375, - -756.1132202148438 + 759.59130859375, + -453.7845153808594 ], "size": [ - 140, - 106 + 252.69171142578125, + 82 ], - "flags": { - "collapsed": true + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "NOISE", + "type": "NOISE", + "links": [ + 702 + ], + "slot_index": 0, + "shape": 3 + } + ], + "title": "RandomNoise/Seed", + "properties": { + "Node name for S&R": "RandomNoise" }, - "order": 25, + "widgets_values": [ + 5770521, + "fixed" + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 288, + "type": "ShowText|pysssss", + "pos": [ + 735.609375, + -322.7117004394531 + ], + "size": [ + 301.9348449707031, + 183.0865020751953 + ], + "flags": {}, + "order": 23, "mode": 0, "inputs": [ { - "name": "any_01", + "name": "text", "type": "STRING", - "link": 743, - "dir": 3 - }, - { - "name": "any_02", - "type": "STRING", - "link": 553, - "dir": 3 - }, - { - "name": "any_03", - "type": "STRING", - "link": null, - "dir": 3 - }, - { - "name": "any_04", - "type": "STRING", - "link": null, - "dir": 3 - }, - { - "name": "any_05", - "type": "STRING", - "link": null + "link": 769, + "widget": { + "name": "text" + } } ], "outputs": [ { - "name": "*", + "name": "STRING", "type": "STRING", - "links": [ - 677, - 745, - 762 - ], - "slot_index": 0, - "shape": 3, - "dir": 4, - "label": "STRING" + "links": null, + "shape": 6 } ], - "title": "Prompt Switch", "properties": { - "Node name for S&R": "Any Switch (rgthree)" + "Node name for S&R": "ShowText|pysssss" + }, + "widgets_values": [ + "", + "The image is a black and white photograph of a waterfall. The waterfall is cascading down a rocky cliff, with the water flowing over the rocks and creating a misty effect. The rocks are large and jagged, and the water is flowing over them. The cliff is covered in trees and shrubs, and there is a hill in the background. The sky is overcast and the overall mood of the image is peaceful and serene." + ] + }, + { + "id": 297, + "type": "Text Concatenate", + "pos": [ + 1094.17333984375, + -922.4619750976562 + ], + "size": [ + 210, + 142 + ], + "flags": { + "collapsed": true + }, + "order": 28, + "mode": 0, + "inputs": [ + { + "name": "text_a", + "type": "STRING", + "link": 757, + "widget": { + "name": "text_a" + }, + "shape": 7 + }, + { + "name": "text_b", + "type": "STRING", + "link": 758, + "widget": { + "name": "text_b" + }, + "shape": 7 + }, + { + "name": "text_c", + "type": "STRING", + "link": 759, + "widget": { + "name": "text_c" + }, + "shape": 7 + }, + { + "name": "text_d", + "type": "STRING", + "link": 767, + "widget": { + "name": "text_d" + }, + "shape": 7 + } + ], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 763 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Text Concatenate" + }, + "widgets_values": [ + " ", + "true", + "", + "", + "", + "" + ] + }, + { + "id": 150, + "type": "BasicGuider", + "pos": [ + 1116.4012451171875, + -707.979736328125 + ], + "size": [ + 257.0326232910156, + 51.87638854980469 + ], + "flags": { + "collapsed": true + }, + "order": 29, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 707, + "slot_index": 0 + }, + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 703, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 272 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicGuider" }, "widgets_values": [], - "color": "#941414", - "bgcolor": "#800000" + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 151, + "type": "BasicScheduler", + "pos": [ + 1081.531005859375, + -818.8421630859375 + ], + "size": [ + 236.516357421875, + 106 + ], + "flags": { + "collapsed": false + }, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 705, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 273 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "ddim_uniform", + 30, + 1 + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 130, + "type": "KSamplerSelect", + "pos": [ + 1070.2655029296875, + -671.5866088867188 + ], + "size": [ + 210, + 58 + ], + "flags": { + "collapsed": false + }, + "order": 9, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 700 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "KSamplerSelect" + }, + "widgets_values": [ + "deis" + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 149, + "type": "SamplerCustomAdvanced", + "pos": [ + 1053.5076904296875, + -463.5470886230469 + ], + "size": [ + 236.8000030517578, + 344.8153076171875 + ], + "flags": {}, + "order": 31, + "mode": 0, + "inputs": [ + { + "name": "noise", + "type": "NOISE", + "link": 702, + "slot_index": 0 + }, + { + "name": "guider", + "type": "GUIDER", + "link": 272, + "slot_index": 1 + }, + { + "name": "sampler", + "type": "SAMPLER", + "link": 700, + "slot_index": 2 + }, + { + "name": "sigmas", + "type": "SIGMAS", + "link": 273, + "slot_index": 3 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 770, + "slot_index": 4 + } + ], + "outputs": [ + { + "name": "output", + "type": "LATENT", + "links": [ + 270 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "denoised_output", + "type": "LATENT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "SamplerCustomAdvanced" + }, + "widgets_values": [], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 147, + "type": "VAEDecode", + "pos": [ + 1332.1346435546875, + -581.1580200195312 + ], + "size": [ + 140, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 33, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 270 + }, + { + "name": "vae", + "type": "VAE", + "link": 706 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 384, + 740 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 35, + "type": "FluxGuidance", + "pos": [ + 1074.5513916015625, + -575.5557861328125 + ], + "size": [ + 211.60000610351562, + 58 + ], + "flags": { + "collapsed": false + }, + "order": 27, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 56 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 703 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "FluxGuidance" + }, + "widgets_values": [ + 3.5 + ] + }, + { + "id": 301, + "type": "Note", + "pos": [ + 90.61213684082031, + -1320.3759765625 + ], + "size": [ + 783.961669921875, + 254.1817626953125 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "This workflow is main memory (CPU) intensive", + "properties": {}, + "widgets_values": [ + "**⚠️ Dependency Alert! ⚠️**\n\nThis workflow is designed to show how much of a complex workflow can be spread across GPUs while offloading as much as it can to main memory (cpu). \n\nSince this workflow cannot predict every combination of cuda devices and main memory, you might find your desired model component doesn't fit. At that point, your options are to change to a different (larger) device, load a smaller model, or explore GGUF quantizations of existing models. \n\nShould you want to explore GGUF quantizations, it requires nodes from the [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF) custom node repository to function correctly, along with swapping out to the GGUF versions of the MultiGPU node(s). Please see the GGUF examples located in the same diretory for further exploration." + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 302, + "type": "Note", + "pos": [ + 1132.27734375, + -1160.07568359375 + ], + "size": [ + 210, + 91.36243438720703 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "User Input", + "properties": {}, + "widgets_values": [ + "24 frames per second, needs to be equal to N*8+1 = e.g. 9,17,25, etc." + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 232, + "type": "LoadImage", + "pos": [ + -11.854447364807129, + -784.3826904296875 + ], + "size": [ + 371.3655090332031, + 625.0361938476562 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 744, + 748 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "ComfyUI_08535_.png", + "image" + ], + "color": "#ff9414", + "bgcolor": "#ff8000" + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 1089.039306640625, + -871.3989868164062 + ], + "size": [ + 210, + 54 + ], + "flags": { + "collapsed": true + }, + "order": 22, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 711 + }, + { + "name": "text", + "type": "STRING", + "link": 768, + "widget": { + "name": "text" + } + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 56 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 198, + "type": "UNETLoaderMultiGPU", + "pos": [ + 753.8175048828125, + -741.8397216796875 + ], + "size": [ + 270.74609375, + 110.4522705078125 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 705, + 707 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "UNETLoaderMultiGPU" + }, + "widgets_values": [ + "flux1-dev.safetensors", + "default", + "cuda:0" + ] + }, + { + "id": 266, + "type": "CheckpointLoaderSimpleMultiGPU", + "pos": [ + 1732.7156982421875, + -940.305419921875 + ], + "size": [ + 307.1690368652344, + 122 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 714 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": null + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 719, + 732 + ], + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimpleMultiGPU" + }, + "widgets_values": [ + "ltx-video-2b-v0.9.1.safetensors", + "cuda:1" + ] }, { "id": 294, "type": "Int", "pos": [ - 365.90704345703125, - -955.7695922851562 + 1038.341796875, + -1035.79931640625 ], "size": [ 315, 58 ], "flags": {}, - "order": 16, + "order": 15, "mode": 0, "inputs": [], "outputs": [ @@ -2388,8 +2147,8 @@ "widgets_values": [ "129" ], - "color": "#223", - "bgcolor": "#335" + "color": "#233", + "bgcolor": "#355" } ], "links": [ @@ -2433,22 +2192,6 @@ 0, "IMAGE" ], - [ - 433, - 76, - 1, - 27, - 0, - "INT" - ], - [ - 434, - 76, - 2, - 27, - 1, - "INT" - ], [ 439, 132, @@ -3145,14 +2888,6 @@ 1, "VAE" ], - [ - 553, - 234, - 0, - 247, - 1, - "STRING" - ], [ 562, 132, @@ -3849,14 +3584,6 @@ 0, "MODEL" ], - [ - 677, - 247, - 0, - 6, - 1, - "STRING" - ], [ 682, 265, @@ -4057,22 +3784,6 @@ 0, "CLIP" ], - [ - 712, - 281, - 0, - 268, - 0, - "CLIP" - ], - [ - 713, - 281, - 0, - 269, - 0, - "CLIP" - ], [ 714, 266, @@ -4273,14 +3984,6 @@ 1, "FL2MODEL" ], - [ - 743, - 287, - 2, - 247, - 0, - "STRING" - ], [ 744, 232, @@ -4289,14 +3992,6 @@ 0, "IMAGE" ], - [ - 745, - 247, - 0, - 288, - 0, - "STRING" - ], [ 748, 232, @@ -4321,30 +4016,6 @@ 1, "INT" ], - [ - 752, - 292, - 0, - 290, - 0, - "LATENT" - ], - [ - 753, - 27, - 0, - 290, - 1, - "LATENT" - ], - [ - 754, - 290, - 0, - 149, - 4, - "LATENT" - ], [ 755, 294, @@ -4401,14 +4072,6 @@ 2, "INT" ], - [ - 762, - 247, - 0, - 297, - 3, - "STRING" - ], [ 763, 297, @@ -4424,6 +4087,54 @@ 268, 1, "STRING" + ], + [ + 765, + 300, + 0, + 268, + 0, + "CLIP" + ], + [ + 766, + 300, + 0, + 269, + 0, + "CLIP" + ], + [ + 767, + 287, + 2, + 297, + 3, + "STRING" + ], + [ + 768, + 287, + 2, + 6, + 1, + "STRING" + ], + [ + 769, + 287, + 2, + 288, + 0, + "STRING" + ], + [ + 770, + 292, + 0, + 149, + 4, + "LATENT" ] ], "groups": [ @@ -4431,8 +4142,8 @@ "id": 1, "title": "img2txt2img2vid", "bounding": [ - -501.82891845703125, - -984.7885131835938, + -29.928714752197266, + -1037.2220458984375, 736.355224609375, 915.1064453125 ], @@ -4444,10 +4155,10 @@ "id": 2, "title": "img2vid", "bounding": [ - 1881.6444091796875, - -1186.6844482421875, - 1843.2398681640625, - 921.8089599609375 + 1717.4788818359375, + -1023.1045532226562, + 1363.980712890625, + 921.808837890625 ], "color": "#3f789e", "font_size": 24, @@ -4457,10 +4168,10 @@ "config": {}, "extra": { "ds": { - "scale": 0.7247295000000619, + "scale": 0.724729500000097, "offset": [ - 521.7901968989609, - 1641.1517991641058 + 176.63560141460363, + 1445.6002770420216 ] }, "ue_links": [], diff --git a/examples/flux1dev_2gpu.json b/examples/flux1dev_2gpu.json index 20afb3a..8ab8a51 100644 --- a/examples/flux1dev_2gpu.json +++ b/examples/flux1dev_2gpu.json @@ -1,51 +1,7 @@ { - "last_node_id": 33, + "last_node_id": 34, "last_link_id": 49, "nodes": [ - { - "id": 22, - "type": "BasicGuider", - "pos": [ - 430, - 260 - ], - "size": [ - 310, - 50 - ], - "flags": {}, - "order": 9, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 45, - "slot_index": 0 - }, - { - "name": "conditioning", - "type": "CONDITIONING", - "link": 40, - "slot_index": 1 - } - ], - "outputs": [ - { - "name": "GUIDER", - "type": "GUIDER", - "links": [ - 30 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicGuider" - }, - "widgets_values": [] - }, { "id": 16, "type": "KSamplerSelect", @@ -78,19 +34,128 @@ "euler" ] }, + { + "id": 32, + "type": "DualCLIPLoaderMultiGPU", + "pos": [ + -78.85963439941406, + 312.105224609375 + ], + "size": [ + 456.3470458984375, + 130 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 47 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoaderMultiGPU" + }, + "widgets_values": [ + "t5xxl_fp16.safetensors", + "clip_l.safetensors", + "flux", + "cuda:0" + ] + }, + { + "id": 33, + "type": "VAELoaderMultiGPU", + "pos": [ + -74.85962677001953, + 488.105224609375 + ], + "size": [ + 450.23980712890625, + 82 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 48, + 49 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAELoaderMultiGPU" + }, + "widgets_values": [ + "ae.safetensors", + "cuda:0" + ] + }, + { + "id": 31, + "type": "UNETLoaderMultiGPU", + "pos": [ + -81.8596420288086, + 158.10528564453125 + ], + "size": [ + 460.79998779296875, + 106 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 45, + 46 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "UNETLoaderMultiGPU" + }, + "widgets_values": [ + "flux1-dev.safetensors", + "default", + "cuda:1" + ] + }, { "id": 13, "type": "SamplerCustomAdvanced", "pos": [ - 801, - 125 + 556.2047119140625, + 267.16375732421875 ], "size": [ 398.79998779296875, 326 ], - "flags": {}, - "order": 11, + "flags": { + "collapsed": true + }, + "order": 12, "mode": 0, "inputs": [ { @@ -146,203 +211,6 @@ }, "widgets_values": [] }, - { - "id": 29, - "type": "ImageScaleToTotalPixels", - "pos": [ - 411, - 746 - ], - "size": [ - 331.20001220703125, - 82 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 41 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 42 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "ImageScaleToTotalPixels" - }, - "widgets_values": [ - "lanczos", - 1 - ] - }, - { - "id": 30, - "type": "VAEEncode", - "pos": [ - 414, - 877 - ], - "size": [ - 320, - 50 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "name": "pixels", - "type": "IMAGE", - "link": 42 - }, - { - "name": "vae", - "type": "VAE", - "link": 49 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 44 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAEEncode" - }, - "widgets_values": [] - }, - { - "id": 17, - "type": "BasicScheduler", - "pos": [ - 415, - 588 - ], - "size": [ - 315, - 106 - ], - "flags": {}, - "order": 6, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 46, - "slot_index": 0 - } - ], - "outputs": [ - { - "name": "SIGMAS", - "type": "SIGMAS", - "links": [ - 20 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicScheduler" - }, - "widgets_values": [ - "simple", - 20, - 0.75 - ] - }, - { - "id": 8, - "type": "VAEDecode", - "pos": [ - 1296, - 136 - ], - "size": [ - 210, - 46 - ], - "flags": {}, - "order": 12, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 24 - }, - { - "name": "vae", - "type": "VAE", - "link": 48 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 9 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "widgets_values": [] - }, - { - "id": 25, - "type": "RandomNoise", - "pos": [ - 433, - 136 - ], - "size": [ - 315, - 82 - ], - "flags": {}, - "order": 1, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "NOISE", - "type": "NOISE", - "links": [ - 37 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "RandomNoise" - }, - "widgets_values": [ - 1081409732488957, - "randomize" - ] - }, { "id": 6, "type": "CLIPTextEncode", @@ -351,7 +219,7 @@ 456 ], "size": [ - 360, + 210, 76 ], "flags": {}, @@ -382,154 +250,291 @@ ] }, { - "id": 31, - "type": "UNETLoaderMultiGPU", + "id": 17, + "type": "BasicScheduler", "pos": [ - -148, - 76 + 415, + 588 ], "size": [ - 460.79998779296875, + 231.37432861328125, 106 ], "flags": {}, - "order": 2, + "order": 8, "mode": 0, - "inputs": [], - "outputs": [ + "inputs": [ { - "name": "MODEL", + "name": "model", "type": "MODEL", - "links": [ - 45, - 46 - ], - "slot_index": 0, - "shape": 3 + "link": 46, + "slot_index": 0 } ], - "properties": { - "Node name for S&R": "UNETLoaderMultiGPU" - }, - "widgets_values": [ - "flux1-dev.safetensors", - "default", - "cuda:1" - ] - }, - { - "id": 32, - "type": "DualCLIPLoaderMultiGPU", - "pos": [ - -145, - 230 - ], - "size": [ - 456.3470458984375, - 130 - ], - "flags": {}, - "order": 3, - "mode": 0, - "inputs": [], "outputs": [ { - "name": "CLIP", - "type": "CLIP", + "name": "SIGMAS", + "type": "SIGMAS", "links": [ - 47 + 20 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "simple", + 20, + 0.75 + ] + }, + { + "id": 30, + "type": "VAEEncode", + "pos": [ + 423.8831787109375, + 312.1461486816406 + ], + "size": [ + 320, + 50 + ], + "flags": { + "collapsed": true + }, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 42 + }, + { + "name": "vae", + "type": "VAE", + "link": 49 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 44 ], "slot_index": 0, "shape": 3 } ], "properties": { - "Node name for S&R": "DualCLIPLoaderMultiGPU" + "Node name for S&R": "VAEEncode" }, - "widgets_values": [ - "t5xxl_fp16.safetensors", - "clip_l.safetensors", - "flux", - "cuda:0" - ] + "widgets_values": [] }, { - "id": 33, - "type": "VAELoaderMultiGPU", + "id": 8, + "type": "VAEDecode", "pos": [ - -141, - 406 + 581.379150390625, + 306.2924499511719 ], "size": [ - 450.23980712890625, - 82 + 210, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 24 + }, + { + "name": "vae", + "type": "VAE", + "link": 48 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 22, + "type": "BasicGuider", + "pos": [ + 415.5555419921875, + 267.602294921875 + ], + "size": [ + 310, + 50 + ], + "flags": { + "collapsed": true + }, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 45, + "slot_index": 0 + }, + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 40, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 30 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicGuider" + }, + "widgets_values": [] + }, + { + "id": 34, + "type": "Note", + "pos": [ + 408.77154541015625, + 898.7672119140625 + ], + "size": [ + 244.2865447998047, + 58 ], "flags": {}, "order": 4, "mode": 0, "inputs": [], + "outputs": [], + "title": "User Input", + "properties": {}, + "widgets_values": [ + "Resize the image in terms of total pixels as part of img2img" + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 29, + "type": "ImageScaleToTotalPixels", + "pos": [ + 412.5205078125, + 767.2865600585938 + ], + "size": [ + 268.10052490234375, + 88.08191680908203 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 41 + } + ], "outputs": [ { - "name": "VAE", - "type": "VAE", + "name": "IMAGE", + "type": "IMAGE", "links": [ - 48, - 49 + 42 ], "slot_index": 0, "shape": 3 } ], "properties": { - "Node name for S&R": "VAELoaderMultiGPU" + "Node name for S&R": "ImageScaleToTotalPixels" }, "widgets_values": [ - "ae.safetensors", - "cuda:0" - ] + "lanczos", + 1 + ], + "color": "#233", + "bgcolor": "#355" }, { - "id": 9, - "type": "SaveImage", + "id": 25, + "type": "RandomNoise", "pos": [ - 1390.503662109375, - 262.9825744628906 + 407.152099609375, + 145.883056640625 ], "size": [ - 610.9039306640625, - 935.4635620117188 + 315, + 82 ], "flags": {}, - "order": 13, + "order": 5, "mode": 0, - "inputs": [ + "inputs": [], + "outputs": [ { - "name": "images", - "type": "IMAGE", - "link": 9 + "name": "NOISE", + "type": "NOISE", + "links": [ + 37 + ], + "shape": 3 } ], - "outputs": [], "properties": { - "Node name for S&R": "SaveImage" + "Node name for S&R": "RandomNoise" }, "widgets_values": [ - "ComfyUI" + 1081409732488957, + "randomize" ] }, { "id": 26, "type": "LoadImage", "pos": [ - 832.099609375, - 276.4795837402344 + 734.78955078125, + 144.19891357421875 ], "size": [ 557.5253295898438, 885.68408203125 ], "flags": {}, - "order": 5, + "order": 6, "mode": 0, "inputs": [], "outputs": [ @@ -556,6 +561,35 @@ "43451813.jpeg", "image" ] + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 1309.1583251953125, + 131.4620819091797 + ], + "size": [ + 610.9039306640625, + 935.4635620117188 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "SaveImage" + }, + "widgets_values": [ + "ComfyUI" + ] } ], "links": [ @@ -684,10 +718,10 @@ "config": {}, "extra": { "ds": { - "scale": 0.8769226950000688, + "scale": 0.8769226950001169, "offset": [ - 365.39453135534154, - 31.74503272619687 + 372.74926916263763, + 130.97026916318094 ] }, "ue_links": [], diff --git a/examples/flux1dev_2gpu_GGUF.json b/examples/flux1dev_2gpu_GGUF.json index a18c8a4..d45ec54 100644 --- a/examples/flux1dev_2gpu_GGUF.json +++ b/examples/flux1dev_2gpu_GGUF.json @@ -1,20 +1,84 @@ { - "last_node_id": 35, - "last_link_id": 52, + "last_node_id": 36, + "last_link_id": 53, "nodes": [ + { + "id": 33, + "type": "VAELoaderMultiGPU", + "pos": [ + -62.57144546508789, + 460.42584228515625 + ], + "size": [ + 450.23980712890625, + 82 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 48, + 49 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAELoaderMultiGPU" + }, + "widgets_values": [ + "ae.safetensors", + "cuda:0" + ] + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 553.2835693359375, + 604.8348999023438 + ], + "size": [ + 512.2255859375, + 692.112548828125 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "SaveImage" + }, + "widgets_values": [ + "ComfyUI" + ] + }, { "id": 22, "type": "BasicGuider", "pos": [ - 430, - 260 + 397.337158203125, + 135.11544799804688 ], "size": [ - 310, - 50 + 161.1999969482422, + 46 ], "flags": {}, - "order": 9, + "order": 10, "mode": 0, "inputs": [ { @@ -46,19 +110,52 @@ }, "widgets_values": [] }, + { + "id": 25, + "type": "RandomNoise", + "pos": [ + 381.8360595703125, + 230.80130004882812 + ], + "size": [ + 236.60824584960938, + 88.84210968017578 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "NOISE", + "type": "NOISE", + "links": [ + 37 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "RandomNoise" + }, + "widgets_values": [ + 5770521, + "fixed" + ] + }, { "id": 16, "type": "KSamplerSelect", "pos": [ - 430, - 350 + 398.8528137207031, + 360.1959533691406 ], "size": [ - 315, + 210, 58 ], "flags": {}, - "order": 0, + "order": 2, "mode": 0, "inputs": [], "outputs": [ @@ -78,101 +175,19 @@ "euler" ] }, - { - "id": 29, - "type": "ImageScaleToTotalPixels", - "pos": [ - 411, - 746 - ], - "size": [ - 331.20001220703125, - 82 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 41 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 42 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "ImageScaleToTotalPixels" - }, - "widgets_values": [ - "lanczos", - 1 - ] - }, - { - "id": 30, - "type": "VAEEncode", - "pos": [ - 414, - 877 - ], - "size": [ - 320, - 50 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "name": "pixels", - "type": "IMAGE", - "link": 42 - }, - { - "name": "vae", - "type": "VAE", - "link": 49 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 44 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAEEncode" - }, - "widgets_values": [] - }, { "id": 17, "type": "BasicScheduler", "pos": [ - 415, - 588 + 573.0526123046875, + 137.1051483154297 ], "size": [ - 315, + 210, 106 ], "flags": {}, - "order": 7, + "order": 8, "mode": 0, "inputs": [ { @@ -201,15 +216,57 @@ 0.75 ] }, + { + "id": 30, + "type": "VAEEncode", + "pos": [ + 626.94189453125, + 306.2926940917969 + ], + "size": [ + 140, + 46.959110260009766 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 53 + }, + { + "name": "vae", + "type": "VAE", + "link": 49 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 44 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + }, + "widgets_values": [] + }, { "id": 8, "type": "VAEDecode", "pos": [ - 1296, - 136 + 625.9295654296875, + 428.6144714355469 ], "size": [ - 210, + 140, 46 ], "flags": {}, @@ -242,182 +299,16 @@ }, "widgets_values": [] }, - { - "id": 25, - "type": "RandomNoise", - "pos": [ - 433, - 136 - ], - "size": [ - 315, - 82 - ], - "flags": {}, - "order": 1, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "NOISE", - "type": "NOISE", - "links": [ - 37 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "RandomNoise" - }, - "widgets_values": [ - 1011907241509375, - "randomize" - ] - }, - { - "id": 9, - "type": "SaveImage", - "pos": [ - 1390.503662109375, - 262.9825744628906 - ], - "size": [ - 610.9039306640625, - 935.4635620117188 - ], - "flags": {}, - "order": 13, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 9 - } - ], - "outputs": [], - "properties": { - "Node name for S&R": "SaveImage" - }, - "widgets_values": [ - "ComfyUI" - ] - }, - { - "id": 35, - "type": "DualCLIPLoaderGGUFMultiGPU", - "pos": [ - -135.9344482421875, - 224.67466735839844 - ], - "size": [ - 439.5617370605469, - 130 - ], - "flags": {}, - "order": 2, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 50 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "DualCLIPLoaderGGUFMultiGPU" - }, - "widgets_values": [ - "t5-v1_1-xxl-encoder-Q4_K_M.gguf", - "clip_l.safetensors", - "flux", - "cuda:0" - ] - }, - { - "id": 33, - "type": "VAELoaderMultiGPU", - "pos": [ - -136.16221618652344, - 397.7065734863281 - ], - "size": [ - 450.23980712890625, - 82 - ], - "flags": {}, - "order": 3, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "VAE", - "type": "VAE", - "links": [ - 48, - 49 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAELoaderMultiGPU" - }, - "widgets_values": [ - "ae.safetensors", - "cuda:0" - ] - }, - { - "id": 34, - "type": "UnetLoaderGGUFMultiGPU", - "pos": [ - -129.1488494873047, - 104.35658264160156 - ], - "size": [ - 424.197265625, - 82 - ], - "flags": {}, - "order": 4, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 51, - 52 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "UnetLoaderGGUFMultiGPU" - }, - "widgets_values": [ - "flux1-dev-Q4_0.gguf", - "cuda:1" - ] - }, { "id": 13, "type": "SamplerCustomAdvanced", "pos": [ - 842.8128662109375, - -96.6082763671875 + 806.6261596679688, + 163.39205932617188 ], "size": [ - 398.79998779296875, - 326 + 236.8000030517578, + 387.28668212890625 ], "flags": {}, "order": 11, @@ -480,15 +371,15 @@ "id": 26, "type": "LoadImage", "pos": [ - 832.099609375, - 276.4795837402344 + -49.16379928588867, + 590.3043823242188 ], "size": [ - 557.5253295898438, - 885.68408203125 + 571.7417602539062, + 708.3975830078125 ], "flags": {}, - "order": 5, + "order": 3, "mode": 0, "inputs": [], "outputs": [ @@ -496,7 +387,7 @@ "name": "IMAGE", "type": "IMAGE", "links": [ - 41 + 53 ], "slot_index": 0, "shape": 3 @@ -512,7 +403,7 @@ "Node name for S&R": "LoadImage" }, "widgets_values": [ - "ComfyUI_07019_.png", + "43400095.png", "image" ] }, @@ -520,15 +411,15 @@ "id": 6, "type": "CLIPTextEncode", "pos": [ - 414.6198425292969, - 458.5087585449219 + 405.42108154296875, + 460.1813049316406 ], "size": [ - 360, + 210, 76 ], "flags": {}, - "order": 6, + "order": 9, "mode": 0, "inputs": [ { @@ -551,8 +442,105 @@ "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ - "steampunk style" + "anime style" ] + }, + { + "id": 34, + "type": "UnetLoaderGGUFMultiGPU", + "pos": [ + -42.17792892456055, + 132.78921508789062 + ], + "size": [ + 417.5072937011719, + 97.88888549804688 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 51, + 52 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "UnetLoaderGGUFMultiGPU" + }, + "widgets_values": [ + "flux1-dev-Q4_0.gguf", + "cuda:1" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 36, + "type": "Note", + "pos": [ + -448.1904602050781, + 138.0183868408203 + ], + "size": [ + 384.5566711425781, + 276.04486083984375 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "This workflow requires ComfyUI-GGUF", + "properties": {}, + "widgets_values": [ + "**⚠️ Dependency Alert! ⚠️**\n\nThis workflow relies on nodes from the [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF) custom node repository to function correctly. \n\nSpecifically:\n\n*\"UnetLoaderGGUFMultiGPU\" and \n*\"DualCLIPLoaderGGUFMultiGPU\" \n\nwill not work without this dependency installed. Please install ComfyUI-GGUF before attempting to run this workflow." + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 35, + "type": "DualCLIPLoaderGGUFMultiGPU", + "pos": [ + -52.30849075317383, + 280.70391845703125 + ], + "size": [ + 435.3804016113281, + 130 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 50 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoaderGGUFMultiGPU" + }, + "widgets_values": [ + "t5-v1_1-xxl-encoder-Q4_K_M.gguf", + "clip_l.safetensors", + "flux", + "cuda:0" + ], + "color": "#332922", + "bgcolor": "#593930" } ], "links": [ @@ -612,22 +600,6 @@ 1, "CONDITIONING" ], - [ - 41, - 26, - 0, - 29, - 0, - "IMAGE" - ], - [ - 42, - 29, - 0, - 30, - 0, - "IMAGE" - ], [ 44, 30, @@ -675,16 +647,24 @@ 17, 0, "MODEL" + ], + [ + 53, + 26, + 0, + 30, + 0, + "IMAGE" ] ], "groups": [], "config": {}, "extra": { "ds": { - "scale": 0.7972024500000681, + "scale": 0.7972024500001046, "offset": [ - 532.4482492796592, - 204.76554079618148 + 1117.1276694292012, + 150.83008522230102 ] }, "ue_links": [], diff --git a/examples/flux1dev_cpu_1gpu_GGUF.json b/examples/flux1dev_cpu_1gpu_GGUF.json index 2dbd539..becd35b 100644 --- a/examples/flux1dev_cpu_1gpu_GGUF.json +++ b/examples/flux1dev_cpu_1gpu_GGUF.json @@ -1,20 +1,96 @@ { - "last_node_id": 34, + "last_node_id": 36, "last_link_id": 51, "nodes": [ + { + "id": 32, + "type": "DualCLIPLoaderMultiGPU", + "pos": [ + -134.35675048828125, + 334.9122619628906 + ], + "size": [ + 456.3470458984375, + 130 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 47 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoaderMultiGPU" + }, + "widgets_values": [ + "t5xxl_fp16.safetensors", + "clip_l.safetensors", + "flux", + "cpu" + ] + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 370.94561767578125, + 184.63783264160156 + ], + "size": [ + 231.7741241455078, + 76 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 47 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 40 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "steampunk style" + ] + }, { "id": 22, "type": "BasicGuider", "pos": [ - 430, - 260 + 361.238037109375, + 23.760555267333984 ], "size": [ 310, 50 ], - "flags": {}, - "order": 9, + "flags": { + "collapsed": true + }, + "order": 11, "mode": 0, "inputs": [ { @@ -46,19 +122,132 @@ }, "widgets_values": [] }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 630.1492309570312, + 217.53857421875 + ], + "size": [ + 210, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 24 + }, + { + "name": "vae", + "type": "VAE", + "link": 48 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 17, + "type": "BasicScheduler", + "pos": [ + 386.3785095214844, + 302.42181396484375 + ], + "size": [ + 263.6163330078125, + 107.67249298095703 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 51, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 20 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "simple", + 20, + 0.75 + ] + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 1330.1031494140625, + -119.60201263427734 + ], + "size": [ + 598.3600463867188, + 887.796875 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "SaveImage" + }, + "widgets_values": [ + "ComfyUI" + ] + }, { "id": 16, "type": "KSamplerSelect", "pos": [ - 430, - 350 + 393.0156555175781, + 84.49148559570312 ], "size": [ 315, 58 ], "flags": {}, - "order": 0, + "order": 1, "mode": 0, "inputs": [], "outputs": [ @@ -78,19 +267,65 @@ "euler" ] }, + { + "id": 30, + "type": "VAEEncode", + "pos": [ + 519.1797485351562, + 467.65521240234375 + ], + "size": [ + 343.8751525878906, + 54.39801025390625 + ], + "flags": { + "collapsed": true + }, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 42 + }, + { + "name": "vae", + "type": "VAE", + "link": 49 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 44 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + }, + "widgets_values": [] + }, { "id": 13, "type": "SamplerCustomAdvanced", "pos": [ - 801, - 125 + 528.8987426757812, + 24.688413619995117 ], "size": [ - 398.79998779296875, + 236.8000030517578, 326 ], - "flags": {}, - "order": 11, + "flags": { + "collapsed": true + }, + "order": 13, "mode": 0, "inputs": [ { @@ -146,312 +381,19 @@ }, "widgets_values": [] }, - { - "id": 8, - "type": "VAEDecode", - "pos": [ - 1296, - 136 - ], - "size": [ - 210, - 46 - ], - "flags": {}, - "order": 12, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 24 - }, - { - "name": "vae", - "type": "VAE", - "link": 48 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 9 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "widgets_values": [] - }, - { - "id": 25, - "type": "RandomNoise", - "pos": [ - 433, - 136 - ], - "size": [ - 315, - 82 - ], - "flags": {}, - "order": 1, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "NOISE", - "type": "NOISE", - "links": [ - 37 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "RandomNoise" - }, - "widgets_values": [ - 469973742106324, - "randomize" - ] - }, - { - "id": 9, - "type": "SaveImage", - "pos": [ - 1390.503662109375, - 262.9825744628906 - ], - "size": [ - 610.9039306640625, - 935.4635620117188 - ], - "flags": {}, - "order": 13, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 9 - } - ], - "outputs": [], - "properties": { - "Node name for S&R": "SaveImage" - }, - "widgets_values": [ - "ComfyUI" - ] - }, - { - "id": 32, - "type": "DualCLIPLoaderMultiGPU", - "pos": [ - -145, - 230 - ], - "size": [ - 456.3470458984375, - 130 - ], - "flags": {}, - "order": 2, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 47 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "DualCLIPLoaderMultiGPU" - }, - "widgets_values": [ - "t5xxl_fp16.safetensors", - "clip_l.safetensors", - "flux", - "cpu" - ] - }, - { - "id": 33, - "type": "VAELoaderMultiGPU", - "pos": [ - -141, - 406 - ], - "size": [ - 450.23980712890625, - 82 - ], - "flags": {}, - "order": 3, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "VAE", - "type": "VAE", - "links": [ - 48, - 49 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAELoaderMultiGPU" - }, - "widgets_values": [ - "ae.safetensors", - "cpu" - ] - }, - { - "id": 26, - "type": "LoadImage", - "pos": [ - 832.099609375, - 276.4795837402344 - ], - "size": [ - 557.5253295898438, - 885.68408203125 - ], - "flags": {}, - "order": 4, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 41 - ], - "slot_index": 0, - "shape": 3 - }, - { - "name": "MASK", - "type": "MASK", - "links": null, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "LoadImage" - }, - "widgets_values": [ - "43877497.jpeg", - "image" - ] - }, - { - "id": 6, - "type": "CLIPTextEncode", - "pos": [ - 428, - 456 - ], - "size": [ - 320.41754150390625, - 77.88488006591797 - ], - "flags": {}, - "order": 6, - "mode": 0, - "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 47 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 40 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncode" - }, - "widgets_values": [ - "steampunk style" - ] - }, - { - "id": 17, - "type": "BasicScheduler", - "pos": [ - 415, - 588 - ], - "size": [ - 341.3883056640625, - 106 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 51, - "slot_index": 0 - } - ], - "outputs": [ - { - "name": "SIGMAS", - "type": "SIGMAS", - "links": [ - 20 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicScheduler" - }, - "widgets_values": [ - "simple", - 20, - 0.75 - ] - }, { "id": 29, "type": "ImageScaleToTotalPixels", "pos": [ - 411, - 746 + 446.77008056640625, + 518.9593505859375 ], "size": [ - 345.02252197265625, - 83.25662231445312 + 278.12200927734375, + 84.92926025390625 ], "flags": {}, - "order": 7, + "order": 10, "mode": 0, "inputs": [ { @@ -477,63 +419,139 @@ "widgets_values": [ "lanczos", 1 + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 36, + "type": "Note", + "pos": [ + 461.87445068359375, + 649.6223754882812 + ], + "size": [ + 244.2865447998047, + 58 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "User Input", + "properties": {}, + "widgets_values": [ + "Resize the image in terms of total pixels as part of img2img" + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 25, + "type": "RandomNoise", + "pos": [ + 366.5185852050781, + -121.29788970947266 + ], + "size": [ + 245.3624725341797, + 82 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "NOISE", + "type": "NOISE", + "links": [ + 37 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "RandomNoise" + }, + "widgets_values": [ + 5770521, + "fixed" ] }, { - "id": 30, - "type": "VAEEncode", + "id": 33, + "type": "VAELoaderMultiGPU", "pos": [ - 414, - 877 + -130.35675048828125, + 510.9122314453125 ], "size": [ - 343.8751525878906, - 54.39801025390625 + 450.23980712890625, + 82 ], "flags": {}, - "order": 10, + "order": 4, "mode": 0, - "inputs": [ - { - "name": "pixels", - "type": "IMAGE", - "link": 42 - }, - { - "name": "vae", - "type": "VAE", - "link": 49 - } - ], + "inputs": [], "outputs": [ { - "name": "LATENT", - "type": "LATENT", + "name": "VAE", + "type": "VAE", "links": [ - 44 + 48, + 49 ], "slot_index": 0, "shape": 3 } ], "properties": { - "Node name for S&R": "VAEEncode" + "Node name for S&R": "VAELoaderMultiGPU" }, - "widgets_values": [] + "widgets_values": [ + "ae.safetensors", + "cpu" + ] + }, + { + "id": 35, + "type": "Note", + "pos": [ + -120.1415023803711, + -64.74335479736328 + ], + "size": [ + 440.2346496582031, + 143.8489990234375 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "This workflow requires ComfyUI-GGUF", + "properties": {}, + "widgets_values": [ + "**⚠️ Dependency Alert! ⚠️**\n\nThis workflow relies on nodes from the [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF) custom node repository to function correctly. \n\nSpecifically, \"UnetLoaderGGUFMultiGPU\", will not work without this dependency installed. Please install ComfyUI-GGUF before attempting to run this workflow." + ], + "color": "#332922", + "bgcolor": "#593930" }, { "id": 34, "type": "UnetLoaderGGUFMultiGPU", "pos": [ - -146.0491180419922, - 81.0137710571289 + -132.3649139404297, + 129.6687774658203 ], "size": [ 460.7639465332031, 87.65463256835938 ], "flags": {}, - "order": 5, + "order": 6, "mode": 0, "inputs": [], "outputs": [ @@ -553,6 +571,48 @@ "widgets_values": [ "flux1-dev-Q4_0.gguf", "cuda:0" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 26, + "type": "LoadImage", + "pos": [ + 762.7547607421875, + -115.07572937011719 + ], + "size": [ + 557.5253295898438, + 885.68408203125 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 41 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "43877497.jpeg", + "image" ] } ], @@ -682,10 +742,10 @@ "config": {}, "extra": { "ds": { - "scale": 0.7247295000000716, + "scale": 0.8769226950001169, "offset": [ - 900.0643503440059, - 214.25137987084307 + 299.7667812365022, + 438.1049000522064 ] }, "ue_links": [], diff --git a/examples/flux1dev_sdxl_2gpu.json b/examples/flux1dev_sdxl_2gpu.json index e956a7f..7c4e0f0 100644 --- a/examples/flux1dev_sdxl_2gpu.json +++ b/examples/flux1dev_sdxl_2gpu.json @@ -1,51 +1,7 @@ { - "last_node_id": 45, - "last_link_id": 67, + "last_node_id": 52, + "last_link_id": 80, "nodes": [ - { - "id": 22, - "type": "BasicGuider", - "pos": [ - 430, - 260 - ], - "size": [ - 310, - 50 - ], - "flags": {}, - "order": 12, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 45, - "slot_index": 0 - }, - { - "name": "conditioning", - "type": "CONDITIONING", - "link": 40, - "slot_index": 1 - } - ], - "outputs": [ - { - "name": "GUIDER", - "type": "GUIDER", - "links": [ - 30 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicGuider" - }, - "widgets_values": [] - }, { "id": 16, "type": "KSamplerSelect", @@ -79,11 +35,92 @@ ] }, { - "id": 25, - "type": "RandomNoise", + "id": 29, + "type": "ImageScaleToTotalPixels", "pos": [ - 440, - 130 + 411, + 746 + ], + "size": [ + 331.20001220703125, + 82 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 41 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 42 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImageScaleToTotalPixels" + }, + "widgets_values": [ + "lanczos", + 1 + ] + }, + { + "id": 17, + "type": "BasicScheduler", + "pos": [ + 415, + 588 + ], + "size": [ + 315, + 106 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 46, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 20 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "simple", + 20, + 0.75 + ] + }, + { + "id": 45, + "type": "VAELoaderMultiGPU", + "pos": [ + 25.34747314453125, + 431.3384094238281 ], "size": [ 315, @@ -95,34 +132,594 @@ "inputs": [], "outputs": [ { - "name": "NOISE", - "type": "NOISE", + "name": "VAE", + "type": "VAE", "links": [ - 37 + 66, + 67 ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoaderMultiGPU" + }, + "widgets_values": [ + "ae.safetensors", + "cuda:0" + ] + }, + { + "id": 44, + "type": "DualCLIPLoaderMultiGPU", + "pos": [ + 29.027118682861328, + 249.20140075683594 + ], + "size": [ + 315, + 130 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 74 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoaderMultiGPU" + }, + "widgets_values": [ + "t5xxl_fp16.safetensors", + "clip_l.safetensors", + "flux", + "cuda:0" + ] + }, + { + "id": 50, + "type": "CLIPTextEncode", + "pos": [ + 422.0036315917969, + 462.2104187011719 + ], + "size": [ + 329.0853576660156, + 87.37728118896484 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 74 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 75 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Positive Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "anime style" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 43, + "type": "CheckpointLoaderSimpleMultiGPU", + "pos": [ + 16.740222930908203, + 1203.100341796875 + ], + "size": [ + 336.18707275390625, + 122 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 59 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 68, + 70 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 63, + 79 + ], + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimpleMultiGPU" + }, + "widgets_values": [ + "juggernautXL_juggXIByRundiffusion.safetensors", + "cuda:0" + ] + }, + { + "id": 31, + "type": "UNETLoaderMultiGPU", + "pos": [ + 26.03407859802246, + 79.13163757324219 + ], + "size": [ + 327.4168701171875, + 106 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 45, + 46 + ], + "slot_index": 0, "shape": 3 } ], "properties": { - "Node name for S&R": "RandomNoise" + "Node name for S&R": "UNETLoaderMultiGPU" }, "widgets_values": [ - 595548754702154, - "randomize" + "flux1-dev.safetensors", + "default", + "cuda:1" ] }, + { + "id": 22, + "type": "BasicGuider", + "pos": [ + 435.0176696777344, + 249.12867736816406 + ], + "size": [ + 310, + 50 + ], + "flags": { + "collapsed": true + }, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 45, + "slot_index": 0 + }, + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 75, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 30 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicGuider" + }, + "widgets_values": [] + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 452.6662292480469, + 295.2514953613281 + ], + "size": [ + 210, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 24 + }, + { + "name": "vae", + "type": "VAE", + "link": 66 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 58, + 78 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 30, + "type": "VAEEncode", + "pos": [ + 344.5905456542969, + 880.3450927734375 + ], + "size": [ + 320, + 50 + ], + "flags": { + "collapsed": true + }, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 42 + }, + { + "name": "vae", + "type": "VAE", + "link": 67 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 44 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + }, + "widgets_values": [] + }, + { + "id": 47, + "type": "CLIPTextEncode", + "pos": [ + 383.4727783203125, + 1037.6883544921875 + ], + "size": [ + 285.6000061035156, + 98.24866485595703 + ], + "flags": { + "collapsed": true + }, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 70 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 71 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Negative Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 40, + "type": "VAEDecode", + "pos": [ + 486.5511779785156, + 878.4239501953125 + ], + "size": [ + 140, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 55 + }, + { + "name": "vae", + "type": "VAE", + "link": 63 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 73 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 52, + "type": "VAEEncode", + "pos": [ + 605.9807739257812, + 868.63134765625 + ], + "size": [ + 210, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 78 + }, + { + "name": "vae", + "type": "VAE", + "link": 79 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 80 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + }, + "widgets_values": [] + }, + { + "id": 48, + "type": "SaveImage", + "pos": [ + 761.4503784179688, + 761.2024536132812 + ], + "size": [ + 393.6081848144531, + 594.0411376953125 + ], + "flags": {}, + "order": 20, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 73 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "SaveImage" + }, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 39, + "type": "KSampler", + "pos": [ + 379.3896789550781, + 1073.166259765625 + ], + "size": [ + 352.1638488769531, + 474 + ], + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 59 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 69 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 71 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 80 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 55 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 5770521, + "fixed", + 20, + 4, + "dpmpp_2m_sde_gpu", + "karras", + 0.6 + ] + }, + { + "id": 46, + "type": "CLIPTextEncode", + "pos": [ + 393.5635070800781, + 928.4622192382812 + ], + "size": [ + 285.6000061035156, + 76 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 68 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 69 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Positive Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "anime style" + ], + "color": "#232", + "bgcolor": "#353" + }, { "id": 13, "type": "SamplerCustomAdvanced", "pos": [ - 801, - 125 + 550.1226196289062, + 257.12908935546875 ], "size": [ - 398.79998779296875, + 236.8000030517578, 326 ], - "flags": {}, + "flags": { + "collapsed": true + }, "order": 14, "mode": 0, "inputs": [ @@ -180,421 +777,24 @@ "widgets_values": [] }, { - "id": 29, - "type": "ImageScaleToTotalPixels", + "id": 42, + "type": "PreviewImage", "pos": [ - 411, - 746 + 769.8690795898438, + 175.52798461914062 ], "size": [ - 331.20001220703125, - 82 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 41 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 42 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "ImageScaleToTotalPixels" - }, - "widgets_values": [ - "lanczos", - 1 - ] - }, - { - "id": 30, - "type": "VAEEncode", - "pos": [ - 414, - 877 - ], - "size": [ - 320, - 50 - ], - "flags": {}, - "order": 13, - "mode": 0, - "inputs": [ - { - "name": "pixels", - "type": "IMAGE", - "link": 42 - }, - { - "name": "vae", - "type": "VAE", - "link": 67 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 44 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAEEncode" - }, - "widgets_values": [] - }, - { - "id": 6, - "type": "CLIPTextEncode", - "pos": [ - 420, - 460 - ], - "size": [ - 360, - 76 - ], - "flags": {}, - "order": 9, - "mode": 0, - "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 65 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 40 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncode" - }, - "widgets_values": [ - "anime style" - ] - }, - { - "id": 17, - "type": "BasicScheduler", - "pos": [ - 415, - 588 - ], - "size": [ - 315, - 106 - ], - "flags": {}, - "order": 11, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 46, - "slot_index": 0 - } - ], - "outputs": [ - { - "name": "SIGMAS", - "type": "SIGMAS", - "links": [ - 20 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicScheduler" - }, - "widgets_values": [ - "simple", - 20, - 0.75 - ] - }, - { - "id": 34, - "type": "VAEEncode", - "pos": [ - 1589.1282958984375, - 127.44446563720703 - ], - "size": [ - 274.20001220703125, - 46 + 396.7020263671875, + 503.6026916503906 ], "flags": {}, "order": 16, "mode": 0, - "inputs": [ - { - "name": "pixels", - "type": "IMAGE", - "link": 47 - }, - { - "name": "vae", - "type": "VAE", - "link": 64 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 51 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAEEncode" - }, - "widgets_values": [] - }, - { - "id": 36, - "type": "CLIPTextEncodeSDXL", - "pos": [ - 1599, - 252 - ], - "size": [ - 259.20001220703125, - 287.2425537109375 - ], - "flags": {}, - "order": 7, - "mode": 0, - "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 60 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 52 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncodeSDXL" - }, - "widgets_values": [ - 1024, - 1024, - 0, - 0, - 1024, - 1024, - "anime style", - "anime style" - ] - }, - { - "id": 37, - "type": "CLIPTextEncodeSDXL", - "pos": [ - 1597, - 585 - ], - "size": [ - 259.20001220703125, - 287.2425537109375 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 61 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 53 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncodeSDXL" - }, - "widgets_values": [ - 1024, - 1024, - 0, - 0, - 1024, - 1024, - "", - "" - ] - }, - { - "id": 39, - "type": "KSampler", - "pos": [ - 2089.016845703125, - 292.6915588378906 - ], - "size": [ - 342.20404052734375, - 474 - ], - "flags": {}, - "order": 18, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 59 - }, - { - "name": "positive", - "type": "CONDITIONING", - "link": 52 - }, - { - "name": "negative", - "type": "CONDITIONING", - "link": 53 - }, - { - "name": "latent_image", - "type": "LATENT", - "link": 51 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 55 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "KSampler" - }, - "widgets_values": [ - 3456650560542, - "randomize", - 20, - 4, - "dpmpp_2m_sde_gpu", - "karras", - 0.6 - ] - }, - { - "id": 40, - "type": "VAEDecode", - "pos": [ - 2484.164794921875, - 290.7227478027344 - ], - "size": [ - 274.20001220703125, - 46 - ], - "flags": {}, - "order": 19, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 55 - }, - { - "name": "vae", - "type": "VAE", - "link": 63 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 57 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "widgets_values": [] - }, - { - "id": 41, - "type": "PreviewImage", - "pos": [ - 2909, - 313 - ], - "size": [ - 337.3276672363281, - 335.514892578125 - ], - "flags": {}, - "order": 20, - "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", - "link": 57 + "link": 58 } ], "outputs": [], @@ -604,165 +804,36 @@ "widgets_values": [] }, { - "id": 8, - "type": "VAEDecode", + "id": 25, + "type": "RandomNoise", "pos": [ - 1263, - 128 - ], - "size": [ - 210, - 46 - ], - "flags": {}, - "order": 15, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 24 - }, - { - "name": "vae", - "type": "VAE", - "link": 66 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 47, - 58 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "widgets_values": [] - }, - { - "id": 43, - "type": "CheckpointLoaderSimpleMultiGPU", - "pos": [ - 1274.54931640625, - -407.59539794921875 - ], - "size": [ - 378, - 122 - ], - "flags": {}, - "order": 2, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 59 - ], - "slot_index": 0 - }, - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 60, - 61 - ], - "slot_index": 1 - }, - { - "name": "VAE", - "type": "VAE", - "links": [ - 63, - 64 - ], - "slot_index": 2 - } - ], - "properties": { - "Node name for S&R": "CheckpointLoaderSimpleMultiGPU" - }, - "widgets_values": [ - "juggernautXL_juggXIByRundiffusion.safetensors", - "cuda:0" - ] - }, - { - "id": 44, - "type": "DualCLIPLoaderMultiGPU", - "pos": [ - 29.027118682861328, - 249.20140075683594 - ], - "size": [ - 315, - 130 - ], - "flags": {}, - "order": 3, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 65 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "DualCLIPLoaderMultiGPU" - }, - "widgets_values": [ - "t5xxl_fp16.safetensors", - "clip_l.safetensors", - "flux", - "cuda:0" - ] - }, - { - "id": 45, - "type": "VAELoaderMultiGPU", - "pos": [ - 25.34747314453125, - 431.3384094238281 + 399.0234375, + 108.25728607177734 ], "size": [ 315, 82 ], "flags": {}, - "order": 4, + "order": 5, "mode": 0, "inputs": [], "outputs": [ { - "name": "VAE", - "type": "VAE", + "name": "NOISE", + "type": "NOISE", "links": [ - 66, - 67 + 37 ], - "slot_index": 0 + "shape": 3 } ], "properties": { - "Node name for S&R": "VAELoaderMultiGPU" + "Node name for S&R": "RandomNoise" }, "widgets_values": [ - "ae.safetensors", - "cuda:0" + 5770521, + "fixed" ] }, { @@ -777,7 +848,7 @@ 576.2686767578125 ], "flags": {}, - "order": 5, + "order": 6, "mode": 0, "inputs": [], "outputs": [ @@ -801,72 +872,9 @@ "Node name for S&R": "LoadImage" }, "widgets_values": [ - "43504647.jpeg", + "43382314.jpeg", "image" ] - }, - { - "id": 31, - "type": "UNETLoaderMultiGPU", - "pos": [ - 18.507761001586914, - 71.6053237915039 - ], - "size": [ - 327.4168701171875, - 106 - ], - "flags": {}, - "order": 6, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 45, - 46 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "UNETLoaderMultiGPU" - }, - "widgets_values": [ - "flux1-dev.safetensors", - "default", - "cuda:1" - ] - }, - { - "id": 42, - "type": "PreviewImage", - "pos": [ - 1227.970947265625, - 421.3040771484375 - ], - "size": [ - 337.3276672363281, - 335.514892578125 - ], - "flags": {}, - "order": 17, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 58 - } - ], - "outputs": [], - "properties": { - "Node name for S&R": "PreviewImage" - }, - "widgets_values": [] } ], "links": [ @@ -910,14 +918,6 @@ 0, "NOISE" ], - [ - 40, - 6, - 0, - 22, - 1, - "CONDITIONING" - ], [ 41, 26, @@ -958,38 +958,6 @@ 0, "MODEL" ], - [ - 47, - 8, - 0, - 34, - 0, - "IMAGE" - ], - [ - 51, - 34, - 0, - 39, - 3, - "LATENT" - ], - [ - 52, - 36, - 0, - 39, - 1, - "CONDITIONING" - ], - [ - 53, - 37, - 0, - 39, - 2, - "CONDITIONING" - ], [ 55, 39, @@ -998,14 +966,6 @@ 0, "LATENT" ], - [ - 57, - 40, - 0, - 41, - 0, - "IMAGE" - ], [ 58, 8, @@ -1022,22 +982,6 @@ 0, "MODEL" ], - [ - 60, - 43, - 1, - 36, - 0, - "CLIP" - ], - [ - 61, - 43, - 1, - 37, - 0, - "CLIP" - ], [ 63, 43, @@ -1046,22 +990,6 @@ 1, "VAE" ], - [ - 64, - 43, - 2, - 34, - 1, - "VAE" - ], - [ - 65, - 44, - 0, - 6, - 0, - "CLIP" - ], [ 66, 45, @@ -1077,16 +1005,96 @@ 30, 1, "VAE" + ], + [ + 68, + 43, + 1, + 46, + 0, + "CLIP" + ], + [ + 69, + 46, + 0, + 39, + 1, + "CONDITIONING" + ], + [ + 70, + 43, + 1, + 47, + 0, + "CLIP" + ], + [ + 71, + 47, + 0, + 39, + 2, + "CONDITIONING" + ], + [ + 73, + 40, + 0, + 48, + 0, + "IMAGE" + ], + [ + 74, + 44, + 0, + 50, + 0, + "CLIP" + ], + [ + 75, + 50, + 0, + 22, + 1, + "CONDITIONING" + ], + [ + 78, + 8, + 0, + 52, + 0, + "IMAGE" + ], + [ + 79, + 43, + 2, + 52, + 1, + "VAE" + ], + [ + 80, + 52, + 0, + 39, + 3, + "LATENT" ] ], "groups": [], "config": {}, "extra": { "ds": { - "scale": 0.7972024500000632, + "scale": 0.8769226950001175, "offset": [ - 319.43236475727787, - 454.6687884009703 + 647.1374419681737, + -54.18574423711259 ] }, "ue_links": [], diff --git a/examples/hunyuan_2gpu_GGUF.json b/examples/hunyuan_2gpu_GGUF.json index 00dcc04..ec408e5 100644 --- a/examples/hunyuan_2gpu_GGUF.json +++ b/examples/hunyuan_2gpu_GGUF.json @@ -1,182 +1,7 @@ { - "last_node_id": 102, - "last_link_id": 264, + "last_node_id": 104, + "last_link_id": 268, "nodes": [ - { - "id": 16, - "type": "KSamplerSelect", - "pos": [ - 484, - 751 - ], - "size": [ - 315, - 58 - ], - "flags": {}, - "order": 0, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "SAMPLER", - "type": "SAMPLER", - "links": [ - 19 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "KSamplerSelect" - }, - "widgets_values": [ - "euler" - ] - }, - { - "id": 26, - "type": "FluxGuidance", - "pos": [ - 520, - 100 - ], - "size": [ - 317.4000244140625, - 58 - ], - "flags": {}, - "order": 23, - "mode": 0, - "inputs": [ - { - "name": "conditioning", - "type": "CONDITIONING", - "link": 175 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 129 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "FluxGuidance" - }, - "widgets_values": [ - 6 - ], - "color": "#233", - "bgcolor": "#355" - }, - { - "id": 13, - "type": "SamplerCustomAdvanced", - "pos": [ - 860, - 200 - ], - "size": [ - 272.3617858886719, - 326 - ], - "flags": {}, - "order": 25, - "mode": 0, - "inputs": [ - { - "name": "noise", - "type": "NOISE", - "link": 37, - "slot_index": 0 - }, - { - "name": "guider", - "type": "GUIDER", - "link": 30, - "slot_index": 1 - }, - { - "name": "sampler", - "type": "SAMPLER", - "link": 19, - "slot_index": 2 - }, - { - "name": "sigmas", - "type": "SIGMAS", - "link": 20, - "slot_index": 3 - }, - { - "name": "latent_image", - "type": "LATENT", - "link": 180, - "slot_index": 4 - } - ], - "outputs": [ - { - "name": "output", - "type": "LATENT", - "links": [ - 181, - 210 - ], - "slot_index": 0, - "shape": 3 - }, - { - "name": "denoised_output", - "type": "LATENT", - "links": null, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "SamplerCustomAdvanced" - }, - "widgets_values": [] - }, - { - "id": 86, - "type": "UnetLoaderGGUFMultiGPU", - "pos": [ - -927.6819458007812, - 195.3961944580078 - ], - "size": [ - 315, - 82 - ], - "flags": {}, - "order": 1, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 240 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "UnetLoaderGGUFMultiGPU" - }, - "widgets_values": [ - "hunyuan-video-t2v-720p-Q4_K_M.gguf", - "cuda:0" - ] - }, { "id": 88, "type": "VAELoaderMultiGPU", @@ -189,7 +14,7 @@ 82 ], "flags": {}, - "order": 2, + "order": 0, "mode": 0, "inputs": [], "outputs": [ @@ -210,6 +35,212 @@ "cuda:1" ] }, + { + "id": 79, + "type": "DualCLIPLoaderMultiGPU", + "pos": [ + -553.4775390625, + 336.9512023925781 + ], + "size": [ + 315, + 130 + ], + "flags": {}, + "order": 1, + "mode": 4, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 237 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoaderMultiGPU" + }, + "widgets_values": [ + "clip_l.safetensors", + "llava_llama3_fp8_scaled.safetensors", + "hunyuan_video", + "cuda:1" + ] + }, + { + "id": 80, + "type": "VAELoaderMultiGPU", + "pos": [ + -561.4585571289062, + 522.6740112304688 + ], + "size": [ + 322.5263366699219, + 82 + ], + "flags": {}, + "order": 2, + "mode": 4, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 239 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoaderMultiGPU" + }, + "widgets_values": [ + "hunyuan_video_vae_bf16.safetensors", + "cuda:1" + ] + }, + { + "id": 97, + "type": "UNETLoaderMultiGPU", + "pos": [ + -553.2993774414062, + 180.6386260986328 + ], + "size": [ + 315, + 106 + ], + "flags": {}, + "order": 3, + "mode": 4, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 251 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "UNETLoaderMultiGPU" + }, + "widgets_values": [ + "hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors", + "default", + "cuda:0" + ] + }, + { + "id": 11, + "type": "DualCLIPLoader", + "pos": [ + -205.30178833007812, + 359.85260009765625 + ], + "size": [ + 350, + 106 + ], + "flags": {}, + "order": 4, + "mode": 4, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 236 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "clip_l.safetensors", + "llava_llama3_fp8_scaled.safetensors", + "hunyuan_video" + ] + }, + { + "id": 10, + "type": "VAELoader", + "pos": [ + -206.71307373046875, + 546.1136474609375 + ], + "size": [ + 350, + 60 + ], + "flags": {}, + "order": 5, + "mode": 4, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 238 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "hunyuan_video_vae_bf16.safetensors" + ] + }, + { + "id": 12, + "type": "UNETLoader", + "pos": [ + -198.3746795654297, + 211.21337890625 + ], + "size": [ + 350, + 82 + ], + "flags": {}, + "order": 6, + "mode": 4, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 234 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors", + "default" + ], + "color": "#223", + "bgcolor": "#335" + }, { "id": 87, "type": "DualCLIPLoaderGGUFMultiGPU", @@ -222,7 +253,7 @@ 130 ], "flags": {}, - "order": 3, + "order": 7, "mode": 0, "inputs": [], "outputs": [ @@ -243,23 +274,49 @@ "llava-llama-3-8B-v1_1-Q4_K_M.gguf", "hunyuan_video", "cuda:1" - ] + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 103, + "type": "Note", + "pos": [ + -952.0836791992188, + -89.37448120117188 + ], + "size": [ + 353.56494140625, + 190.77996826171875 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "This workflow requires ComfyUI-GGUF", + "properties": {}, + "widgets_values": [ + "**⚠️ Dependency Alert! ⚠️**\n\nThis workflow relies on nodes from the [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF) custom node repository to function correctly. \n\nSpecifically:\n\n*\"CLIPLoaderGGUFMultiGPU\" \n\nwill not work without this dependency installed. Please install ComfyUI-GGUF before attempting to run this workflow." + ], + "color": "#332922", + "bgcolor": "#593930" }, { "id": 81, "type": "Any Switch (rgthree)", "pos": [ - 206.31723022460938, - 478.602294921875 + 180.00851440429688, + 565.62353515625 ], "size": [ 140, 106 ], "flags": { - "collapsed": false + "collapsed": true }, - "order": 17, + "order": 15, "mode": 0, "inputs": [ { @@ -289,8 +346,7 @@ { "name": "any_05", "type": "VAE", - "link": null, - "dir": 3 + "link": null } ], "outputs": [ @@ -298,7 +354,6 @@ "name": "*", "type": "VAE", "links": [ - 225, 226 ], "slot_index": 0, @@ -315,19 +370,54 @@ "color": "#941414", "bgcolor": "#800000" }, + { + "id": 86, + "type": "UnetLoaderGGUFMultiGPU", + "pos": [ + -927.6819458007812, + 195.3961944580078 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 240 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "UnetLoaderGGUFMultiGPU" + }, + "widgets_values": [ + "hunyuan-video-t2v-720p-Q4_K_M.gguf", + "cuda:0" + ], + "color": "#332922", + "bgcolor": "#593930" + }, { "id": 82, "type": "Any Switch (rgthree)", "pos": [ - 197.95407104492188, - 307.7434387207031 + 185.0726776123047, + 375.7745361328125 ], "size": [ 140, 106 ], "flags": { - "collapsed": false + "collapsed": true }, "order": 16, "mode": 0, @@ -368,7 +458,7 @@ "name": "*", "type": "CLIP", "links": [ - 248 + 265 ], "slot_index": 0, "shape": 3, @@ -384,621 +474,21 @@ "color": "#432", "bgcolor": "#653" }, - { - "id": 44, - "type": "CLIPTextEncode", - "pos": [ - 405.2821350097656, - 227.59646606445312 - ], - "size": [ - 422.84503173828125, - 164.31304931640625 - ], - "flags": {}, - "order": 22, - "mode": 0, - "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 249 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 175 - ], - "slot_index": 0 - } - ], - "title": "CLIP Text Encode (Positive Prompt)", - "properties": { - "Node name for S&R": "CLIPTextEncode" - }, - "widgets_values": [ - "anime style anime girl with massive fennec ears and one big fluffy tail, she has blonde hair long hair blue eyes wearing a pink sweater and a long blue skirt walking in a beautiful outdoor scenery with snow mountains in the background" - ], - "color": "#232", - "bgcolor": "#353" - }, - { - "id": 17, - "type": "BasicScheduler", - "pos": [ - 478, - 860 - ], - "size": [ - 315, - 106 - ], - "flags": {}, - "order": 21, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 254, - "slot_index": 0 - } - ], - "outputs": [ - { - "name": "SIGMAS", - "type": "SIGMAS", - "links": [ - 20 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicScheduler" - }, - "widgets_values": [ - "simple", - 10, - 1 - ] - }, - { - "id": 79, - "type": "DualCLIPLoaderMultiGPU", - "pos": [ - -553.4775390625, - 336.9512023925781 - ], - "size": [ - 315, - 130 - ], - "flags": {}, - "order": 4, - "mode": 4, - "inputs": [], - "outputs": [ - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 237 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "DualCLIPLoaderMultiGPU" - }, - "widgets_values": [ - "clip_l.safetensors", - "llava_llama3_fp8_scaled.safetensors", - "hunyuan_video", - "cuda:1" - ] - }, - { - "id": 80, - "type": "VAELoaderMultiGPU", - "pos": [ - -561.4585571289062, - 522.6740112304688 - ], - "size": [ - 322.5263366699219, - 82 - ], - "flags": {}, - "order": 5, - "mode": 4, - "inputs": [], - "outputs": [ - { - "name": "VAE", - "type": "VAE", - "links": [ - 239 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAELoaderMultiGPU" - }, - "widgets_values": [ - "hunyuan_video_vae_bf16.safetensors", - "cuda:1" - ] - }, - { - "id": 97, - "type": "UNETLoaderMultiGPU", - "pos": [ - -553.2993774414062, - 180.6386260986328 - ], - "size": [ - 315, - 106 - ], - "flags": {}, - "order": 6, - "mode": 4, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 251 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "UNETLoaderMultiGPU" - }, - "widgets_values": [ - "hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors", - "default", - "cuda:0" - ] - }, - { - "id": 25, - "type": "RandomNoise", - "pos": [ - 479, - 618 - ], - "size": [ - 315, - 82 - ], - "flags": {}, - "order": 7, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "NOISE", - "type": "NOISE", - "links": [ - 37 - ], - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "RandomNoise" - }, - "widgets_values": [ - 600209773969264, - "randomize" - ], - "color": "#2a363b", - "bgcolor": "#3f5159" - }, - { - "id": 85, - "type": "Any Switch (rgthree)", - "pos": [ - 205.77561950683594, - 152.2845916748047 - ], - "size": [ - 140, - 106 - ], - "flags": { - "collapsed": false - }, - "order": 18, - "mode": 0, - "inputs": [ - { - "name": "any_01", - "type": "MODEL", - "link": 240, - "dir": 3 - }, - { - "name": "any_02", - "type": "MODEL", - "link": 251, - "dir": 3 - }, - { - "name": "any_03", - "type": "MODEL", - "link": 234, - "dir": 3 - }, - { - "name": "any_04", - "type": "MODEL", - "link": null, - "dir": 3 - }, - { - "name": "any_05", - "type": "MODEL", - "link": null, - "dir": 3 - } - ], - "outputs": [ - { - "name": "*", - "type": "MODEL", - "links": [ - 245 - ], - "slot_index": 0, - "shape": 3, - "dir": 4, - "label": "MODEL" - } - ], - "title": "VAE Switch", - "properties": { - "Node name for S&R": "Any Switch (rgthree)" - }, - "widgets_values": [], - "color": "#323", - "bgcolor": "#535" - }, - { - "id": 77, - "type": "Note", - "pos": [ - -484.1094970703125, - -235.072021484375 - ], - "size": [ - 210, - 121.95851135253906 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [], - "outputs": [], - "properties": {}, - "widgets_values": [ - "The switches take the first enabled loader in this order:\n\n1. GGUFMultiGPU\n2. MultiGPU\n3. Standard Loaders" - ], - "color": "#432", - "bgcolor": "#653" - }, - { - "id": 11, - "type": "DualCLIPLoader", - "pos": [ - -205.30178833007812, - 359.85260009765625 - ], - "size": [ - 350, - 106 - ], - "flags": {}, - "order": 9, - "mode": 4, - "inputs": [], - "outputs": [ - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 236 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "DualCLIPLoader" - }, - "widgets_values": [ - "clip_l.safetensors", - "llava_llama3_fp8_scaled.safetensors", - "hunyuan_video" - ] - }, - { - "id": 10, - "type": "VAELoader", - "pos": [ - -206.71307373046875, - 546.1136474609375 - ], - "size": [ - 350, - 60 - ], - "flags": {}, - "order": 10, - "mode": 4, - "inputs": [], - "outputs": [ - { - "name": "VAE", - "type": "VAE", - "links": [ - 238 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAELoader" - }, - "widgets_values": [ - "hunyuan_video_vae_bf16.safetensors" - ] - }, - { - "id": 12, - "type": "UNETLoader", - "pos": [ - -198.3746795654297, - 211.21337890625 - ], - "size": [ - 350, - 82 - ], - "flags": {}, - "order": 11, - "mode": 4, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 234 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "UNETLoader" - }, - "widgets_values": [ - "hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors", - "default" - ], - "color": "#223", - "bgcolor": "#335" - }, - { - "id": 8, - "type": "VAEDecode", - "pos": [ - 1193.482177734375, - 196.2703399658203 - ], - "size": [ - 210, - 46 - ], - "flags": {}, - "order": 26, - "mode": 4, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 181 - }, - { - "name": "vae", - "type": "VAE", - "link": 225 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 263 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "widgets_values": [] - }, - { - "id": 73, - "type": "VAEDecodeTiled", - "pos": [ - 1184.412841796875, - 323.4392395019531 - ], - "size": [ - 210, - 150 - ], - "flags": {}, - "order": 27, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 210 - }, - { - "name": "vae", - "type": "VAE", - "link": 226 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 262 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEDecodeTiled" - }, - "widgets_values": [ - 256, - 64, - 64, - 8 - ] - }, - { - "id": 74, - "type": "Note", - "pos": [ - 1175.0494384765625, - 535.6268310546875 - ], - "size": [ - 253.48550415039062, - 93.06423950195312 - ], - "flags": {}, - "order": 12, - "mode": 0, - "inputs": [], - "outputs": [], - "properties": {}, - "widgets_values": [ - "Use the tiled decode node by default because most people will need it.\n\nLower the tile_size and overlap if you run out of memory." - ], - "color": "#432", - "bgcolor": "#653" - }, - { - "id": 100, - "type": "Note", - "pos": [ - 973.338134765625, - -10.513040542602539 - ], - "size": [ - 219.19873046875, - 112.34152221679688 - ], - "flags": {}, - "order": 13, - "mode": 0, - "inputs": [], - "outputs": [], - "properties": {}, - "widgets_values": [ - "The switches take the first enabled decoder in this order:\n\n1. VAE Decode (Tiled)\n2. VAE Decode" - ], - "color": "#432", - "bgcolor": "#653" - }, - { - "id": 96, - "type": "LoraLoader", - "pos": [ - -169.24105834960938, - -57.538795471191406 - ], - "size": [ - 526.4224853515625, - 126 - ], - "flags": {}, - "order": 19, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 245 - }, - { - "name": "clip", - "type": "CLIP", - "link": 248 - } - ], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 250, - 254 - ], - "slot_index": 0 - }, - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 249 - ], - "slot_index": 1 - } - ], - "properties": { - "Node name for S&R": "LoraLoader" - }, - "widgets_values": [ - "hyvideo_FastVideo_LoRA-fp8.safetensors", - 1, - 1 - ] - }, { "id": 22, "type": "BasicGuider", "pos": [ - 548.3943481445312, - -3.2936020488705253e-7 + 596.327880859375, + 186.22683715820312 ], "size": [ 222.3482666015625, 46 ], - "flags": {}, - "order": 24, + "flags": { + "collapsed": true + }, + "order": 22, "mode": 0, "inputs": [ { @@ -1031,15 +521,50 @@ "widgets_values": [] }, { - "id": 67, - "type": "ModelSamplingSD3", + "id": 45, + "type": "EmptyHunyuanLatentVideo", "pos": [ - 475.8700866699219, - -108.06307983398438 + 362.15252685546875, + 427.1428527832031 ], "size": [ 210, - 58 + 130 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 180 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyHunyuanLatentVideo" + }, + "widgets_values": [ + 848, + 480, + 73, + 1 + ] + }, + { + "id": 17, + "type": "BasicScheduler", + "pos": [ + 578.1046142578125, + 433.7712707519531 + ], + "size": [ + 210, + 109.8011474609375 ], "flags": {}, "order": 20, @@ -1048,114 +573,156 @@ { "name": "model", "type": "MODEL", - "link": 250 + "link": 267, + "slot_index": 0 } ], "outputs": [ { - "name": "MODEL", - "type": "MODEL", + "name": "SIGMAS", + "type": "SIGMAS", "links": [ - 252 + 20 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "simple", + 20, + 1 + ] + }, + { + "id": 44, + "type": "CLIPTextEncode", + "pos": [ + 354.07879638671875, + 223.81649780273438 + ], + "size": [ + 422.84503173828125, + 164.31304931640625 + ], + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 265 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 175 ], "slot_index": 0 } ], + "title": "CLIP Text Encode (Positive Prompt)", "properties": { - "Node name for S&R": "ModelSamplingSD3" + "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ - 7 - ] + "anime style anime girl with massive fennec ears and one big fluffy tail, she has blonde hair long hair blue eyes wearing a pink sweater and a long blue skirt walking in a beautiful outdoor scenery with snow mountains in the background" + ], + "color": "#232", + "bgcolor": "#353" }, { - "id": 99, - "type": "Any Switch (rgthree)", + "id": 25, + "type": "RandomNoise", "pos": [ - 1254.8509521484375, - -16.038217544555664 + 540.6160888671875, + 97.0975570678711 ], "size": [ - 140, - 106 + 250.37998962402344, + 82 ], - "flags": { - "collapsed": false - }, - "order": 28, + "flags": {}, + "order": 11, "mode": 0, - "inputs": [ - { - "name": "any_01", - "type": "IMAGE", - "link": 263, - "dir": 3 - }, - { - "name": "any_02", - "type": "IMAGE", - "link": 262, - "dir": 3 - }, - { - "name": "any_03", - "type": "IMAGE", - "link": null, - "dir": 3 - }, - { - "name": "any_04", - "type": "IMAGE", - "link": null, - "dir": 3 - }, - { - "name": "any_05", - "type": "IMAGE", - "link": null, - "dir": 3 - } - ], + "inputs": [], "outputs": [ { - "name": "*", - "type": "IMAGE", + "name": "NOISE", + "type": "NOISE", "links": [ - 264 + 37 ], - "slot_index": 0, - "shape": 3, - "dir": 4, - "label": "IMAGE" + "shape": 3 } ], - "title": "VAE Switch", "properties": { - "Node name for S&R": "Any Switch (rgthree)" + "Node name for S&R": "RandomNoise" }, - "widgets_values": [], - "color": "#323", - "bgcolor": "#535" + "widgets_values": [ + 5770521, + "fixed" + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 16, + "type": "KSamplerSelect", + "pos": [ + 820.9358520507812, + 114.4560546875 + ], + "size": [ + 210, + 58 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 19 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "KSamplerSelect" + }, + "widgets_values": [ + "euler" + ] }, { "id": 102, "type": "VHS_VideoCombine", "pos": [ - 1496.3067626953125, - -18.808500289916992 + 1125.0836181640625, + 102.98095703125 ], "size": [ 580.7774658203125, - 665.77392578125 + 665.4212036132812 ], "flags": {}, - "order": 29, + "order": 25, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", - "link": 264 + "link": 268 }, { "name": "audio", @@ -1201,66 +768,31 @@ "hidden": false, "paused": false, "params": { - "filename": "", + "filename": "HunyuanVideo_00057.mp4", "subfolder": "", "type": "output", "format": "video/h264-mp4", "frame_rate": 24, - "workflow": "", - "fullpath": "" + "workflow": "HunyuanVideo_00057.png", + "fullpath": "/home/johnj/ComfyUI/output/HunyuanVideo_00057.mp4" }, "muted": false } } }, - { - "id": 45, - "type": "EmptyHunyuanLatentVideo", - "pos": [ - 475.540771484375, - 432.673583984375 - ], - "size": [ - 315, - 130 - ], - "flags": {}, - "order": 14, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 180 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "EmptyHunyuanLatentVideo" - }, - "widgets_values": [ - 848, - 480, - 73, - 1 - ] - }, { "id": 89, "type": "Fast Groups Bypasser (rgthree)", "pos": [ - -588.28515625, - -66.94612121582031 + -397.3174743652344, + -10.415107727050781 ], "size": [ - 371.0972900390625, - 168.46971130371094 + 373.6060485839844, + 106 ], "flags": {}, - "order": 15, + "order": 13, "mode": 0, "inputs": [], "outputs": [ @@ -1278,7 +810,297 @@ "sort": "position", "customSortAlphabet": "", "toggleRestriction": "default" - } + }, + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 77, + "type": "Note", + "pos": [ + -235.55711364746094, + -189.51280212402344 + ], + "size": [ + 210, + 121.95851135253906 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "The switches take the first enabled loader in this order:\n\n1. GGUFMultiGPU\n2. MultiGPU\n3. Standard Loaders" + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 85, + "type": "Any Switch (rgthree)", + "pos": [ + 190.27281188964844, + 241.24795532226562 + ], + "size": [ + 140, + 106 + ], + "flags": { + "collapsed": true + }, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "any_01", + "type": "MODEL", + "link": 240, + "dir": 3 + }, + { + "name": "any_02", + "type": "MODEL", + "link": 251, + "dir": 3 + }, + { + "name": "any_03", + "type": "MODEL", + "link": 234, + "dir": 3 + }, + { + "name": "any_04", + "type": "MODEL", + "link": null, + "dir": 3 + }, + { + "name": "any_05", + "type": "MODEL", + "link": null, + "dir": 3 + } + ], + "outputs": [ + { + "name": "*", + "type": "MODEL", + "links": [ + 266, + 267 + ], + "slot_index": 0, + "shape": 3, + "dir": 4, + "label": "MODEL" + } + ], + "title": "UNet Switch", + "properties": { + "Node name for S&R": "Any Switch (rgthree)" + }, + "widgets_values": [], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 26, + "type": "FluxGuidance", + "pos": [ + 339.6404113769531, + 124.61022186279297 + ], + "size": [ + 211.60000610351562, + 58 + ], + "flags": {}, + "order": 21, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 175 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 129 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "FluxGuidance" + }, + "widgets_values": [ + 6 + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 67, + "type": "ModelSamplingSD3", + "pos": [ + 358.3191833496094, + 608.4481201171875 + ], + "size": [ + 210, + 58 + ], + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 266 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 252 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ModelSamplingSD3" + }, + "widgets_values": [ + 7 + ] + }, + { + "id": 73, + "type": "VAEDecodeTiled", + "pos": [ + 573.7927856445312, + 583.8195190429688 + ], + "size": [ + 210, + 150 + ], + "flags": {}, + "order": 24, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 210 + }, + { + "name": "vae", + "type": "VAE", + "link": 226 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 268 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecodeTiled" + }, + "widgets_values": [ + 256, + 64, + 64, + 8 + ] + }, + { + "id": 13, + "type": "SamplerCustomAdvanced", + "pos": [ + 815.8301391601562, + 241.12867736816406 + ], + "size": [ + 292.4319763183594, + 479.03521728515625 + ], + "flags": { + "collapsed": false + }, + "order": 23, + "mode": 0, + "inputs": [ + { + "name": "noise", + "type": "NOISE", + "link": 37, + "slot_index": 0 + }, + { + "name": "guider", + "type": "GUIDER", + "link": 30, + "slot_index": 1 + }, + { + "name": "sampler", + "type": "SAMPLER", + "link": 19, + "slot_index": 2 + }, + { + "name": "sigmas", + "type": "SIGMAS", + "link": 20, + "slot_index": 3 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 180, + "slot_index": 4 + } + ], + "outputs": [ + { + "name": "output", + "type": "LATENT", + "links": [ + 210 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "denoised_output", + "type": "LATENT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "SamplerCustomAdvanced" + }, + "widgets_values": [] } ], "links": [ @@ -1338,14 +1160,6 @@ 4, "LATENT" ], - [ - 181, - 13, - 0, - 8, - 0, - "LATENT" - ], [ 210, 13, @@ -1354,14 +1168,6 @@ 0, "LATENT" ], - [ - 225, - 81, - 0, - 8, - 1, - "VAE" - ], [ 226, 81, @@ -1434,38 +1240,6 @@ 0, "VAE" ], - [ - 245, - 85, - 0, - 96, - 0, - "MODEL" - ], - [ - 248, - 82, - 0, - 96, - 1, - "CLIP" - ], - [ - 249, - 96, - 1, - 44, - 0, - "CLIP" - ], - [ - 250, - 96, - 0, - 67, - 0, - "MODEL" - ], [ 251, 97, @@ -1483,33 +1257,33 @@ "MODEL" ], [ - 254, - 96, + 265, + 82, + 0, + 44, + 0, + "CLIP" + ], + [ + 266, + 85, + 0, + 67, + 0, + "MODEL" + ], + [ + 267, + 85, 0, 17, 0, "MODEL" ], [ - 262, + 268, 73, 0, - 99, - 1, - "IMAGE" - ], - [ - 263, - 8, - 0, - 99, - 0, - "IMAGE" - ], - [ - 264, - 99, - 0, 102, 0, "IMAGE" @@ -1538,7 +1312,7 @@ 359.0994567871094, 514.8541259765625 ], - "color": "#8A8", + "color": "#b06634", "font_size": 24, "flags": {} }, @@ -1554,28 +1328,15 @@ "color": "#A88", "font_size": 24, "flags": {} - }, - { - "id": 4, - "title": "Decode (Non-Tiled)", - "bounding": [ - 1180.9410400390625, - 118.11326599121094, - 243.5144805908203, - 153.77468872070312 - ], - "color": "#3f789e", - "font_size": 24, - "flags": {} } ], "config": {}, "extra": { "ds": { - "scale": 0.7247295000000619, + "scale": 0.7972024500001058, "offset": [ - 1469.841157903555, - 489.56928394079773 + 1178.4994559657323, + 395.63671832414315 ] }, "groupNodes": {}, diff --git a/examples/hunyuan_cpu_1gpu_GGUF.json b/examples/hunyuan_cpu_1gpu_GGUF.json new file mode 100644 index 0000000..223a9eb --- /dev/null +++ b/examples/hunyuan_cpu_1gpu_GGUF.json @@ -0,0 +1,767 @@ +{ + "last_node_id": 107, + "last_link_id": 282, + "nodes": [ + { + "id": 26, + "type": "FluxGuidance", + "pos": [ + 350.5116882324219, + 321.9669494628906 + ], + "size": [ + 211.60000610351562, + 58 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 175 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 129 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "FluxGuidance" + }, + "widgets_values": [ + 6 + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 16, + "type": "KSamplerSelect", + "pos": [ + 351.79522705078125, + 238.22244262695312 + ], + "size": [ + 210, + 58 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 19 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "KSamplerSelect" + }, + "widgets_values": [ + "euler" + ] + }, + { + "id": 44, + "type": "CLIPTextEncode", + "pos": [ + 352.4063415527344, + 110.92157745361328 + ], + "size": [ + 806.6873168945312, + 100.75743865966797 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 271 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 175 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Positive Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "anime style anime girl with massive fennec ears and one big fluffy tail, she has blonde hair long hair blue eyes wearing a pink sweater and a long blue skirt walking in a beautiful outdoor scenery with snow mountains in the background" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 103, + "type": "Note", + "pos": [ + -341.6152038574219, + 140.59632873535156 + ], + "size": [ + 353.56494140625, + 190.77996826171875 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "This workflow requires ComfyUI-GGUF", + "properties": {}, + "widgets_values": [ + "**⚠️ Dependency Alert! ⚠️**\n\nThis workflow relies on nodes from the [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF) custom node repository to function correctly. \n\nSpecifically:\n\n*\"CLIPLoaderGGUFMultiGPU\" \n\nwill not work without this dependency installed. Please install ComfyUI-GGUF before attempting to run this workflow." + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 25, + "type": "RandomNoise", + "pos": [ + 564.22607421875, + 246.15061950683594 + ], + "size": [ + 240.3448944091797, + 82 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "NOISE", + "type": "NOISE", + "links": [ + 37 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "RandomNoise" + }, + "widgets_values": [ + 5770521, + "fixed" + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 17, + "type": "BasicScheduler", + "pos": [ + 566.8038940429688, + 356.6055908203125 + ], + "size": [ + 210, + 109.8011474609375 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 270, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 20 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "simple", + 20, + 1 + ] + }, + { + "id": 67, + "type": "ModelSamplingSD3", + "pos": [ + 353.3148193359375, + 580.4356689453125 + ], + "size": [ + 210, + 58 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 269 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 252 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ModelSamplingSD3" + }, + "widgets_values": [ + 7 + ] + }, + { + "id": 45, + "type": "EmptyHunyuanLatentVideo", + "pos": [ + 348.5732116699219, + 417.52801513671875 + ], + "size": [ + 210, + 130 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 180 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyHunyuanLatentVideo" + }, + "widgets_values": [ + 848, + 480, + 73, + 1 + ] + }, + { + "id": 87, + "type": "DualCLIPLoaderGGUFMultiGPU", + "pos": [ + 21.471084594726562, + 250.58938598632812 + ], + "size": [ + 327.5999755859375, + 130 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 271 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoaderGGUFMultiGPU" + }, + "widgets_values": [ + "clip_l.safetensors", + "llava-llama-3-8B-v1_1-Q4_K_M.gguf", + "hunyuan_video", + "cpu" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 88, + "type": "VAELoaderMultiGPU", + "pos": [ + 16.678661346435547, + 554.1597290039062 + ], + "size": [ + 322.5263366699219, + 82 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 280 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoaderMultiGPU" + }, + "widgets_values": [ + "hunyuan_video_vae_bf16.safetensors", + "cuda:0" + ] + }, + { + "id": 13, + "type": "SamplerCustomAdvanced", + "pos": [ + 811.649169921875, + 248.65501403808594 + ], + "size": [ + 342.43023681640625, + 387.5726623535156 + ], + "flags": { + "collapsed": false + }, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "noise", + "type": "NOISE", + "link": 37, + "slot_index": 0 + }, + { + "name": "guider", + "type": "GUIDER", + "link": 30, + "slot_index": 1 + }, + { + "name": "sampler", + "type": "SAMPLER", + "link": 19, + "slot_index": 2 + }, + { + "name": "sigmas", + "type": "SIGMAS", + "link": 20, + "slot_index": 3 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 180, + "slot_index": 4 + } + ], + "outputs": [ + { + "name": "output", + "type": "LATENT", + "links": [ + 281 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "denoised_output", + "type": "LATENT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "SamplerCustomAdvanced" + }, + "widgets_values": [] + }, + { + "id": 22, + "type": "BasicGuider", + "pos": [ + 579.3200073242188, + 506.49493408203125 + ], + "size": [ + 222.3482666015625, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 252, + "slot_index": 0 + }, + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 129, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 30 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicGuider" + }, + "widgets_values": [] + }, + { + "id": 107, + "type": "VAEDecodeTiled", + "pos": [ + 577.1324462890625, + 546.57861328125 + ], + "size": [ + 210, + 150 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 281 + }, + { + "name": "vae", + "type": "VAE", + "link": 280 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 282 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecodeTiled" + }, + "widgets_values": [ + 256, + 64, + 64, + 8 + ] + }, + { + "id": 86, + "type": "UnetLoaderGGUFMultiGPU", + "pos": [ + 28.1607723236084, + 124.31423950195312 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 269, + 270 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "UnetLoaderGGUFMultiGPU" + }, + "widgets_values": [ + "hunyuan-video-t2v-720p-Q4_K_M.gguf", + "cuda:0" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 102, + "type": "VHS_VideoCombine", + "pos": [ + 1161.8779296875, + -19.11272621154785 + ], + "size": [ + 580.7774658203125, + 665.4212036132812 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 282 + }, + { + "name": "audio", + "type": "AUDIO", + "link": null, + "shape": 7 + }, + { + "name": "meta_batch", + "type": "VHS_BatchManager", + "link": null, + "shape": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": null, + "shape": 7 + } + ], + "outputs": [ + { + "name": "Filenames", + "type": "VHS_FILENAMES", + "links": null + } + ], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 25, + "loop_count": 0, + "filename_prefix": "HunyuanVideo", + "format": "video/h264-mp4", + "pix_fmt": "yuv420p", + "crf": 19, + "save_metadata": true, + "trim_to_audio": false, + "pingpong": false, + "save_output": true, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "HunyuanVideo_00058.mp4", + "subfolder": "", + "type": "output", + "format": "video/h264-mp4", + "frame_rate": 24, + "workflow": "HunyuanVideo_00058.png", + "fullpath": "/home/johnj/ComfyUI/output/HunyuanVideo_00058.mp4" + }, + "muted": false + } + } + } + ], + "links": [ + [ + 19, + 16, + 0, + 13, + 2, + "SAMPLER" + ], + [ + 20, + 17, + 0, + 13, + 3, + "SIGMAS" + ], + [ + 30, + 22, + 0, + 13, + 1, + "GUIDER" + ], + [ + 37, + 25, + 0, + 13, + 0, + "NOISE" + ], + [ + 129, + 26, + 0, + 22, + 1, + "CONDITIONING" + ], + [ + 175, + 44, + 0, + 26, + 0, + "CONDITIONING" + ], + [ + 180, + 45, + 0, + 13, + 4, + "LATENT" + ], + [ + 252, + 67, + 0, + 22, + 0, + "MODEL" + ], + [ + 269, + 86, + 0, + 67, + 0, + "MODEL" + ], + [ + 270, + 86, + 0, + 17, + 0, + "MODEL" + ], + [ + 271, + 87, + 0, + 44, + 0, + "CLIP" + ], + [ + 280, + 88, + 0, + 107, + 1, + "VAE" + ], + [ + 281, + 13, + 0, + 107, + 0, + "LATENT" + ], + [ + 282, + 107, + 0, + 102, + 0, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 0.9646149645001282, + "offset": [ + 465.7708198313094, + 178.06262567367494 + ] + }, + "groupNodes": {}, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0 + }, + "version": 0.4 +} \ No newline at end of file diff --git a/examples/llamacpp_ltxv_2gpu_GGUF.json b/examples/llamacpp_ltxv_2gpu_GGUF.json index cdb221d..1bf49be 100644 --- a/examples/llamacpp_ltxv_2gpu_GGUF.json +++ b/examples/llamacpp_ltxv_2gpu_GGUF.json @@ -1,461 +1,62 @@ { - "last_node_id": 212, - "last_link_id": 461, + "last_node_id": 215, + "last_link_id": 468, "nodes": [ { - "id": 81, - "type": "BasicScheduler", + "id": 181, + "type": "Int2String", "pos": [ - 840, - 210 - ], - "size": [ - 315, - 106 - ], - "flags": {}, - "order": 19, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 261 - } - ], - "outputs": [ - { - "name": "SIGMAS", - "type": "SIGMAS", - "links": [ - 262 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "BasicScheduler" - }, - "widgets_values": [ - "normal", - 25, - 1 - ] - }, - { - "id": 87, - "type": "CLIPTextEncode", - "pos": [ - 530, - 290 + -180.57919311523438, + 626.5393676757812 ], "size": [ 210, - 54 + 34 ], "flags": {}, - "order": 24, + "order": 16, "mode": 0, "inputs": [ { - "name": "clip", - "type": "CLIP", - "link": 437 - }, - { - "name": "text", - "type": "STRING", - "link": 461, - "widget": { - "name": "text" - } - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 300 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncode" - }, - "widgets_values": [ - "" - ] - }, - { - "id": 8, - "type": "VAEDecode", - "pos": [ - 2120, - 230 - ], - "size": [ - 210, - 46 - ], - "flags": {}, - "order": 27, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 383 - }, - { - "name": "vae", - "type": "VAE", - "link": 442, - "slot_index": 1 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 435 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "widgets_values": [] - }, - { - "id": 36, - "type": "SamplerCustomAdvanced", - "pos": [ - 1720, - 210 - ], - "size": [ - 355.20001220703125, - 106 - ], - "flags": {}, - "order": 26, - "mode": 0, - "inputs": [ - { - "name": "noise", - "type": "NOISE", - "link": 72 - }, - { - "name": "guider", - "type": "GUIDER", - "link": 302, - "slot_index": 1 - }, - { - "name": "sampler", - "type": "SAMPLER", - "link": 70 - }, - { - "name": "sigmas", - "type": "SIGMAS", - "link": 380 - }, - { - "name": "latent_image", - "type": "LATENT", - "link": 258 - } - ], - "outputs": [ - { - "name": "output", - "type": "LATENT", - "links": [], - "slot_index": 0, - "shape": 3 - }, - { - "name": "denoised_output", - "type": "LATENT", - "links": [ - 383 - ], - "slot_index": 1, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "SamplerCustomAdvanced" - }, - "widgets_values": [] - }, - { - "id": 202, - "type": "LTXVLoaderMultiGPU", - "pos": [ - 258.11822509765625, - 74.89897918701172 - ], - "size": [ - 315, - 126 - ], - "flags": {}, - "order": 0, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "model", - "type": "MODEL", - "links": [ - 439 - ], - "slot_index": 0 - }, - { - "name": "vae", - "type": "VAE", - "links": [ - 441 - ], - "slot_index": 1 - } - ], - "properties": { - "Node name for S&R": "LTXVLoaderMultiGPU" - }, - "widgets_values": [ - "ltx-video-2b-v0.9.1.safetensors", - "bfloat16", - "cuda:1" - ] - }, - { - "id": 204, - "type": "easy cleanGpuUsed", - "pos": [ - 609.2266235351562, - 147.31503295898438 - ], - "size": [ - 210, - 26 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "name": "anything", - "type": "*", - "link": 439 - } - ], - "outputs": [ - { - "name": "output", - "type": "*", - "links": [ - 440 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "easy cleanGpuUsed" - }, - "widgets_values": [] - }, - { - "id": 103, - "type": "LTXVModelConfigurator", - "pos": [ - 840.919921875, - 378.1601867675781 - ], - "size": [ - 347.4894104003906, - 284.0930480957031 - ], - "flags": {}, - "order": 17, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 303 - }, - { - "name": "vae", - "type": "VAE", - "link": 443 - }, - { - "name": "conditioning", - "type": "IMAGE", - "link": null, - "shape": 7 - }, - { - "name": "initial_latent", - "type": "LATENT", - "link": null, - "shape": 7 - }, - { - "name": "frames_number", + "name": "Int", "type": "INT", - "link": 415, + "link": 394, "widget": { - "name": "frames_number" + "name": "Int" } } ], "outputs": [ { - "name": "model", - "type": "MODEL", - "links": [ - 261, - 299 - ], - "slot_index": 0 - }, - { - "name": "latent", - "type": "LATENT", - "links": [ - 258 - ], - "slot_index": 1 - }, - { - "name": "sigma_shift", - "type": "FLOAT", - "links": [ - 259 - ], - "slot_index": 2 - }, - { - "name": "image_prompt", + "name": "STRING", "type": "STRING", - "links": [], - "slot_index": 3 - } - ], - "properties": { - "Node name for S&R": "LTXVModelConfigurator" - }, - "widgets_values": [ - "Custom", - 768, - 768, - 105, - 25, - 1, - true, - 29 - ] - }, - { - "id": 205, - "type": "easy cleanGpuUsed", - "pos": [ - 1247.166015625, - 80.0715103149414 - ], - "size": [ - 210, - 26 - ], - "flags": {}, - "order": 11, - "mode": 0, - "inputs": [ - { - "name": "anything", - "type": "*", - "link": 441 - } - ], - "outputs": [ - { - "name": "output", - "type": "*", "links": [ - 442, - 443 + 456 ], "slot_index": 0 } ], "properties": { - "Node name for S&R": "easy cleanGpuUsed" - }, - "widgets_values": [] - }, - { - "id": 128, - "type": "LTXVApplySTG", - "pos": [ - 553.917236328125, - 556.3655395507812 - ], - "size": [ - 215.36399841308594, - 82 - ], - "flags": {}, - "order": 14, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 440 - } - ], - "outputs": [ - { - "name": "model", - "type": "MODEL", - "links": [ - 303 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "LTXVApplySTG" + "Node name for S&R": "Int2String" }, "widgets_values": [ - "attention", - "14" + 0 ] }, { "id": 211, "type": "Text Concatenate", "pos": [ - -203.04905700683594, - 661.5858154296875 + -130.7962188720703, + 734.2567138671875 ], "size": [ 210, 142 ], - "flags": {}, + "flags": { + "collapsed": true + }, "order": 18, "mode": 0, "inputs": [ @@ -518,19 +119,87 @@ "" ] }, + { + "id": 188, + "type": "DF_Text_Box", + "pos": [ + -371.0623779296875, + 575.6287841796875 + ], + "size": [ + 297.20721435546875, + 158.9346466064453 + ], + "flags": { + "collapsed": true + }, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 455 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DF_Text_Box" + }, + "widgets_values": [ + "This image is the starting frame for a silent AI Video. Your main task is to provide text that animates that image over an approximately " + ] + }, + { + "id": 212, + "type": "DF_Text_Box", + "pos": [ + -391.1495361328125, + 640.9624633789062 + ], + "size": [ + 210, + 129.40484619140625 + ], + "flags": { + "collapsed": true + }, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 457 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DF_Text_Box" + }, + "widgets_values": [ + " second timeframe. " + ] + }, { "id": 207, "type": "Load LLM Model Advanced", "pos": [ - -815.7191772460938, - 229.90646362304688 + -736.6093139648438, + 280.5001220703125 ], "size": [ 294.0935974121094, 826 ], "flags": {}, - "order": 1, + "order": 2, "mode": 0, "inputs": [], "outputs": [ @@ -555,7 +224,7 @@ false, true, false, - 1598, + 843, "randomize", 4096, 512, @@ -582,186 +251,16 @@ true ] }, - { - "id": 188, - "type": "DF_Text_Box", - "pos": [ - -514.0624389648438, - 628.4801635742188 - ], - "size": [ - 297.20721435546875, - 158.9346466064453 - ], - "flags": {}, - "order": 2, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 455 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "DF_Text_Box" - }, - "widgets_values": [ - "This image is the starting frame for a silent AI Video. Your main task is to provide text that animates that image over an approximately " - ] - }, - { - "id": 212, - "type": "DF_Text_Box", - "pos": [ - -510.98516845703125, - 845.92919921875 - ], - "size": [ - 210, - 129.40484619140625 - ], - "flags": {}, - "order": 3, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 457 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "DF_Text_Box" - }, - "widgets_values": [ - " second timeframe. " - ] - }, - { - "id": 182, - "type": "DF_Text_Box", - "pos": [ - -183.7174072265625, - 932.1046752929688 - ], - "size": [ - 210, - 129.40484619140625 - ], - "flags": {}, - "order": 4, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 460 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "DF_Text_Box" - }, - "widgets_values": [ - " Characters should not speak nor should there be any direction with mouths moving.\n\nFollow these steps to produce the final description:\n\nWhen writing prompts, focus on detailed, chronological descriptions of actions and scenes. Include specific movements, appearances, camera angles, and environmental details - all in a single flowing paragraph. Start directly with the action, and keep descriptions literal and precise. Think like a cinematographer describing a shot list. Keep within 200 words. For best results, build your prompts using this structure:\n\n1. Start with main action in a single sentence\n2. Add specific details about movements and gestures\n3. Describe character/object appearances precisely\n4. Include background and environment details\n5. Specify camera angles and movements\n6. Describe lighting and colors\n7. Note any changes or sudden events\n8. No Additional Commentary: Do not include instructions, reasoning steps, or any extra text outside the described scene. Do not provide explanations or justifications—only the final prompt description.\n\nExamples of Style:\n• The waves crash against the jagged rocks of the shoreline, sending spray high into the air.The rocks are a dark gray color, with sharp edges and deep crevices. The water is a clear blue-green, with white foam where the waves break against the rocks. The sky is a light gray, with a few white clouds dotting the horizon.\n\n• A man in a dimly lit room talks on a vintage telephone, hangs up, and looks down with a sad expression. He holds the black rotary phone to his right ear with his right hand, his left hand holding a rocks glass with amber liquid. He wears a brown suit jacket over a white shirt, and a gold ring on his left ring finger. His short hair is neatly combed, and he has light skin with visible wrinkles around his eyes. The camera remains stationary, focused on his face and upper body. The room is dark, lit only by a warm light source off-screen to the left, casting shadows on the wall behind him. The scene appears to be from a movie.\n\n• A man walks towards a window, looks out, and then turns around. He has short, dark hair, dark skin, and is wearing a brown coat over a red and gray scarf. He walks from left to right towards a window, his gaze fixed on something outside. The camera follows him from behind at a medium distance. The room is brightly lit, with white walls and a large window covered by a white curtain. As he approaches the window, he turns his head slightly to the left, then back to the right. He then turns his entire body to the right, facing the window. The camera remains stationary as he stands in front of the window. The scene is captured in real-life footage.\n\n• A clear, turquoise river flows through a rocky canyon, cascading over a small waterfall and forming a pool of water at the bottom.The river is the main focus of the scene, with its clear water reflecting the surrounding trees and rocks. The canyon walls are steep and rocky, with some vegetation growing on them. The trees are mostly pine trees, with their green needles contrasting with the brown and gray rocks. The overall tone of the scene is one of peace and tranquility." - ] - }, - { - "id": 189, - "type": "Text Concatenate", - "pos": [ - 86.9722900390625, - 880.65576171875 - ], - "size": [ - 210, - 142 - ], - "flags": {}, - "order": 20, - "mode": 0, - "inputs": [ - { - "name": "text_a", - "type": "STRING", - "link": 458, - "widget": { - "name": "text_a" - }, - "shape": 7 - }, - { - "name": "text_b", - "type": "STRING", - "link": 459, - "widget": { - "name": "text_b" - }, - "shape": 7 - }, - { - "name": "text_c", - "type": "STRING", - "link": 460, - "widget": { - "name": "text_c" - }, - "shape": 7 - }, - { - "name": "text_d", - "type": "STRING", - "link": null, - "widget": { - "name": "text_d" - }, - "shape": 7 - } - ], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 446 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "Text Concatenate" - }, - "widgets_values": [ - " ", - "true", - "", - "", - "", - "" - ] - }, { "id": 209, "type": "Call LLM Basic", "pos": [ - -526.1875, - 394.1945495605469 + -434.3664245605469, + 261.5642395019531 ], "size": [ - 287.6822204589844, - 193.92877197265625 + 242.60797119140625, + 182.89016723632812 ], "flags": {}, "order": 22, @@ -775,7 +274,7 @@ { "name": "prompt", "type": "STRING", - "link": 446, + "link": 468, "widget": { "name": "prompt" } @@ -798,54 +297,687 @@ "", 0, 0.8, - 900, + 1184, "randomize" ] }, { - "id": 210, - "type": "DF_Text_Box", + "id": 198, + "type": "CLIPLoaderGGUFMultiGPU", "pos": [ - -739.7990112304688, - 1164.0989990234375 + -176.99197387695312, + 280.9527282714844 ], "size": [ - 638.6656494140625, - 261.8680725097656 + 341.3982238769531, + 111.51930236816406 ], "flags": {}, - "order": 5, + "order": 3, "mode": 0, "inputs": [], "outputs": [ { - "name": "STRING", - "type": "STRING", + "name": "CLIP", + "type": "CLIP", "links": [ - 459 + 465, + 466 ], "slot_index": 0 } ], "properties": { - "Node name for S&R": "DF_Text_Box" + "Node name for S&R": "CLIPLoaderGGUFMultiGPU" }, "widgets_values": [ - "A festive hholiday scene by a fireplace" + "t5-v1_1-xxl-encoder-Q4_K_M.gguf", + "ltxv", + "cuda:1" ], - "color": "#233", - "bgcolor": "#355" + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 214, + "type": "Note", + "pos": [ + 176.02410888671875, + 40.68440628051758 + ], + "size": [ + 343.9981384277344, + 185.81265258789062 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "This workflow requires ComfyUI-LTXVideo", + "properties": {}, + "widgets_values": [ + "**⚠️ Dependency Alert! ⚠️**\n\nThis workflow relies on nodes from the [ComfyUI-LTXVideo](https://github.com/Lightricks/ComfyUI-LTXVideo) custom node repository to function correctly. \n\nSpecifically:\n\n*\"LTXVLoaderMultiGPU\" \n\nwill not work without this dependency installed. Please install ComfyUI-LTXVideo before attempting to run this workflow." + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 213, + "type": "Note", + "pos": [ + -182.43275451660156, + 31.42535400390625 + ], + "size": [ + 351.357177734375, + 190.41204833984375 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "This workflow requires ComfyUI-GGUF", + "properties": {}, + "widgets_values": [ + "**⚠️ Dependency Alert! ⚠️**\n\nThis workflow relies on nodes from the [ComfyUI-GGUF](https://github.com/city96/ComfyUI-GGUF) custom node repository to function correctly. \n\nSpecifically:\n\n*\"CLIPLoaderGGUFMultiGPU\" \n\nwill not work without this dependency installed. Please install ComfyUI-GGUF before attempting to run this workflow." + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 202, + "type": "LTXVLoaderMultiGPU", + "pos": [ + 175.00552368164062, + 281.73443603515625 + ], + "size": [ + 325.75799560546875, + 133.79144287109375 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "model", + "type": "MODEL", + "links": [ + 462 + ], + "slot_index": 0 + }, + { + "name": "vae", + "type": "VAE", + "links": [ + 463, + 464 + ], + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "LTXVLoaderMultiGPU" + }, + "widgets_values": [ + "ltx-video-2b-v0.9.1.safetensors", + "bfloat16", + "cuda:1" + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 103, + "type": "LTXVModelConfigurator", + "pos": [ + 521.1898193359375, + 274.0011901855469 + ], + "size": [ + 347.4894104003906, + 284.0930480957031 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 303 + }, + { + "name": "vae", + "type": "VAE", + "link": 463 + }, + { + "name": "conditioning", + "type": "IMAGE", + "link": null, + "shape": 7 + }, + { + "name": "initial_latent", + "type": "LATENT", + "link": null, + "shape": 7 + }, + { + "name": "frames_number", + "type": "INT", + "link": 415, + "widget": { + "name": "frames_number" + } + } + ], + "outputs": [ + { + "name": "model", + "type": "MODEL", + "links": [ + 261, + 299 + ], + "slot_index": 0 + }, + { + "name": "latent", + "type": "LATENT", + "links": [ + 258 + ], + "slot_index": 1 + }, + { + "name": "sigma_shift", + "type": "FLOAT", + "links": [ + 259 + ], + "slot_index": 2 + }, + { + "name": "image_prompt", + "type": "STRING", + "links": [], + "slot_index": 3 + } + ], + "properties": { + "Node name for S&R": "LTXVModelConfigurator" + }, + "widgets_values": [ + "Custom", + 768, + 768, + 105, + 24, + 1, + true, + 29 + ] + }, + { + "id": 128, + "type": "LTXVApplySTG", + "pos": [ + 547.5906982421875, + 45.631866455078125 + ], + "size": [ + 215.36399841308594, + 82 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 462 + } + ], + "outputs": [ + { + "name": "model", + "type": "MODEL", + "links": [ + 303 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "LTXVApplySTG" + }, + "widgets_values": [ + "attention", + "14" + ] + }, + { + "id": 81, + "type": "BasicScheduler", + "pos": [ + 791.6048583984375, + 34.26539993286133 + ], + "size": [ + 214.73275756835938, + 117.03860473632812 + ], + "flags": {}, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 261 + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 262 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "normal", + 25, + 1 + ] + }, + { + "id": 37, + "type": "RandomNoise", + "pos": [ + 1016.0304565429688, + 40.483917236328125 + ], + "size": [ + 242.3292694091797, + 86.5993881225586 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "NOISE", + "type": "NOISE", + "links": [ + 72 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "RandomNoise" + }, + "widgets_values": [ + 5770521, + "fixed" + ] + }, + { + "id": 14, + "type": "KSamplerSelect", + "pos": [ + 575.9047241210938, + 173.7681121826172 + ], + "size": [ + 210, + 58 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 70 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "KSamplerSelect" + }, + "widgets_values": [ + "euler_ancestral" + ] + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 845.4096069335938, + 196.4519805908203 + ], + "size": [ + 210, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 27, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 383 + }, + { + "name": "vae", + "type": "VAE", + "link": 464, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 435 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 36, + "type": "SamplerCustomAdvanced", + "pos": [ + 991.9296875, + 203.67120361328125 + ], + "size": [ + 355.20001220703125, + 106 + ], + "flags": { + "collapsed": true + }, + "order": 26, + "mode": 0, + "inputs": [ + { + "name": "noise", + "type": "NOISE", + "link": 72 + }, + { + "name": "guider", + "type": "GUIDER", + "link": 302, + "slot_index": 1 + }, + { + "name": "sampler", + "type": "SAMPLER", + "link": 70 + }, + { + "name": "sigmas", + "type": "SIGMAS", + "link": 380 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 258 + } + ], + "outputs": [ + { + "name": "output", + "type": "LATENT", + "links": [], + "slot_index": 0, + "shape": 3 + }, + { + "name": "denoised_output", + "type": "LATENT", + "links": [ + 383 + ], + "slot_index": 1, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "SamplerCustomAdvanced" + }, + "widgets_values": [] + }, + { + "id": 87, + "type": "CLIPTextEncode", + "pos": [ + 379.4288635253906, + 742.2587890625 + ], + "size": [ + 210, + 54 + ], + "flags": { + "collapsed": true + }, + "order": 24, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 465 + }, + { + "name": "text", + "type": "STRING", + "link": 461, + "widget": { + "name": "text" + } + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 300 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ] + }, + { + "id": 88, + "type": "CLIPTextEncode", + "pos": [ + 376.0666198730469, + 478.83453369140625 + ], + "size": [ + 210, + 88.87834167480469 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 466 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 301 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "worst quality, inconsistent motion, blurry, jittery, distorted, watermarks" + ] + }, + { + "id": 104, + "type": "LTXVShiftSigmas", + "pos": [ + 385.7358703613281, + 601.4862060546875 + ], + "size": [ + 210, + 102 + ], + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "sigmas", + "type": "SIGMAS", + "link": 262 + }, + { + "name": "sigma_shift", + "type": "FLOAT", + "link": 259, + "widget": { + "name": "sigma_shift" + } + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 380 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "LTXVShiftSigmas" + }, + "widgets_values": [ + 1.820833333, + true, + 0.1 + ] + }, + { + "id": 130, + "type": "STGGuider", + "pos": [ + 608.35693359375, + 590.1034545898438 + ], + "size": [ + 210, + 146 + ], + "flags": {}, + "order": 25, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 299 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 300 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 301 + } + ], + "outputs": [ + { + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 302 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "STGGuider" + }, + "widgets_values": [ + 3, + 1, + 0.75 + ] }, { "id": 197, "type": "VHS_VideoCombine", "pos": [ - 1681.58544921875, - 427.92242431640625 + 916.2783813476562, + 240.25692749023438 ], "size": [ - 778.2835693359375, - 1106.2835693359375 + 566.8024291992188, + 894.8024291992188 ], "flags": {}, "order": 28, @@ -900,13 +1032,13 @@ "hidden": false, "paused": false, "params": { - "filename": "LTXVideo__00017.mp4", + "filename": "LTXVideo__00044.mp4", "subfolder": "", "type": "output", "format": "video/h264-mp4", "frame_rate": 24, - "workflow": "LTXVideo__00017.png", - "fullpath": "" + "workflow": "LTXVideo__00044.png", + "fullpath": "/home/johnj/ComfyUI/output/LTXVideo__00044.mp4" }, "muted": false } @@ -915,293 +1047,53 @@ "bgcolor": "#535" }, { - "id": 37, - "type": "RandomNoise", + "id": 210, + "type": "DF_Text_Box", "pos": [ - 1221.1922607421875, - 186.72694396972656 + 52.806190490722656, + 479.7900390625 ], "size": [ - 315, - 82 + 302.9082946777344, + 151.43038940429688 ], "flags": {}, - "order": 6, + "order": 9, "mode": 0, "inputs": [], "outputs": [ { - "name": "NOISE", - "type": "NOISE", + "name": "STRING", + "type": "STRING", "links": [ - 72 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "RandomNoise" - }, - "widgets_values": [ - 619632012901626, - "randomize" - ] - }, - { - "id": 14, - "type": "KSamplerSelect", - "pos": [ - 1254.584228515625, - 318.7507019042969 - ], - "size": [ - 315, - 58 - ], - "flags": {}, - "order": 7, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "SAMPLER", - "type": "SAMPLER", - "links": [ - 70 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "KSamplerSelect" - }, - "widgets_values": [ - "euler_ancestral" - ] - }, - { - "id": 104, - "type": "LTXVShiftSigmas", - "pos": [ - 1276.8455810546875, - 435.833740234375 - ], - "size": [ - 315, - 106 - ], - "flags": {}, - "order": 21, - "mode": 0, - "inputs": [ - { - "name": "sigmas", - "type": "SIGMAS", - "link": 262 - }, - { - "name": "sigma_shift", - "type": "FLOAT", - "link": 259, - "widget": { - "name": "sigma_shift" - } - } - ], - "outputs": [ - { - "name": "SIGMAS", - "type": "SIGMAS", - "links": [ - 380 + 459 ], "slot_index": 0 } ], + "title": "Short video description", "properties": { - "Node name for S&R": "LTXVShiftSigmas" + "Node name for S&R": "DF_Text_Box" }, "widgets_values": [ - 1.820833333, - true, - 0.1 - ] - }, - { - "id": 130, - "type": "STGGuider", - "pos": [ - 1275.833740234375, - 593.8101196289062 + "A rustic winter snowball fight, at night, under streetlamps" ], - "size": [ - 310.2327575683594, - 146 - ], - "flags": {}, - "order": 25, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 299 - }, - { - "name": "positive", - "type": "CONDITIONING", - "link": 300 - }, - { - "name": "negative", - "type": "CONDITIONING", - "link": 301 - } - ], - "outputs": [ - { - "name": "GUIDER", - "type": "GUIDER", - "links": [ - 302 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "STGGuider" - }, - "widgets_values": [ - 3, - 1, - 0.75 - ] - }, - { - "id": 198, - "type": "CLIPLoaderGGUFMultiGPU", - "pos": [ - -172.5598907470703, - 289.73358154296875 - ], - "size": [ - 327.5999755859375, - 106 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 436 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "CLIPLoaderGGUFMultiGPU" - }, - "widgets_values": [ - "t5-v1_1-xxl-encoder-Q4_K_M.gguf", - "ltxv", - "cuda:1" - ] - }, - { - "id": 203, - "type": "easy cleanGpuUsed", - "pos": [ - 201.4422149658203, - 308.2027893066406 - ], - "size": [ - 210, - 26 - ], - "flags": {}, - "order": 12, - "mode": 0, - "inputs": [ - { - "name": "anything", - "type": "*", - "link": 436 - } - ], - "outputs": [ - { - "name": "output", - "type": "*", - "links": [ - 437, - 438 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "easy cleanGpuUsed" - }, - "widgets_values": [] - }, - { - "id": 88, - "type": "CLIPTextEncode", - "pos": [ - 526.0446166992188, - 394.29669189453125 - ], - "size": [ - 216.46029663085938, - 85.68096923828125 - ], - "flags": {}, - "order": 15, - "mode": 0, - "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 438 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 301 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncode" - }, - "widgets_values": [ - "worst quality, inconsistent motion, blurry, jittery, distorted, watermarks" - ] + "color": "#233", + "bgcolor": "#355" }, { "id": 190, "type": "easy mathInt", "pos": [ - -131.58926391601562, - 452.7863464355469 + -193.30531311035156, + 477.45611572265625 ], "size": [ 210, 82 ], "flags": {}, - "order": 13, + "order": 14, "mode": 0, "inputs": [ { @@ -1228,64 +1120,23 @@ }, "widgets_values": [ 0, - 25, + 24, "divide" ] }, - { - "id": 181, - "type": "Int2String", - "pos": [ - -167.70066833496094, - 584.2247924804688 - ], - "size": [ - 210, - 34 - ], - "flags": {}, - "order": 16, - "mode": 0, - "inputs": [ - { - "name": "Int", - "type": "INT", - "link": 394, - "widget": { - "name": "Int" - } - } - ], - "outputs": [ - { - "name": "STRING", - "type": "STRING", - "links": [ - 456 - ], - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "Int2String" - }, - "widgets_values": [ - 0 - ] - }, { "id": 194, "type": "Int", "pos": [ - 131.94740295410156, - 521.0357055664062 + 65.46501922607422, + 672.9832153320312 ], "size": [ - 315, + 291.9181823730469, 58 ], "flags": {}, - "order": 9, + "order": 10, "mode": 0, "inputs": [], "outputs": [ @@ -1299,26 +1150,183 @@ "slot_index": 0 } ], - "title": "Frames (N*8+1)", + "title": "# of Video Frames, 24FPS, (N*8+1)", "properties": { "Node name for S&R": "Int" }, "widgets_values": [ - "129" + "73" ], "color": "#233", "bgcolor": "#355" }, + { + "id": 189, + "type": "Text Concatenate", + "pos": [ + -310.4175109863281, + 732.5546264648438 + ], + "size": [ + 210, + 142 + ], + "flags": { + "collapsed": true + }, + "order": 20, + "mode": 0, + "inputs": [ + { + "name": "text_a", + "type": "STRING", + "link": 458, + "widget": { + "name": "text_a" + }, + "shape": 7 + }, + { + "name": "text_b", + "type": "STRING", + "link": 459, + "widget": { + "name": "text_b" + }, + "shape": 7 + }, + { + "name": "text_c", + "type": "STRING", + "link": 460, + "widget": { + "name": "text_c" + }, + "shape": 7 + }, + { + "name": "text_d", + "type": "STRING", + "link": null, + "widget": { + "name": "text_d" + }, + "shape": 7 + } + ], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 467 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Text Concatenate" + }, + "widgets_values": [ + " ", + "true", + "", + "", + "", + "" + ] + }, + { + "id": 182, + "type": "DF_Text_Box", + "pos": [ + -419.6179504394531, + 694.8055419921875 + ], + "size": [ + 334.678466796875, + 320.9839782714844 + ], + "flags": { + "collapsed": true + }, + "order": 11, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 460 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DF_Text_Box" + }, + "widgets_values": [ + "Follow these steps to produce the final description:\n\nWhen writing prompts, focus on detailed, chronological descriptions of actions and scenes. Include specific movements, appearances, camera angles, and environmental details - all in a single flowing paragraph. Start directly with the action, and keep descriptions literal and precise. Think like a cinematographer describing a shot list. Keep within 200 words. For best results, build your prompts using this structure:\n\n1. Start with main action in a single sentence\n2. Add specific details about movements and gestures\n3. Describe character/object appearances precisely\n4. Include background and environment details\n5. Specify camera angles and movements\n6. Describe lighting and colors\n7. Note any changes or sudden events\n\nExamples of Style:\n• The waves crash against the jagged rocks of the shoreline, sending spray high into the air.The rocks are a dark gray color, with sharp edges and deep crevices. The water is a clear blue-green, with white foam where the waves break against the rocks. The sky is a light gray, with a few white clouds dotting the horizon.\n\n• A man in a dimly lit room talks on a vintage telephone, hangs up, and looks down with a sad expression. He holds the black rotary phone to his right ear with his right hand, his left hand holding a rocks glass with amber liquid. He wears a brown suit jacket over a white shirt, and a gold ring on his left ring finger. His short hair is neatly combed, and he has light skin with visible wrinkles around his eyes. The camera remains stationary, focused on his face and upper body. The room is dark, lit only by a warm light source off-screen to the left, casting shadows on the wall behind him. The scene appears to be from a movie.\n\n• A man walks towards a window, looks out, and then turns around. He has short, dark hair, dark skin, and is wearing a brown coat over a red and gray scarf. He walks from left to right towards a window, his gaze fixed on something outside. The camera follows him from behind at a medium distance. The room is brightly lit, with white walls and a large window covered by a white curtain. As he approaches the window, he turns his head slightly to the left, then back to the right. He then turns his entire body to the right, facing the window. The camera remains stationary as he stands in front of the window. The scene is captured in real-life footage.\n\n• A clear, turquoise river flows through a rocky canyon, cascading over a small waterfall and forming a pool of water at the bottom.The river is the main focus of the scene, with its clear water reflecting the surrounding trees and rocks. The canyon walls are steep and rocky, with some vegetation growing on them. The trees are mostly pine trees, with their green needles contrasting with the brown and gray rocks. The overall tone of the scene is one of peace and tranquility.\n\nIMPORTANT\" Do not include instructions, reasoning steps, or any extra text outside the described scene. Do not provide explanations or justifications—only the final prompt description." + ] + }, + { + "id": 215, + "type": "ShowText|pysssss", + "pos": [ + -426.8996887207031, + 793.4688720703125 + ], + "size": [ + 696.8147583007812, + 317.9209289550781 + ], + "flags": {}, + "order": 21, + "mode": 0, + "inputs": [ + { + "name": "text", + "type": "STRING", + "link": 467, + "widget": { + "name": "text" + } + } + ], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "links": [ + 468 + ], + "slot_index": 0, + "shape": 6 + } + ], + "properties": { + "Node name for S&R": "ShowText|pysssss" + }, + "widgets_values": [ + [ + "" + ], + "This image is the starting frame for a silent AI Video. Your main task is to provide text that animates that image over an approximately 3 second timeframe. A rustic winter snowball fight, at night, under streetlamps Follow these steps to produce the final description:\n\nWhen writing prompts, focus on detailed, chronological descriptions of actions and scenes. Include specific movements, appearances, camera angles, and environmental details - all in a single flowing paragraph. Start directly with the action, and keep descriptions literal and precise. Think like a cinematographer describing a shot list. Keep within 200 words. For best results, build your prompts using this structure:\n\n1. Start with main action in a single sentence\n2. Add specific details about movements and gestures\n3. Describe character/object appearances precisely\n4. Include background and environment details\n5. Specify camera angles and movements\n6. Describe lighting and colors\n7. Note any changes or sudden events\n\nExamples of Style:\n• The waves crash against the jagged rocks of the shoreline, sending spray high into the air.The rocks are a dark gray color, with sharp edges and deep crevices. The water is a clear blue-green, with white foam where the waves break against the rocks. The sky is a light gray, with a few white clouds dotting the horizon.\n\n• A man in a dimly lit room talks on a vintage telephone, hangs up, and looks down with a sad expression. He holds the black rotary phone to his right ear with his right hand, his left hand holding a rocks glass with amber liquid. He wears a brown suit jacket over a white shirt, and a gold ring on his left ring finger. His short hair is neatly combed, and he has light skin with visible wrinkles around his eyes. The camera remains stationary, focused on his face and upper body. The room is dark, lit only by a warm light source off-screen to the left, casting shadows on the wall behind him. The scene appears to be from a movie.\n\n• A man walks towards a window, looks out, and then turns around. He has short, dark hair, dark skin, and is wearing a brown coat over a red and gray scarf. He walks from left to right towards a window, his gaze fixed on something outside. The camera follows him from behind at a medium distance. The room is brightly lit, with white walls and a large window covered by a white curtain. As he approaches the window, he turns his head slightly to the left, then back to the right. He then turns his entire body to the right, facing the window. The camera remains stationary as he stands in front of the window. The scene is captured in real-life footage.\n\n• A clear, turquoise river flows through a rocky canyon, cascading over a small waterfall and forming a pool of water at the bottom.The river is the main focus of the scene, with its clear water reflecting the surrounding trees and rocks. The canyon walls are steep and rocky, with some vegetation growing on them. The trees are mostly pine trees, with their green needles contrasting with the brown and gray rocks. The overall tone of the scene is one of peace and tranquility.\n\nIMPORTANT\" Do not include instructions, reasoning steps, or any extra text outside the described scene. Do not provide explanations or justifications—only the final prompt description." + ], + "color": "#232", + "bgcolor": "#353" + }, { "id": 192, "type": "ShowText|pysssss", "pos": [ - -204.3834228515625, - -73.7126693725586 + 303.7187805175781, + 783.2201538085938 ], "size": [ - 427.45440673828125, - 302.3382263183594 + 606.6663208007812, + 324.36004638671875 ], "flags": {}, "order": 23, @@ -1351,7 +1359,7 @@ [ "" ], - "" + " Write as if describing a shot for a movie or TV show.\n\nMain action: Rustic winter snowball fight under streetlamps\n\nA group of friends engage in a playful snowball fight, laughing and shouting while darting between the shadows cast by the streetlights. The snowballs fly through the air, their icy surfaces glinting in the orange glow of the lamplights. Each friend's silhouette is visible against the contrasting dark backdrop of the night, as they take aim and hurl their projectiles at one another.\n\nThe friends wear heavy coats, scarves, and gloves, their breath visible in the cold winter air. The snowballs vary in size, some large enough to leave a satisfying thud when they hit their target, others small enough for quick counterattacks.\n\nIn the background, the cityscape is lit up by the streetlights, with buildings and rooftops casting long, geometric shadows on the freshly fallen snow. The occasional passing car headlights add brief bursts of white light to the scene, illuminating the friends' faces in turn as they dodge and weave between each other.\n\nThe camera remains stationary, focusing on the group as they engage in their winter tradition. The scene is filled with the sounds of laughter, snow crunching underfoot, and the occasional impact of a snowball hitting its mark." ], "color": "#232", "bgcolor": "#353" @@ -1494,70 +1502,6 @@ 0, "IMAGE" ], - [ - 436, - 198, - 0, - 203, - 0, - "*" - ], - [ - 437, - 203, - 0, - 87, - 0, - "CLIP" - ], - [ - 438, - 203, - 0, - 88, - 0, - "CLIP" - ], - [ - 439, - 202, - 0, - 204, - 0, - "*" - ], - [ - 440, - 204, - 0, - 128, - 0, - "MODEL" - ], - [ - 441, - 202, - 1, - 205, - 0, - "*" - ], - [ - 442, - 205, - 0, - 8, - 1, - "VAE" - ], - [ - 443, - 205, - 0, - 103, - 1, - "VAE" - ], [ 444, 207, @@ -1566,14 +1510,6 @@ 0, "LLM" ], - [ - 446, - 189, - 0, - 209, - 1, - "STRING" - ], [ 453, 209, @@ -1637,16 +1573,72 @@ 87, 1, "STRING" + ], + [ + 462, + 202, + 0, + 128, + 0, + "MODEL" + ], + [ + 463, + 202, + 1, + 103, + 1, + "VAE" + ], + [ + 464, + 202, + 1, + 8, + 1, + "VAE" + ], + [ + 465, + 198, + 0, + 87, + 0, + "CLIP" + ], + [ + 466, + 198, + 0, + 88, + 0, + "CLIP" + ], + [ + 467, + 189, + 0, + 215, + 0, + "STRING" + ], + [ + 468, + 215, + 0, + 209, + 1, + "STRING" ] ], "groups": [], "config": {}, "extra": { "ds": { - "scale": 0.5445000000000547, + "scale": 0.8769226950001158, "offset": [ - 1077.6170960947493, - 655.6099274248863 + 833.8615797658639, + 125.08579254136063 ] }, "workspace_info": { diff --git a/examples/sdxl_2gpu.json b/examples/sdxl_2gpu.json index 73fbd35..6f357af 100644 --- a/examples/sdxl_2gpu.json +++ b/examples/sdxl_2gpu.json @@ -1,20 +1,382 @@ { - "last_node_id": 20, - "last_link_id": 43, + "last_node_id": 25, + "last_link_id": 59, "nodes": [ + { + "id": 5, + "type": "VAEDecode", + "pos": [ + 1592.0411376953125, + -260.3390808105469 + ], + "size": [ + 140, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 6 + }, + { + "name": "vae", + "type": "VAE", + "link": 36 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 7 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 15, + "type": "VAEDecode", + "pos": [ + 1556.0386962890625, + 268.0700988769531 + ], + "size": [ + 210, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 22 + }, + { + "name": "vae", + "type": "VAE", + "link": 42 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 53 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 2, + "type": "KSampler", + "pos": [ + 1235.140380859375, + -287.8480529785156 + ], + "size": [ + 295.7660217285156, + 474 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 35 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 46, + "slot_index": 1 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 59 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 9, + "slot_index": 3 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 6, + 52 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 5770521, + "fixed", + 20, + 8, + "dpmpp_2m_sde_gpu", + "karras", + 1 + ] + }, + { + "id": 23, + "type": "SaveImage", + "pos": [ + 1533.74560546875, + 241.643798828125 + ], + "size": [ + 473.8890686035156, + 484.4914245605469 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 53 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "SaveImage" + }, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 12, + "type": "KSampler", + "pos": [ + 1248.8175048828125, + 237.6725311279297 + ], + "size": [ + 274.0234375, + 474 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 39 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 56, + "slot_index": 1 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 57 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 52, + "slot_index": 3 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 22 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 5770521, + "fixed", + 20, + 4, + "dpmpp_2m_sde_gpu", + "karras", + 0.5 + ] + }, + { + "id": 6, + "type": "PreviewImage", + "pos": [ + 1526.01708984375, + -295.9187316894531 + ], + "size": [ + 491.1799011230469, + 494.12640380859375 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 7 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + }, + { + "id": 22, + "type": "CLIPTextEncode", + "pos": [ + 962.80859375, + 390.72601318359375 + ], + "size": [ + 285.6000061035156, + 98.24866485595703 + ], + "flags": { + "collapsed": true + }, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 49 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 57 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Negative Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 20, + "type": "CheckpointLoaderSimpleMultiGPU", + "pos": [ + 558.670654296875, + 277.36590576171875 + ], + "size": [ + 378, + 122 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 39 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 49, + 55 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 42 + ], + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimpleMultiGPU" + }, + "widgets_values": [ + "juggernautXL_juggXIByRundiffusion.safetensors", + "cuda:1" + ] + }, { "id": 8, "type": "EmptyLatentImage", "pos": [ - 1198, - 716 + 1250.5328369140625, + -431.4219055175781 ], "size": [ - 315, + 210, 106 ], "flags": {}, - "order": 0, + "order": 1, "mode": 0, "inputs": [], "outputs": [ @@ -37,119 +399,15 @@ ] }, { - "id": 2, - "type": "KSampler", + "id": 21, + "type": "CLIPTextEncode", "pos": [ - 1195, - 193 + 937.1891479492188, + -240.19276428222656 ], "size": [ - 315, - 474 - ], - "flags": {}, - "order": 7, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 35 - }, - { - "name": "positive", - "type": "CONDITIONING", - "link": 2, - "slot_index": 1 - }, - { - "name": "negative", - "type": "CONDITIONING", - "link": 4 - }, - { - "name": "latent_image", - "type": "LATENT", - "link": 9, - "slot_index": 3 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 6 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "KSampler" - }, - "widgets_values": [ - 944914672796238, - "randomize", - 20, - 8, - "dpmpp_2m_sde_gpu", - "karras", - 1 - ] - }, - { - "id": 10, - "type": "VAEEncode", - "pos": [ - 1894, - 378 - ], - "size": [ - 274.20001220703125, - 46 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "name": "pixels", - "type": "IMAGE", - "link": 15 - }, - { - "name": "vae", - "type": "VAE", - "link": 43 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 16 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAEEncode" - }, - "widgets_values": [] - }, - { - "id": 3, - "type": "CLIPTextEncodeSDXL", - "pos": [ - 742, - 340 - ], - "size": [ - 259.20001220703125, - 270 + 285.6000061035156, + 76 ], "flags": {}, "order": 5, @@ -158,7 +416,7 @@ { "name": "clip", "type": "CLIP", - "link": 37 + "link": 54 } ], "outputs": [ @@ -166,45 +424,42 @@ "name": "CONDITIONING", "type": "CONDITIONING", "links": [ - 2 + 46 ], - "slot_index": 0, - "shape": 3 + "slot_index": 0 } ], + "title": "CLIP Text Encode (Positive Prompt)", "properties": { - "Node name for S&R": "CLIPTextEncodeSDXL" + "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ - 1024, - 1024, - 0, - 0, - 1024, - 1024, - "realistic photograph of a glass of wine, depth of field, bokeh", "realistic photograph of a glass of wine, depth of field, bokeh" - ] + ], + "color": "#232", + "bgcolor": "#353" }, { - "id": 4, - "type": "CLIPTextEncodeSDXL", + "id": 25, + "type": "CLIPTextEncode", "pos": [ - 745, - 667 + 944.7369384765625, + -117.6661605834961 ], "size": [ - 259.20001220703125, - 270.0000305175781 + 285.6000061035156, + 76 ], - "flags": {}, + "flags": { + "collapsed": true + }, "order": 6, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", - "link": 38 + "link": 58 } ], "outputs": [ @@ -212,376 +467,27 @@ "name": "CONDITIONING", "type": "CONDITIONING", "links": [ - 4 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncodeSDXL" - }, - "widgets_values": [ - 1024, - 1024, - 0, - 0, - 1024, - 1024, - "cartoon", - "cartoon" - ] - }, - { - "id": 5, - "type": "VAEDecode", - "pos": [ - 1628, - 218 - ], - "size": [ - 210, - 46 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 6 - }, - { - "name": "vae", - "type": "VAE", - "link": 36 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 7, - 15 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "widgets_values": [] - }, - { - "id": 12, - "type": "KSampler", - "pos": [ - 2384, - 80 - ], - "size": [ - 315, - 474 - ], - "flags": {}, - "order": 11, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 39 - }, - { - "name": "positive", - "type": "CONDITIONING", - "link": 19, - "slot_index": 1 - }, - { - "name": "negative", - "type": "CONDITIONING", - "link": 18 - }, - { - "name": "latent_image", - "type": "LATENT", - "link": 16, - "slot_index": 3 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 22 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "KSampler" - }, - "widgets_values": [ - 31120736612003, - "randomize", - 20, - 4, - "dpmpp_2m_sde_gpu", - "karras", - 0.5 - ] - }, - { - "id": 13, - "type": "CLIPTextEncodeSDXL", - "pos": [ - 1902, - -461 - ], - "size": [ - 263.9363098144531, - 270 - ], - "flags": {}, - "order": 3, - "mode": 0, - "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 40 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 19 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncodeSDXL" - }, - "widgets_values": [ - 1024, - 1024, - 0, - 0, - 1024, - 1024, - "realistic photograph of a glass of wine, depth of field, bokeh", - "realistic photograph of a glass of wine, depth of field, bokeh" - ] - }, - { - "id": 15, - "type": "VAEDecode", - "pos": [ - 2879, - 248 - ], - "size": [ - 210, - 46 - ], - "flags": {}, - "order": 12, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 22 - }, - { - "name": "vae", - "type": "VAE", - "link": 42 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 24 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "widgets_values": [] - }, - { - "id": 14, - "type": "CLIPTextEncodeSDXL", - "pos": [ - 1894, - -143 - ], - "size": [ - 259.20001220703125, - 270.0000305175781 - ], - "flags": {}, - "order": 4, - "mode": 0, - "inputs": [ - { - "name": "clip", - "type": "CLIP", - "link": 41 - } - ], - "outputs": [ - { - "name": "CONDITIONING", - "type": "CONDITIONING", - "links": [ - 18 - ], - "slot_index": 0, - "shape": 3 - } - ], - "properties": { - "Node name for S&R": "CLIPTextEncodeSDXL" - }, - "widgets_values": [ - 1024, - 1024, - 0, - 0, - 1024, - 1024, - "cartoon", - "cartoon" - ] - }, - { - "id": 20, - "type": "CheckpointLoaderSimpleMultiGPU", - "pos": [ - 1206.7701416015625, - -274.260009765625 - ], - "size": [ - 378, - 122 - ], - "flags": {}, - "order": 1, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 39 + 59 ], "slot_index": 0 - }, - { - "name": "CLIP", - "type": "CLIP", - "links": [ - 40, - 41 - ], - "slot_index": 1 - }, - { - "name": "VAE", - "type": "VAE", - "links": [ - 42, - 43 - ], - "slot_index": 2 } ], + "title": "CLIP Text Encode (Negative Prompt)", "properties": { - "Node name for S&R": "CheckpointLoaderSimpleMultiGPU" + "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ - "juggernautXL_juggXIByRundiffusion.safetensors", - "cuda:1" - ] - }, - { - "id": 6, - "type": "PreviewImage", - "pos": [ - 1804.794189453125, - 621.6842041015625 + "" ], - "size": [ - 455.22088623046875, - 325.20233154296875 - ], - "flags": {}, - "order": 9, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 7 - } - ], - "outputs": [], - "properties": { - "Node name for S&R": "PreviewImage" - }, - "widgets_values": [] - }, - { - "id": 16, - "type": "PreviewImage", - "pos": [ - 2849.66552734375, - 537.4210205078125 - ], - "size": [ - 374.63616943359375, - 341.1673278808594 - ], - "flags": {}, - "order": 13, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 24 - } - ], - "outputs": [], - "properties": { - "Node name for S&R": "PreviewImage" - }, - "widgets_values": [] + "color": "#322", + "bgcolor": "#533" }, { "id": 19, "type": "CheckpointLoaderSimpleMultiGPU", "pos": [ - 691.9315185546875, - -118.77661895751953 + 549.6911010742188, + -220.0397186279297 ], "size": [ 378, @@ -604,8 +510,8 @@ "name": "CLIP", "type": "CLIP", "links": [ - 37, - 38 + 54, + 58 ], "slot_index": 1 }, @@ -625,25 +531,50 @@ "realvisxlV50_v50Bakedvae.safetensors", "cuda:0" ] + }, + { + "id": 24, + "type": "CLIPTextEncode", + "pos": [ + 946.2571411132812, + 271.57373046875 + ], + "size": [ + 285.6000061035156, + 76 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 55 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 56 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Positive Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "realistic photograph of a glass of wine, depth of field, bokeh" + ], + "color": "#232", + "bgcolor": "#353" } ], "links": [ - [ - 2, - 3, - 0, - 2, - 1, - "CONDITIONING" - ], - [ - 4, - 4, - 0, - 2, - 2, - "CONDITIONING" - ], [ 6, 2, @@ -668,38 +599,6 @@ 3, "LATENT" ], - [ - 15, - 5, - 0, - 10, - 0, - "IMAGE" - ], - [ - 16, - 10, - 0, - 12, - 3, - "LATENT" - ], - [ - 18, - 14, - 0, - 12, - 2, - "CONDITIONING" - ], - [ - 19, - 13, - 0, - 12, - 1, - "CONDITIONING" - ], [ 22, 12, @@ -708,14 +607,6 @@ 0, "LATENT" ], - [ - 24, - 15, - 0, - 16, - 0, - "IMAGE" - ], [ 35, 19, @@ -732,22 +623,6 @@ 1, "VAE" ], - [ - 37, - 19, - 1, - 3, - 0, - "CLIP" - ], - [ - 38, - 19, - 1, - 4, - 0, - "CLIP" - ], [ 39, 20, @@ -756,22 +631,6 @@ 0, "MODEL" ], - [ - 40, - 20, - 1, - 13, - 0, - "CLIP" - ], - [ - 41, - 20, - 1, - 14, - 0, - "CLIP" - ], [ 42, 20, @@ -781,22 +640,94 @@ "VAE" ], [ - 43, - 20, + 46, + 21, + 0, 2, - 10, 1, - "VAE" + "CONDITIONING" + ], + [ + 49, + 20, + 1, + 22, + 0, + "CLIP" + ], + [ + 52, + 2, + 0, + 12, + 3, + "LATENT" + ], + [ + 53, + 15, + 0, + 23, + 0, + "IMAGE" + ], + [ + 54, + 19, + 1, + 21, + 0, + "CLIP" + ], + [ + 55, + 20, + 1, + 24, + 0, + "CLIP" + ], + [ + 56, + 24, + 0, + 12, + 1, + "CONDITIONING" + ], + [ + 57, + 22, + 0, + 12, + 2, + "CONDITIONING" + ], + [ + 58, + 19, + 1, + 25, + 0, + "CLIP" + ], + [ + 59, + 25, + 0, + 2, + 2, + "CONDITIONING" ] ], "groups": [], "config": {}, "extra": { "ds": { - "scale": 0.7247295000000568, + "scale": 0.8769226950001169, "offset": [ - -274.6361158158503, - 772.7890553529528 + -163.9759947916083, + 509.56687307886415 ] }, "ue_links": [],