{
"last_node_id": 58,
"last_link_id": 145,
"nodes": [
{
"id": 8,
"type": "VAEDecode",
"pos": [
1621,
267
],
"size": {
"0": 210,
"1": 46
},
"flags": {},
"order": 18,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 98
},
{
"name": "vae",
"type": "VAE",
"link": 114,
"slot_index": 1
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
9
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAEDecode"
}
},
{
"id": 42,
"type": "CheckpointLoaderSimple",
"pos": [
960,
96
],
"size": {
"0": 349.90911865234375,
"1": 98
},
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
113
],
"shape": 3,
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": null,
"shape": 3
},
{
"name": "VAE",
"type": "VAE",
"links": [
114
],
"shape": 3,
"slot_index": 2
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": [
"stable_cascade_stage_b.safetensors"
]
},
{
"id": 41,
"type": "CheckpointLoaderSimple",
"pos": [
-261,
356
],
"size": {
"0": 336,
"1": 98
},
"flags": {},
"order": 1,
"mode": 0,
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
110
],
"shape": 3,
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
111,
112
],
"shape": 3,
"slot_index": 1
},
{
"name": "VAE",
"type": "VAE",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": [
"stable_cascade_stage_c.safetensors"
]
},
{
"id": 46,
"type": "Note",
"pos": [
1622,
360
],
"size": {
"0": 210,
"1": 73.69999694824219
},
"flags": {},
"order": 2,
"mode": 0,
"properties": {
"text": ""
},
"widgets_values": [
"Stage a is what the VAE is called. It decodes the stage b latent into pixel space."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 44,
"type": "Note",
"pos": [
931,
418
],
"size": {
"0": 272.0986633300781,
"1": 138.81549072265625
},
"flags": {},
"order": 3,
"mode": 0,
"properties": {
"text": ""
},
"widgets_values": [
"This is stage b where the low resolution stage c latent is passed to the stage b model as conditioning. Stage b takes the low resolution latent and upscales it to a higher resolution one. \n\n"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 9,
"type": "SaveImage",
"pos": [
1864,
269
],
"size": {
"0": 971.827392578125,
"1": 1000.2752075195312
},
"flags": {},
"order": 19,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 9
}
],
"properties": {},
"widgets_values": [
"ComfyUI"
]
},
{
"id": 34,
"type": "StableCascade_EmptyLatentImage",
"pos": [
210,
725
],
"size": {
"0": 315,
"1": 150
},
"flags": {},
"order": 4,
"mode": 0,
"outputs": [
{
"name": "stage_c",
"type": "LATENT",
"links": [
82
],
"shape": 3,
"slot_index": 0
},
{
"name": "stage_b",
"type": "LATENT",
"links": [
83
],
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "StableCascade_EmptyLatentImage"
},
"widgets_values": [
1024,
1024,
42,
1
]
},
{
"id": 36,
"type": "StableCascade_StageB_Conditioning",
"pos": [
960,
240
],
"size": {
"0": 277.20001220703125,
"1": 46
},
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "conditioning",
"type": "CONDITIONING",
"link": 116,
"slot_index": 0
},
{
"name": "stage_c",
"type": "LATENT",
"link": 88
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
86
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "StableCascade_StageB_Conditioning"
}
},
{
"id": 49,
"type": "ControlNetApplyAdvanced",
"pos": [
215,
-25
],
"size": {
"0": 315,
"1": 166
},
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 118
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 119
},
{
"name": "control_net",
"type": "CONTROL_NET",
"link": 122
},
{
"name": "image",
"type": "IMAGE",
"link": 145,
"slot_index": 3
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
120
],
"shape": 3,
"slot_index": 0
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
142
],
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "ControlNetApplyAdvanced"
},
"widgets_values": [
1,
0,
1
]
},
{
"id": 54,
"type": "ImageScale",
"pos": [
-767,
56
],
"size": {
"0": 315,
"1": 130
},
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 130
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
131
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ImageScale"
},
"widgets_values": [
"nearest-exact",
224,
224,
"disabled"
]
},
{
"id": 50,
"type": "LoadImage",
"pos": [
-1134,
44
],
"size": {
"0": 315,
"1": 314
},
"flags": {},
"order": 5,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
130
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"example.png",
"image"
]
},
{
"id": 52,
"type": "PreviewImage",
"pos": [
-577,
291
],
"size": {
"0": 258.7429504394531,
"1": 284.9209899902344
},
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 144
}
],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 6,
"type": "CLIPTextEncode",
"pos": [
96,
287
],
"size": {
"0": 432,
"1": 192
},
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 111
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
116,
118
],
"slot_index": 0
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"evening sunset scenery blue sky nature, glass bottle with a fizzy ice cold freezing rainbow liquid in it"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 7,
"type": "CLIPTextEncode",
"pos": [
43,
516
],
"size": {
"0": 432,
"1": 96
},
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 112
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
117,
119
],
"slot_index": 0
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"text, watermark"
],
"color": "#322",
"bgcolor": "#533"
},
{
"id": 51,
"type": "Canny",
"pos": [
-394,
56
],
"size": {
"0": 315,
"1": 82
},
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 131
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
144,
145
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "Canny"
},
"widgets_values": [
0.3,
0.7000000000000001
]
},
{
"id": 47,
"type": "ControlNetLoader",
"pos": [
-245,
-60
],
"size": [
381.5635253906248,
58
],
"flags": {},
"order": 6,
"mode": 0,
"outputs": [
{
"name": "CONTROL_NET",
"type": "CONTROL_NET",
"links": [
122
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ControlNetLoader"
},
"widgets_values": [
"stable_cascade_canny.safetensors"
]
},
{
"id": 43,
"type": "Note",
"pos": [
-242,
502
],
"size": {
"0": 287.48663330078125,
"1": 173.3572998046875
},
"flags": {},
"order": 7,
"mode": 0,
"properties": {
"text": ""
},
"widgets_values": [
"This is stage c, the model generates a low resolution latent, the default compression of 42 means that the width and height of the stage c latent are 1024 divided by 42."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 58,
"type": "Note",
"pos": [
-743,
-179
],
"size": {
"0": 287.48663330078125,
"1": 173.3572998046875
},
"flags": {},
"order": 8,
"mode": 0,
"properties": {
"text": ""
},
"widgets_values": [
"Images are scaled to 224x224 in the reference implementation before being passed to the canny filter.\n\nIncreasing this resolution a bit might give sharper results."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 33,
"type": "KSampler",
"pos": [
1278,
265
],
"size": {
"0": 315,
"1": 262
},
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 113,
"slot_index": 0
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 86
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 117
},
{
"name": "latent_image",
"type": "LATENT",
"link": 83
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
98
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
951405158245073,
"randomize",
10,
1.1,
"euler_ancestral",
"simple",
1
]
},
{
"id": 3,
"type": "KSampler",
"pos": [
552,
293
],
"size": {
"0": 315,
"1": 262
},
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 110,
"slot_index": 0
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 120
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 142
},
{
"name": "latent_image",
"type": "LATENT",
"link": 82
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
88
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
784805947292946,
"randomize",
20,
4,
"euler_ancestral",
"simple",
1
]
}
],
"links": [
[
9,
8,
0,
9,
0,
"IMAGE"
],
[
82,
34,
0,
3,
3,
"LATENT"
],
[
83,
34,
1,
33,
3,
"LATENT"
],
[
86,
36,
0,
33,
1,
"CONDITIONING"
],
[
88,
3,
0,
36,
1,
"LATENT"
],
[
98,
33,
0,
8,
0,
"LATENT"
],
[
110,
41,
0,
3,
0,
"MODEL"
],
[
111,
41,
1,
6,
0,
"CLIP"
],
[
112,
41,
1,
7,
0,
"CLIP"
],
[
113,
42,
0,
33,
0,
"MODEL"
],
[
114,
42,
2,
8,
1,
"VAE"
],
[
116,
6,
0,
36,
0,
"CONDITIONING"
],
[
117,
7,
0,
33,
2,
"CONDITIONING"
],
[
118,
6,
0,
49,
0,
"CONDITIONING"
],
[
119,
7,
0,
49,
1,
"CONDITIONING"
],
[
120,
49,
0,
3,
1,
"CONDITIONING"
],
[
122,
47,
0,
49,
2,
"CONTROL_NET"
],
[
130,
50,
0,
54,
0,
"IMAGE"
],
[
131,
54,
0,
51,
0,
"IMAGE"
],
[
142,
49,
1,
3,
2,
"CONDITIONING"
],
[
144,
51,
0,
52,
0,
"IMAGE"
],
[
145,
51,
0,
49,
3,
"IMAGE"
]
],
"groups": [
{
"title": "Stage B",
"bounding": [
877,
-63,
736,
662
],
"color": "#8A8",
"font_size": 24
},
{
"title": "Stage C",
"bounding": [
-284,
188,
1159,
491
],
"color": "#b06634",
"font_size": 24
}
],
"config": {},
"extra": {},
"version": 0.4
}