diff --git a/examples/AI_BIZARRO_THEATHER_DisTorch_HunyuanVideo_736_1280_129.json b/examples/AI_BIZARRO_THEATHER_DisTorch_HunyuanVideo_736_1280_129.json new file mode 100755 index 0000000..154072b --- /dev/null +++ b/examples/AI_BIZARRO_THEATHER_DisTorch_HunyuanVideo_736_1280_129.json @@ -0,0 +1,1016 @@ +{ + "last_node_id": 127, + "last_link_id": 160, + "nodes": [ + { + "id": 72, + "type": "FluxGuidance", + "pos": [ + 3012.307373046875, + -267.3423767089844 + ], + "size": [ + 211.60000610351562, + 58 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 160 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 79 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "FluxGuidance" + }, + "widgets_values": [ + 6 + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 73, + "type": "ModelSamplingSD3", + "pos": [ + 3030.986328125, + 216.49542236328125 + ], + "size": [ + 210, + 58 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 141 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 78 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ModelSamplingSD3" + }, + "widgets_values": [ + 7 + ] + }, + { + "id": 74, + "type": "VAEDecodeTiled", + "pos": [ + 3246.459716796875, + 191.86683654785156 + ], + "size": [ + 210, + 150 + ], + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 85 + }, + { + "name": "vae", + "type": "VAE", + "link": 99 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 82 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecodeTiled" + }, + "widgets_values": [ + 256, + 64, + 64, + 8 + ] + }, + { + "id": 75, + "type": "SamplerCustomAdvanced", + "pos": [ + 3488.497314453125, + -150.8239288330078 + ], + "size": [ + 292.4319763183594, + 479.03521728515625 + ], + "flags": { + "collapsed": false + }, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "noise", + "type": "NOISE", + "link": 87, + "slot_index": 0 + }, + { + "name": "guider", + "type": "GUIDER", + "link": 88, + "slot_index": 1 + }, + { + "name": "sampler", + "type": "SAMPLER", + "link": 89, + "slot_index": 2 + }, + { + "name": "sigmas", + "type": "SIGMAS", + "link": 90, + "slot_index": 3 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 155, + "slot_index": 4 + } + ], + "outputs": [ + { + "name": "output", + "type": "LATENT", + "links": [ + 85 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "denoised_output", + "type": "LATENT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "SamplerCustomAdvanced" + }, + "widgets_values": [] + }, + { + "id": 66, + "type": "BasicScheduler", + "pos": [ + 3250.771484375, + 41.81864929199219 + ], + "size": [ + 210, + 109.8011474609375 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 142, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 90 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "simple", + 20, + 1 + ] + }, + { + "id": 69, + "type": "KSamplerSelect", + "pos": [ + 3505.5615234375, + -276.5766296386719 + ], + "size": [ + 210, + 58 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 89 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "KSamplerSelect" + }, + "widgets_values": [ + "euler" + ] + }, + { + "id": 76, + "type": "VAELoaderMultiGPU", + "pos": [ + 2629.39599609375, + 275.80596923828125 + ], + "size": [ + 341.07464599609375, + 87.14057922363281 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 99 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAELoaderMultiGPU" + }, + "widgets_values": [ + "hunyuan_video_vae_bf16.safetensors", + "cuda:1" + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 78, + "type": "Note", + "pos": [ + 2631.16015625, + -399.4529113769531 + ], + "size": [ + 353.56494140625, + 190.77996826171875 + ], + "flags": {}, + "order": 2, + "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": 68, + "type": "RandomNoise", + "pos": [ + 3244.127685546875, + -303.9937438964844 + ], + "size": [ + 250.37998962402344, + 82 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "NOISE", + "type": "NOISE", + "links": [ + 87 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "RandomNoise" + }, + "widgets_values": [ + 5770521, + "fixed" + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 64, + "type": "BasicGuider", + "pos": [ + 3288.76025390625, + -192.04156494140625 + ], + "size": [ + 222.3482666015625, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 78, + "slot_index": 0 + }, + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 79, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 88 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "BasicGuider" + }, + "widgets_values": [] + }, + { + "id": 115, + "type": "EmptyHunyuanLatentVideo", + "pos": [ + 3026.87939453125, + 50.70602035522461 + ], + "size": [ + 210, + 130 + ], + "flags": { + "collapsed": false + }, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 155 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyHunyuanLatentVideo" + }, + "widgets_values": [ + 736, + 1280, + 129, + 1 + ] + }, + { + "id": 67, + "type": "CLIPTextEncode", + "pos": [ + 2836.933837890625, + 424.9728698730469 + ], + "size": [ + 422.84503173828125, + 164.31304931640625 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 154 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 160 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Positive Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "A light green frog with brown spots stares forward with its left eye moving subtly. The frog's skin is textured with small bumps, and its spots appear in irregular patterns across its head and face. The eye is round and black with a subtle shine. The head is slightly tilted to its left, and the body is barely visible. The background is a flat, solid bright yellow color, extending beyond the frog in all directions, with the lower part having a slight gradient into a lighter green. The camera zooms in slowly on the frog's eye and the frog looks directly at the viewer. The overall lighting is bright and diffused, creating a soft appearance." + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 100, + "type": "DualCLIPLoaderGGUFDisTorchMultiGPU", + "pos": [ + 2416.738525390625, + 445.2275085449219 + ], + "size": [ + 348.5331726074219, + 154 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 154 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoaderGGUFDisTorchMultiGPU" + }, + "widgets_values": [ + "clip_l.safetensors", + "llava-llama-3-8B-v1_1-Q4_K_M.gguf", + "hunyuan_video", + "cuda:1", + "cuda:1,0.05;cpu,0.25" + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 88, + "type": "UnetLoaderGGUFDisTorchMultiGPU", + "pos": [ + 2622.552734375, + -105.02156829833984 + ], + "size": [ + 358.005859375, + 128.5614013671875 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 141, + 142 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "UnetLoaderGGUFDisTorchMultiGPU" + }, + "widgets_values": [ + "hunyuan-video-t2v-720p-Q3_K_S.gguf", + "cuda:0", + "cuda:0,0.05;cpu,0.75" + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 119, + "type": "Note", + "pos": [ + 2060.186279296875, + -222.9151153564453 + ], + "size": [ + 549.7151489257812, + 528.065185546875 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "How the DisTorch allocation string works", + "properties": {}, + "widgets_values": [ + "The allocation string uses a semicolon (;) to separate device allocations, and each device allocation has two parts separated by a comma:\n\nDevice name (e.g., \"cuda:0\", \"cuda:1\", \"cpu\")\nMemory fraction as a decimal (e.g., 0.025 = 2.5%, 0.05 = 5%, 0.10 = 10%)\n\n\nFor my defaults:\n\nCUDA GPU 0: Will allocate 2.5% of its total available memory\nCUDA GPU 1: Will allocate 5% of its total available memory\nCPU: Will allocate 10% of available system memory\n\n\nDisTorch then:\n\nCalculates how much actual memory this means for each device\nDistributes model layers across devices proportionally based on these allocations\nAssigns layers to minimize memory usage while maintaining model functionality\n\n\n\nSo if you have a model with 100 layers and your GPUs have the following memory:\n\nCUDA:0 has 24GB\nCUDA:1 has 24GB\nSystem has 64GB RAM\n\nThe allocation would be:\n\nCUDA:0: 600MB (2.5% of 24GB)\nCUDA:1: 1.2GB (5% of 24GB)\nCPU: 6.4GB (10% of 64GB)\n\nThis would help manage memory usage across your devices while keeping the model functional. The semicolon-separated format makes it easy to specify different allocations for different devices in a single string." + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 122, + "type": "HyVideoTextImageEncode", + "pos": [ + 1557.86328125, + -372.99932861328125 + ], + "size": [ + 493.3573303222656, + 382.35430908203125 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "text_encoders", + "type": "HYVIDTEXTENCODER", + "link": 156 + }, + { + "name": "custom_prompt_template", + "type": "PROMPT_TEMPLATE", + "link": null, + "shape": 7 + }, + { + "name": "clip_l", + "type": "CLIP", + "link": null, + "shape": 7 + }, + { + "name": "image1", + "type": "IMAGE", + "link": 157, + "shape": 7 + }, + { + "name": "image2", + "type": "IMAGE", + "link": null, + "shape": 7 + }, + { + "name": "hyvid_cfg", + "type": "HYVID_CFG", + "link": null, + "shape": 7 + } + ], + "outputs": [ + { + "name": "hyvid_embeds", + "type": "HYVIDEMBEDS", + "links": [ + 159 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "HyVideoTextImageEncode" + }, + "widgets_values": [ + "The animal shown in appears within its own natural setting, moving calmly or resting in place as a soft light casts delicate shadows across its form. Over the course of five seconds, it makes subtle shifts in posture or position, revealing small details of its features, such as the texture of its skin or fur, and the quiet rhythm of its breathing.", + "::3", + true, + "video", + "" + ] + }, + { + "id": 120, + "type": "DownloadAndLoadHyVideoTextEncoder", + "pos": [ + 882.4030151367188, + -424.9868469238281 + ], + "size": [ + 441, + 202 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "hyvid_text_encoder", + "type": "HYVIDTEXTENCODER", + "links": [ + 156 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DownloadAndLoadHyVideoTextEncoder" + }, + "widgets_values": [ + "xtuner/llava-llama-3-8b-v1_1-transformers", + "openai/clip-vit-large-patch14", + "bf16", + false, + 2, + "disabled", + "offload_device" + ] + }, + { + "id": 121, + "type": "LoadImage", + "pos": [ + 936.05322265625, + 1.5560544729232788 + ], + "size": [ + 315, + 314 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 157 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "pasted/image (220).png", + "image" + ] + }, + { + "id": 123, + "type": "HunyuanVideoEmbeddingsAdapter", + "pos": [ + 1552.6451416015625, + 295.8564758300781 + ], + "size": [ + 365.4000244140625, + 26 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "hyvid_embeds", + "type": "HYVIDEMBEDS", + "link": 159 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "HunyuanVideoEmbeddingsAdapter" + }, + "widgets_values": [] + }, + { + "id": 70, + "type": "VHS_VideoCombine", + "pos": [ + 3832.87060546875, + -84.1795425415039 + ], + "size": [ + 338.94024658203125, + 334 + ], + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 82 + }, + { + "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": 24, + "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_00314.mp4", + "subfolder": "", + "type": "output", + "format": "video/h264-mp4", + "frame_rate": 24, + "workflow": "HunyuanVideo_00314.png", + "fullpath": "/home/johnj/ComfyUI/output/HunyuanVideo_00314.mp4" + }, + "muted": false + } + } + } + ], + "links": [ + [ + 78, + 73, + 0, + 64, + 0, + "MODEL" + ], + [ + 79, + 72, + 0, + 64, + 1, + "CONDITIONING" + ], + [ + 82, + 74, + 0, + 70, + 0, + "IMAGE" + ], + [ + 85, + 75, + 0, + 74, + 0, + "LATENT" + ], + [ + 87, + 68, + 0, + 75, + 0, + "NOISE" + ], + [ + 88, + 64, + 0, + 75, + 1, + "GUIDER" + ], + [ + 89, + 69, + 0, + 75, + 2, + "SAMPLER" + ], + [ + 90, + 66, + 0, + 75, + 3, + "SIGMAS" + ], + [ + 99, + 76, + 0, + 74, + 1, + "VAE" + ], + [ + 141, + 88, + 0, + 73, + 0, + "MODEL" + ], + [ + 142, + 88, + 0, + 66, + 0, + "MODEL" + ], + [ + 154, + 100, + 0, + 67, + 0, + "CLIP" + ], + [ + 155, + 115, + 0, + 75, + 4, + "LATENT" + ], + [ + 156, + 120, + 0, + 122, + 0, + "HYVIDTEXTENCODER" + ], + [ + 157, + 121, + 0, + 122, + 3, + "IMAGE" + ], + [ + 159, + 122, + 0, + 123, + 0, + "HYVIDEMBEDS" + ], + [ + 160, + 67, + 0, + 72, + 0, + "CONDITIONING" + ] + ], + "groups": [ + { + "id": 1, + "title": "GGUFDisTorchMultiGPU", + "bounding": [ + 2617.71240234375, + -173.0873565673828, + 360.4816589355469, + 537.903076171875 + ], + "color": "#8AA", + "font_size": 24, + "flags": {} + } + ], + "config": {}, + "extra": { + "ds": { + "scale": 0.7247295000001127, + "offset": [ + -1268.734194759209, + 803.2181494610417 + ] + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0 + }, + "version": 0.4 +} \ No newline at end of file