Files
stuttlepress 8ec2e360d3 VACE_Extend workflow maintenance update
replace deprecated batch images node
documentation fix
2026-06-21 12:25:43 -05:00

1361 lines
26 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"id": "fa460fa0-94f0-47c6-887e-490dd9f164ef",
"revision": 0,
"last_node_id": 68,
"last_link_id": 122,
"nodes": [
{
"id": 4,
"type": "WanVaceToVideo",
"pos": [
-3230,
2390
],
"size": [
225,
328
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 5
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 7
},
{
"name": "vae",
"type": "VAE",
"link": 9
},
{
"name": "control_video",
"shape": 7,
"type": "IMAGE",
"link": 106
},
{
"name": "control_masks",
"shape": 7,
"type": "MASK",
"link": 107
},
{
"name": "reference_image",
"shape": 7,
"type": "IMAGE",
"link": null
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 108
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 109
},
{
"name": "length",
"type": "INT",
"widget": {
"name": "length"
},
"link": 110
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
61,
78
]
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
62,
79
]
},
{
"name": "latent",
"type": "LATENT",
"links": [
63
]
},
{
"name": "trim_latent",
"type": "INT",
"links": null
}
],
"properties": {
"Node name for S&R": "WanVaceToVideo",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
832,
480,
81,
1,
1
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 24,
"type": "KSamplerAdvanced",
"pos": [
-2970,
2390
],
"size": [
260,
483
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 59
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 61
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 62
},
{
"name": "latent_image",
"type": "LATENT",
"link": 63
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
58
]
}
],
"properties": {
"Node name for S&R": "KSamplerAdvanced",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"enable",
972758070390585,
"randomize",
4,
1,
"euler",
"simple",
0,
2,
"enable"
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 8,
"type": "VAELoader",
"pos": [
-3720,
2150
],
"size": [
390,
80
],
"flags": {
"collapsed": false
},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"links": [
9,
28
]
}
],
"properties": {
"Node name for S&R": "VAELoader",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"wan_2.1_vae.safetensors"
],
"color": "#332922",
"bgcolor": "#593930"
},
{
"id": 25,
"type": "KSamplerAdvanced",
"pos": [
-2690,
2390
],
"size": [
260,
483
],
"flags": {},
"order": 18,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 60
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 78
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 79
},
{
"name": "latent_image",
"type": "LATENT",
"link": 58
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
64
]
}
],
"properties": {
"Node name for S&R": "KSamplerAdvanced",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"disable",
0,
"fixed",
4,
1,
"euler",
"simple",
2,
10000,
"disable"
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 7,
"type": "CLIPTextEncode",
"pos": [
-4200,
2020
],
"size": [
225,
116
],
"flags": {
"collapsed": false
},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 8
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
7
]
}
],
"title": "CLIP Text Encode",
"properties": {
"Node name for S&R": "CLIPTextEncode",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
""
],
"color": "#322",
"bgcolor": "#533"
},
{
"id": 37,
"type": "MarkdownNote",
"pos": [
-3210,
1960
],
"size": [
710,
319.70001220703125
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Models",
"properties": {},
"widgets_values": [
"# Select your preferred Wan VACE, CLIP and VAE models here\n## Select a VACE model of the same model type you run in your regular Wan generation workflow.\n- *The key to success and no OOM is to configure this workflow as close to your regular Wan workflow as possible.*\n## If you need GGUF models, replace these nodes with your favorite GGUF loaders. \n"
],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 5,
"type": "CLIPTextEncode",
"pos": [
-4200,
1850
],
"size": [
225,
116
],
"flags": {
"collapsed": false
},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 6
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
5
]
}
],
"title": "CLIP Text Encode",
"properties": {
"Node name for S&R": "CLIPTextEncode",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
""
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 50,
"type": "MarkdownNote",
"pos": [
-4250,
1660
],
"size": [
360,
146.39999389648438
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Prompts",
"properties": {},
"widgets_values": [
"## Prompts are optional and usually unnecessary. \nAnd of course the negative prompt is ineffective at CFG=1, without NAG."
],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 12,
"type": "UNETLoader",
"pos": [
-3720,
1650
],
"size": [
390,
108
],
"flags": {},
"order": 3,
"mode": 0,
"showAdvanced": false,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
23
]
}
],
"properties": {
"Node name for S&R": "UNETLoader",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"WAN 2.2\\Fun\\Wan2.2-VACE-Fun-A14B-high_bf16.safetensors",
"default"
],
"color": "#332922",
"bgcolor": "#593930"
},
{
"id": 11,
"type": "UNETLoader",
"pos": [
-3720,
1800
],
"size": [
390,
108
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
25
]
}
],
"properties": {
"Node name for S&R": "UNETLoader",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"WAN 2.2\\Fun\\Wan2.2-VACE-Fun-A14B-low_bf16.safetensors",
"default"
],
"color": "#332922",
"bgcolor": "#593930"
},
{
"id": 6,
"type": "CLIPLoader",
"pos": [
-3720,
1960
],
"size": [
390,
140
],
"flags": {
"collapsed": false
},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
6,
8
]
}
],
"properties": {
"Node name for S&R": "CLIPLoader",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"umt5_xxl_fp16.safetensors",
"wan",
"default"
],
"color": "#332922",
"bgcolor": "#593930"
},
{
"id": 31,
"type": "CreateVideo",
"pos": [
-3070,
3350
],
"size": [
225,
104
],
"flags": {},
"order": 21,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 121
},
{
"name": "audio",
"shape": 7,
"type": "AUDIO",
"link": null
},
{
"name": "fps",
"type": "FLOAT",
"widget": {
"name": "fps"
},
"link": 76
}
],
"outputs": [
{
"name": "VIDEO",
"type": "VIDEO",
"links": [
69
]
}
],
"properties": {
"Node name for S&R": "CreateVideo",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
30
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 28,
"type": "GetVideoComponents",
"pos": [
-3760,
2440
],
"size": [
225,
96
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "video",
"type": "VIDEO",
"link": 77
}
],
"outputs": [
{
"name": "images",
"type": "IMAGE",
"links": [
105
]
},
{
"name": "audio",
"type": "AUDIO",
"links": null
},
{
"name": "fps",
"type": "FLOAT",
"links": [
76
]
}
],
"properties": {
"Node name for S&R": "GetVideoComponents",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 15,
"type": "LoraLoaderModelOnly",
"pos": [
-3180,
1800
],
"size": [
460,
112
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 25
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
60
]
}
],
"properties": {
"Node name for S&R": "LoraLoaderModelOnly",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"Wan 2.2\\T2V\\wan2.2_t2v_A14b_low_noise_lora_rank64_lightx2v_4step_1217.safetensors",
1
],
"color": "#332922",
"bgcolor": "#593930"
},
{
"id": 14,
"type": "LoraLoaderModelOnly",
"pos": [
-3180,
1650
],
"size": [
460,
112
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 23
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
59
]
}
],
"properties": {
"Node name for S&R": "LoraLoaderModelOnly",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"Wan 2.2\\T2V\\wan2.2_t2v_A14b_high_noise_lora_rank64_lightx2v_4step_1217.safetensors",
1
],
"color": "#332922",
"bgcolor": "#593930"
},
{
"id": 35,
"type": "LoadVideo",
"pos": [
-4290,
2280
],
"size": [
470,
374.25
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VIDEO",
"type": "VIDEO",
"links": [
77
]
}
],
"properties": {
"Node name for S&R": "LoadVideo",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"video1-labelled_00001.mp4",
"image"
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 30,
"type": "SaveVideo",
"pos": [
-2780,
3340
],
"size": [
225,
480
],
"flags": {},
"order": 22,
"mode": 0,
"inputs": [
{
"name": "video",
"type": "VIDEO",
"link": 69
}
],
"outputs": [],
"properties": {
"Node name for S&R": "SaveVideo",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [
"VACE_extend",
"auto",
"auto"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 64,
"type": "WanVACEExtend",
"pos": [
-3480,
2480
],
"size": [
225,
336
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "video",
"type": "IMAGE",
"link": 105
}
],
"outputs": [
{
"name": "control_video",
"type": "IMAGE",
"links": [
106
]
},
{
"name": "control_mask",
"type": "MASK",
"links": [
107
]
},
{
"name": "width",
"type": "INT",
"links": [
108
]
},
{
"name": "height",
"type": "INT",
"links": [
109
]
},
{
"name": "length",
"type": "INT",
"links": [
110
]
},
{
"name": "start_images",
"type": "IMAGE",
"links": [
122
]
},
{
"name": "context_frames",
"type": "INT",
"links": null
},
{
"name": "new_frames",
"type": "INT",
"links": null
}
],
"properties": {
"Node name for S&R": "WanVACEExtend"
},
"widgets_values": [
-1,
8,
81
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 16,
"type": "VAEDecode",
"pos": [
-3700,
3390
],
"size": [
225,
72
],
"flags": {},
"order": 19,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 64
},
{
"name": "vae",
"type": "VAE",
"link": 28
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
120
]
}
],
"properties": {
"Node name for S&R": "VAEDecode",
"cnr_id": "comfy-core",
"ver": "0.7.0"
},
"widgets_values": [],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 67,
"type": "BatchImagesNode",
"pos": [
-3380,
3370
],
"size": [
225,
96
],
"flags": {},
"order": 20,
"mode": 0,
"inputs": [
{
"label": "image0",
"name": "images.image0",
"type": "IMAGE",
"link": 122
},
{
"label": "image1",
"name": "images.image1",
"shape": 7,
"type": "IMAGE",
"link": 120
},
{
"label": "image2",
"name": "images.image2",
"shape": 7,
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
121
]
}
],
"properties": {
"Node name for S&R": "BatchImagesNode"
},
"widgets_values": [],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 38,
"type": "MarkdownNote",
"pos": [
-4980,
1580
],
"size": [
620,
627.4000244140625
],
"flags": {
"collapsed": false
},
"order": 7,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Model links",
"properties": {},
"widgets_values": [
"# VACE Model download links\n\nYou need one of the VACE variants below to run this workflow. Choose the model format and quantization that most closely matches what you run for your regular Wan workflow.\n\n**Wan 2.2 Fun VACE**\n - [bf16 and fp8](https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/tree/main/split_files/diffusion_models)\n - [GGUF](https://huggingface.co/QuantStack/Wan2.2-VACE-Fun-A14B-GGUF/tree/main)\n\n**Wan 2.1 VACE**\n\n - [fp16](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/diffusion_models/wan2.1_vace_14B_fp16.safetensors)\n\n - [GGUF](https://huggingface.co/QuantStack/Wan2.1_14B_VACE-GGUF/tree/main)\n\n**Kijai’s extracted Fun Vace 2.2 modules, for loading along with standard T2V models. [Native use examples here.](https://huggingface.co/Kijai/WanVideo_comfy/discussions/81)**\n\n - [bf16](https://huggingface.co/Kijai/WanVideo_comfy/tree/main/Fun/VACE)\n - [GGUF](https://huggingface.co/Kijai/WanVideo_comfy_GGUF/tree/main/VACE)\n\n\n\nModel Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ └── 📂 diffusion_models/\n│ │ ├── wan2.2_fun_vace_high_noise_14B_fp8_scaled.safetensors\n│ │ └── wan2.2_fun_vace_low_noise_14B_fp8_scaled.safetensors\n```\n"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 36,
"type": "MarkdownNote",
"pos": [
-4980,
2310
],
"size": [
620,
960
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "README",
"properties": {},
"widgets_values": [
"[Github](https://github.com/stuttlepress) | [CivitAI](https://civitai.com/user/__Bob__) \n\n*You're free to do whatever you want with this workflow, but it makes me feel good when you give me credit. Redistributing it without attribution is kind of lame.*\n\n* * *\n\n# How to Use This Workflow\n\n## 1. Install Requirements\n> ### Wan VACE Prep\n> - [Repository](https://github.com/stuttlepress/ComfyUI-Wan-VACE-Prep)\n> - v1.0.19 or higher required\n> - Search *Wan VACE Prep* in ComfyUI Manager\n> - Provides the **🪐 Video Outpaint** node. \n\n\n## 2. Select models appropriate for your system\n- **Select your VACE models** in the *Load* group. Choose models that match what you usually run in your normal Wan workflow. If you usually run FP8 for video generation, choose FP8 VACE models. If you usually use Q4 GGUF, use Q4 GGUF VACE models.\n- **Select or disable lightx2v loras.** Using the same loras and strength that your input clips were generated with may reduce VACE brightness/color artifacts.\n\n## 3. Load your input video\n\n - **3.5 (Optional) Configure the video transition**. \nSet the *extend_from_idx*, *context_frames*, and *new_frames* parameters on the **Wan VACE Extend** node. The defaults work well for 81 frame 16fps clips, but feel free to experiment. Tooltips and the [README file](https://github.com/stuttlepress/ComfyUI-Wan-VACE-Prep/blob/main/README.md#wan-vace-extend) give a little more information about how the parameters work.\n\n## 4. Run the workflow\nThe joined video will be placed in your ComfyUI *output* directory, named something like `VACE_extend_0001.mp4`\n"
],
"color": "#146e47",
"bgcolor": "#005a33"
},
{
"id": 68,
"type": "MarkdownNote",
"pos": [
-5330,
1730
],
"size": [
310,
280
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Changelog",
"properties": {},
"widgets_values": [
"[Github](https://github.com/stuttlepress) | [CivitAI](https://civitai.com/user/__Bob__) \n\n- **v1.0.1** Maintenance update\n - replace deprecated `batch images` node\n - documentation fix\n\n* **v1.0.0** Initial release. \n"
],
"color": "#2a363b",
"bgcolor": "#3f5159"
}
],
"links": [
[
5,
5,
0,
4,
0,
"CONDITIONING"
],
[
6,
6,
0,
5,
0,
"CLIP"
],
[
7,
7,
0,
4,
1,
"CONDITIONING"
],
[
8,
6,
0,
7,
0,
"CLIP"
],
[
9,
8,
0,
4,
2,
"VAE"
],
[
23,
12,
0,
14,
0,
"MODEL"
],
[
25,
11,
0,
15,
0,
"MODEL"
],
[
28,
8,
0,
16,
1,
"VAE"
],
[
58,
24,
0,
25,
3,
"LATENT"
],
[
59,
14,
0,
24,
0,
"MODEL"
],
[
60,
15,
0,
25,
0,
"MODEL"
],
[
61,
4,
0,
24,
1,
"CONDITIONING"
],
[
62,
4,
1,
24,
2,
"CONDITIONING"
],
[
63,
4,
2,
24,
3,
"LATENT"
],
[
64,
25,
0,
16,
0,
"LATENT"
],
[
69,
31,
0,
30,
0,
"VIDEO"
],
[
76,
28,
2,
31,
2,
"FLOAT"
],
[
77,
35,
0,
28,
0,
"VIDEO"
],
[
78,
4,
0,
25,
1,
"CONDITIONING"
],
[
79,
4,
1,
25,
2,
"CONDITIONING"
],
[
105,
28,
0,
64,
0,
"IMAGE"
],
[
106,
64,
0,
4,
3,
"IMAGE"
],
[
107,
64,
1,
4,
4,
"MASK"
],
[
108,
64,
2,
4,
6,
"INT"
],
[
109,
64,
3,
4,
7,
"INT"
],
[
110,
64,
4,
4,
8,
"INT"
],
[
120,
16,
0,
67,
1,
"IMAGE"
],
[
121,
67,
0,
31,
0,
"IMAGE"
],
[
122,
64,
5,
67,
0,
"IMAGE"
]
],
"groups": [
{
"id": 1,
"title": "Output",
"bounding": [
-3780,
3240,
1380,
590
],
"color": "#b58b2a",
"flags": {}
},
{
"id": 2,
"title": "Generate",
"bounding": [
-3780,
2290,
1380,
940
],
"color": "#88A",
"flags": {}
},
{
"id": 3,
"title": "Load",
"bounding": [
-3780,
1560,
1380,
720
],
"color": "#3f789e",
"flags": {}
},
{
"id": 4,
"title": "Input",
"bounding": [
-4320,
1560,
530,
1670
],
"color": "#8AA",
"flags": {}
}
],
"config": {},
"extra": {
"ds": {
"scale": 1.1000000000000005,
"offset": [
5560.494750363621,
-1569.9402086432187
]
},
"workflowRendererVersion": "LG",
"frontendVersion": "1.45.15",
"VHS_latentpreview": true,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": false,
"VHS_KeepIntermediate": false
},
"version": 0.4
}