前回の続きで、今回は配布ワークフローの右半分です。
ワークフローは初級編で配布しています。
EasyUseにビルドインされている機能を使う事にフォーカスしているので、個別の機能に対する細かい説明はありません。
Controlnet
Stack
最もシンプル。Loaderに繋ぎます。
最大3で更に必要な場合は同じものを直列でいいはずです。
3で足りないことある…?
途中に挟む場合はeasy controlnetStackApplyをPipeで繋いでStackをつないでください。
HiresFixだけにAnytestとかを効かせる時は途中繋ぎですね。
EasyUseのCNはSoftWeightがデフォで入っているのがいいですね。最高です。
■サンプルワークフロー
{
"last_node_id": 7,
"last_link_id": 4,
"nodes": [
{
"id": 1,
"type": "easy comfyLoader",
"pos": {
"0": -1721.841552734375,
"1": -677.8846435546875
},
"size": [
262,
360
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "optional_lora_stack",
"type": "LORA_STACK",
"link": null,
"shape": 7
},
{
"name": "optional_controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": 1,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
2
],
"slot_index": 0
},
{
"name": "model",
"type": "MODEL",
"links": null
},
{
"name": "vae",
"type": "VAE",
"links": null
}
],
"title": "easy comfyLoader",
"properties": {
"Node name for S&R": "easy comfyLoader"
},
"widgets_values": [
"SDXL\\osukinimixXL_v10.safetensors",
"Baked VAE",
-2,
"None",
1,
1,
"1280 x 768",
512,
512,
"1girl,multiple views",
"worst quality,low quality,normal quality,oldest,early,mid",
1
]
},
{
"id": 2,
"type": "easy preSampling",
"pos": {
"0": -1434.842041015625,
"1": -672.8846435546875
},
"size": [
210,
242
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 2
},
{
"name": "image_to_latent",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
3
],
"slot_index": 0
}
],
"title": "easy preSampling",
"properties": {
"Node name for S&R": "easy preSampling"
},
"widgets_values": [
20,
8,
"euler_ancestral",
"karras",
1,
273368864666126,
"randomize"
]
},
{
"id": 3,
"type": "easy kSampler",
"pos": {
"0": -1200.842041015625,
"1": -669.8846435546875
},
"size": [
320,
290
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 3
},
{
"name": "model",
"type": "MODEL",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": null
},
{
"name": "image",
"type": "IMAGE",
"links": null
}
],
"title": "easy kSampler",
"properties": {
"Node name for S&R": "easy kSampler"
},
"widgets_values": [
"Preview",
0,
"ComfyUI"
]
},
{
"id": 4,
"type": "easy controlnetStack",
"pos": {
"0": -2101.841552734375,
"1": -657.8845825195312
},
"size": [
354.3999938964844,
286
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "optional_controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": null,
"shape": 7
},
{
"name": "image_1",
"type": "IMAGE",
"link": 4,
"shape": 7
},
{
"name": "image_2",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "image_3",
"type": "IMAGE",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "controlnet_stack",
"type": "CONTROL_NET_STACK",
"links": [
1
],
"slot_index": 0
}
],
"title": "easy controlnetStack",
"properties": {
"Node name for S&R": "easy controlnetStack"
},
"widgets_values": [
true,
"advanced",
1,
"sdxl\\xinsir_cn-openpose-sdxl-1.0\\xinsir_cn-openpose-sdxl-1.0.safetensors",
1,
0,
1,
1,
"None",
1,
0,
1,
1,
"None",
1,
0,
1,
1
]
},
{
"id": 5,
"type": "LoadImage",
"pos": {
"0": -2370.841796875,
"1": -638.8845825195312
},
"size": {
"0": 240,
"1": 314
},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
4
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"ComfyUI_temp_jlvih_00003_.png",
"image"
]
},
{
"id": 6,
"type": "easy controlnetStackApply",
"pos": {
"0": -1433.350830078125,
"1": -368.8717956542969
},
"size": {
"0": 210,
"1": 50
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": null
},
{
"name": "pipe",
"type": "PIPE_LINE",
"link": null
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": null
}
],
"title": "easy controlnetStackApply",
"properties": {
"Node name for S&R": "easy controlnetStackApply"
}
},
{
"id": 7,
"type": "Note",
"pos": {
"0": -1362,
"1": -274
},
"size": [
354.63922119140625,
81.43138122558594
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"↑間に挟む場合はこっち"
],
"color": "#432",
"bgcolor": "#653"
}
],
"links": [
[
1,
4,
0,
1,
1,
"CONTROL_NET_STACK"
],
[
2,
1,
0,
2,
0,
"PIPE_LINE"
],
[
3,
2,
0,
3,
0,
"PIPE_LINE"
],
[
4,
5,
0,
4,
1,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"0246.VERSION": [
0,
0,
4
]
},
"version": 0.4
}
シングル
途中Pipe接続。こちらはシングル接続のみです。直列もできません。
Stackだとデカい…とか別のノードにConditioning渡すって時に。
経験上1つでいいかなって思って繋いだけど2つ欲しいなってなる時は割とありますw
CN-i2iをしたい場合はPreSamplingにImageを繋ぎ、
サンプルはデノイズ1なので適宜下げてください。
■サンプルワークフロー
{
"last_node_id": 24,
"last_link_id": 23,
"nodes": [
{
"id": 9,
"type": "easy comfyLoader",
"pos": {
"0": -2246.733642578125,
"1": -888.7149658203125
},
"size": [
262,
360
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"name": "optional_lora_stack",
"type": "LORA_STACK",
"link": null,
"shape": 7
},
{
"name": "optional_controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
5
],
"slot_index": 0
},
{
"name": "model",
"type": "MODEL",
"links": null
},
{
"name": "vae",
"type": "VAE",
"links": null
}
],
"title": "easy comfyLoader",
"properties": {
"Node name for S&R": "easy comfyLoader"
},
"widgets_values": [
"SDXL\\osukinimixXL_v10.safetensors",
"XL\\sdxl-vae-fp16-fix.safetensors",
-2,
"None",
1,
1,
"1024 x 1024",
512,
512,
"1girl,chibi",
"worst quality,low quality,normal quality,oldest,early,mid",
1
]
},
{
"id": 10,
"type": "easy preSampling",
"pos": {
"0": -1316.3780517578125,
"1": -891.9578857421875
},
"size": [
210,
242
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 23
},
{
"name": "image_to_latent",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
8
],
"slot_index": 0
}
],
"title": "easy preSampling",
"properties": {
"Node name for S&R": "easy preSampling"
},
"widgets_values": [
20,
8,
"euler_ancestral",
"karras",
1,
749184183382816,
"randomize"
]
},
{
"id": 11,
"type": "easy kSampler",
"pos": {
"0": -1082.3780517578125,
"1": -888.9578857421875
},
"size": [
320,
290
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 8
},
{
"name": "model",
"type": "MODEL",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": null
},
{
"name": "image",
"type": "IMAGE",
"links": null
}
],
"title": "easy kSampler",
"properties": {
"Node name for S&R": "easy kSampler"
},
"widgets_values": [
"Preview",
0,
"ComfyUI"
]
},
{
"id": 14,
"type": "easy pipeIn",
"pos": {
"0": -1450.3785400390625,
"1": -449.9580078125
},
"size": {
"0": 140,
"1": 190
},
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 10,
"shape": 7
},
{
"name": "model",
"type": "MODEL",
"link": null,
"shape": 7
},
{
"name": "pos",
"type": "CONDITIONING",
"link": 11,
"shape": 7
},
{
"name": "neg",
"type": "CONDITIONING",
"link": 12,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": null,
"shape": 7
},
{
"name": "vae",
"type": "VAE",
"link": null,
"shape": 7
},
{
"name": "clip",
"type": "CLIP",
"link": null,
"shape": 7
},
{
"name": "image",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "xyPlot",
"type": "XYPLOT",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": null
}
],
"title": "easy pipeIn",
"properties": {
"Node name for S&R": "easy pipeIn"
}
},
{
"id": 15,
"type": "Note",
"pos": {
"0": -1289.3780517578125,
"1": -333.957763671875
},
"size": [
360.0992431640625,
108.87568664550781
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"←別のノードのCNを繋ぐ場合はPipeIn、ONTなどで中継する"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 16,
"type": "ACN_AdvancedControlNetApply",
"pos": {
"0": -1720.3780517578125,
"1": -409.9580078125
},
"size": {
"0": 240,
"1": 290
},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 13
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 14
},
{
"name": "control_net",
"type": "CONTROL_NET",
"link": 15
},
{
"name": "image",
"type": "IMAGE",
"link": null
},
{
"name": "mask_optional",
"type": "MASK",
"link": null,
"shape": 7
},
{
"name": "timestep_kf",
"type": "TIMESTEP_KEYFRAME",
"link": null,
"shape": 7
},
{
"name": "latent_kf_override",
"type": "LATENT_KEYFRAME",
"link": null,
"shape": 7
},
{
"name": "weights_override",
"type": "CONTROL_NET_WEIGHTS",
"link": 16,
"shape": 7
},
{
"name": "model_optional",
"type": "MODEL",
"link": null,
"shape": 7
},
{
"name": "vae_optional",
"type": "VAE",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
11
],
"slot_index": 0
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
12
],
"slot_index": 1
},
{
"name": "model_opt",
"type": "MODEL",
"links": null
}
],
"title": "ACN_AdvancedControlNetApply",
"properties": {
"Node name for S&R": "ACN_AdvancedControlNetApply"
},
"widgets_values": [
1,
0,
1,
""
]
},
{
"id": 17,
"type": "ControlNetLoaderAdvanced",
"pos": {
"0": -2002.37744140625,
"1": -340.957763671875
},
"size": {
"0": 250,
"1": 60
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "tk_optional",
"type": "TIMESTEP_KEYFRAME",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "CONTROL_NET",
"type": "CONTROL_NET",
"links": [
15
],
"slot_index": 0
}
],
"title": "ControlNetLoaderAdvanced",
"properties": {
"Node name for S&R": "ControlNetLoaderAdvanced"
},
"widgets_values": [
"sdxl\\CN_Next_animeCanny.safetensors"
]
},
{
"id": 18,
"type": "easy pipeOut",
"pos": {
"0": -2156.37744140625,
"1": -446.9580078125
},
"size": {
"0": 140,
"1": 190
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": null
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
10
],
"slot_index": 0
},
{
"name": "model",
"type": "MODEL",
"links": null
},
{
"name": "pos",
"type": "CONDITIONING",
"links": [
13
],
"slot_index": 2
},
{
"name": "neg",
"type": "CONDITIONING",
"links": [
14
],
"slot_index": 3
},
{
"name": "latent",
"type": "LATENT",
"links": null
},
{
"name": "vae",
"type": "VAE",
"links": null
},
{
"name": "clip",
"type": "CLIP",
"links": null
},
{
"name": "image",
"type": "IMAGE",
"links": null
},
{
"name": "seed",
"type": "INT",
"links": null
}
],
"title": "easy pipeOut",
"properties": {
"Node name for S&R": "easy pipeOut"
}
},
{
"id": 19,
"type": "ACN_ScaledSoftControlNetWeights",
"pos": {
"0": -2004.37744140625,
"1": -238.957763671875
},
"size": {
"0": 260.3999938964844,
"1": 102
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "cn_extras",
"type": "CN_WEIGHTS_EXTRAS",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "CN_WEIGHTS",
"type": "CONTROL_NET_WEIGHTS",
"links": [
16
],
"slot_index": 0
},
{
"name": "TK_SHORTCUT",
"type": "TIMESTEP_KEYFRAME",
"links": null,
"slot_index": 1
}
],
"title": "ACN_ScaledSoftControlNetWeights",
"properties": {
"Node name for S&R": "ACN_ScaledSoftControlNetWeights"
},
"widgets_values": [
0.825,
1,
""
]
},
{
"id": 20,
"type": "Note",
"pos": {
"0": -1310.5015869140625,
"1": -600.640625
},
"size": [
360.0992431640625,
108.87568664550781
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"↑i2iCNをする場合はpreSamplingのimage to latentにLoadImageをつなぎ、denoiseを0.3-0.6くらいに調整する"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 12,
"type": "LoadImage",
"pos": {
"0": -1965.37744140625,
"1": -824.9580688476562
},
"size": {
"0": 290,
"1": 314
},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
9
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"00002-method:DPM++ 2M_Steps:30_CFG:8_SEED:2867746613.png",
"image"
]
},
{
"id": 13,
"type": "AIO_Preprocessor",
"pos": {
"0": -1666,
"1": -685
},
"size": {
"0": 210,
"1": 82
},
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 9
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
6
],
"slot_index": 0
}
],
"title": "AIO_Preprocessor",
"properties": {
"Node name for S&R": "AIO_Preprocessor"
},
"widgets_values": [
"CannyEdgePreprocessor",
512
]
},
{
"id": 8,
"type": "easy controlnetLoader",
"pos": {
"0": -1573,
"1": -891
},
"size": {
"0": 220,
"1": 150
},
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 5
},
{
"name": "image",
"type": "IMAGE",
"link": 6
},
{
"name": "control_net",
"type": "CONTROL_NET",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
23
],
"slot_index": 0
},
{
"name": "positive",
"type": "CONDITIONING",
"links": [],
"slot_index": 1
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [],
"slot_index": 2
}
],
"title": "easy controlnetLoader",
"properties": {
"Node name for S&R": "easy controlnetLoader"
},
"widgets_values": [
"sdxl\\xinsir_cn-canny-sdxl-1.0_V2\\xinsir_cn-canny-sdxl-1.0_V2.safetensors",
0.934,
0.868
]
}
],
"links": [
[
5,
9,
0,
8,
0,
"PIPE_LINE"
],
[
6,
13,
0,
8,
1,
"IMAGE"
],
[
8,
10,
0,
11,
0,
"PIPE_LINE"
],
[
9,
12,
0,
13,
0,
"IMAGE"
],
[
10,
18,
0,
14,
0,
"PIPE_LINE"
],
[
11,
16,
0,
14,
2,
"CONDITIONING"
],
[
12,
16,
1,
14,
3,
"CONDITIONING"
],
[
13,
18,
2,
16,
0,
"CONDITIONING"
],
[
14,
18,
3,
16,
1,
"CONDITIONING"
],
[
15,
17,
0,
16,
2,
"CONTROL_NET"
],
[
16,
19,
0,
16,
7,
"CONTROL_NET_WEIGHTS"
],
[
23,
8,
0,
10,
0,
"PIPE_LINE"
]
],
"groups": [],
"config": {},
"extra": {
"0246.VERSION": [
0,
0,
4
]
},
"version": 0.4
}
ACNなどベーシックなCNノードを使いたい場合はPipeIN-OUTなどで接続します。
Controlnet++(CN-Union)
なんで名前ばらけてん…というのは置いといて、これは何かというと1つのモデルに複数のCNを学習させてあるもので精度は個別のものと遜色ない(と書かれている)らしいです。
モデルはこちら
自分の用途ではAnytestで割と何でも処理できてしまうため、テスト出力程度しかしていないので詳しい所はよくわかりません。
Type指定で何をさせるかを明確に選ぶこともできるし、autoでお任せにすることも可能です。
{
"last_node_id": 30,
"last_link_id": 29,
"nodes": [
{
"id": 25,
"type": "easy comfyLoader",
"pos": {
"0": -1840.6961669921875,
"1": -999.8836669921875
},
"size": [
262,
360
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"name": "optional_lora_stack",
"type": "LORA_STACK",
"link": null,
"shape": 7
},
{
"name": "optional_controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
28
],
"slot_index": 0
},
{
"name": "model",
"type": "MODEL",
"links": null
},
{
"name": "vae",
"type": "VAE",
"links": null
}
],
"title": "easy comfyLoader",
"properties": {
"Node name for S&R": "easy comfyLoader"
},
"widgets_values": [
"SDXL\\osukinimixXL_v10.safetensors",
"XL\\sdxl-vae-fp16-fix.safetensors",
-2,
"None",
1,
1,
"1024 x 1024",
512,
512,
"1girl,chibi",
"worst quality,low quality,normal quality,oldest,early,mid",
1
]
},
{
"id": 26,
"type": "easy preSampling",
"pos": {
"0": -808.9998168945312,
"1": -1002.6732177734375
},
"size": [
210,
242
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 25
},
{
"name": "image_to_latent",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
26
],
"slot_index": 0
}
],
"title": "easy preSampling",
"properties": {
"Node name for S&R": "easy preSampling"
},
"widgets_values": [
20,
8,
"euler_ancestral",
"karras",
1,
990935372509924,
"randomize"
]
},
{
"id": 27,
"type": "easy kSampler",
"pos": {
"0": -582.9998168945312,
"1": -1003.6732177734375
},
"size": [
320,
290
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 26
},
{
"name": "model",
"type": "MODEL",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": null
},
{
"name": "image",
"type": "IMAGE",
"links": null
}
],
"title": "easy kSampler",
"properties": {
"Node name for S&R": "easy kSampler"
},
"widgets_values": [
"Preview",
0,
"ComfyUI"
]
},
{
"id": 28,
"type": "LoadImage",
"pos": {
"0": -1562.9998779296875,
"1": -946.6732177734375
},
"size": {
"0": 290,
"1": 314
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
27
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"00002-method:DPM++ 2M_Steps:30_CFG:8_SEED:2867746613.png",
"image"
]
},
{
"id": 29,
"type": "AIO_Preprocessor",
"pos": {
"0": -1249.9998779296875,
"1": -717.6732177734375
},
"size": {
"0": 210,
"1": 82
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 27
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
29
],
"slot_index": 0
}
],
"title": "AIO_Preprocessor",
"properties": {
"Node name for S&R": "AIO_Preprocessor"
},
"widgets_values": [
"AnyLineArtPreprocessor_aux",
1024
]
},
{
"id": 30,
"type": "easy controlnetLoader++",
"pos": {
"0": -1140.9998779296875,
"1": -1002.6732177734375
},
"size": {
"0": 320,
"1": 220
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 28
},
{
"name": "image",
"type": "IMAGE",
"link": 29
},
{
"name": "control_net",
"type": "CONTROL_NET",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
25
],
"slot_index": 0
},
{
"name": "positive",
"type": "CONDITIONING",
"links": null
},
{
"name": "negative",
"type": "CONDITIONING",
"links": null
}
],
"title": "easy controlnetLoader++",
"properties": {
"Node name for S&R": "easy controlnetLoader++"
},
"widgets_values": [
"SDXL\\controlnet-union-sdxl-1.0\\iffusion_pytorch_model_promax.safetensors",
0.896,
0,
1,
0.8,
"canny/lineart/anime_lineart/mlsd"
]
}
],
"links": [
[
25,
30,
0,
26,
0,
"PIPE_LINE"
],
[
26,
26,
0,
27,
0,
"PIPE_LINE"
],
[
27,
28,
0,
29,
0,
"IMAGE"
],
[
28,
25,
0,
30,
0,
"PIPE_LINE"
],
[
29,
29,
0,
30,
1,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"0246.VERSION": [
0,
0,
4
]
},
"version": 0.4
}
IPAdapter
シングル
地味に繋ぐの面倒なやつ。
でもEasyUseさんにかかれば1ノードPipeするだけ。ワァ…
■サンプルワークフロー
{
"last_node_id": 49,
"last_link_id": 80,
"nodes": [
{
"id": 35,
"type": "easy ipadapterApplyADV",
"pos": {
"0": -1220,
"1": -1180
},
"size": [
270,
416
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 35
},
{
"name": "image",
"type": "IMAGE",
"link": 36
},
{
"name": "image_negative",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "attn_mask",
"type": "MASK",
"link": null,
"shape": 7
},
{
"name": "clip_vision",
"type": "CLIP_VISION",
"link": null,
"shape": 7
},
{
"name": "optional_ipadapter",
"type": "IPADAPTER",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "model",
"type": "MODEL",
"links": [
34
],
"slot_index": 0
},
{
"name": "images",
"type": "IMAGE",
"links": [
32
],
"slot_index": 1
},
{
"name": "masks",
"type": "MASK",
"links": null
},
{
"name": "ipadapter",
"type": "IPADAPTER",
"links": null
}
],
"title": "easy ipadapterApplyADV",
"properties": {
"Node name for S&R": "easy ipadapterApplyADV"
},
"widgets_values": [
"VIT-G (medium strength)",
0.6,
"CPU",
0.721,
1,
"style and composition",
"concat",
0,
1,
"V only",
"all",
false,
false,
0,
""
]
},
{
"id": 32,
"type": "easy preSampling",
"pos": {
"0": -900,
"1": -1170
},
"size": [
210,
242
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 31
},
{
"name": "image_to_latent",
"type": "IMAGE",
"link": 32,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
33
],
"slot_index": 0
}
],
"title": "easy preSampling",
"properties": {
"Node name for S&R": "easy preSampling"
},
"widgets_values": [
20,
8,
"euler_ancestral",
"karras",
1,
315511197620847,
"fixed"
]
},
{
"id": 33,
"type": "easy kSampler",
"pos": {
"0": -660,
"1": -1180
},
"size": [
320,
290
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 33
},
{
"name": "model",
"type": "MODEL",
"link": 34,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": null
},
{
"name": "image",
"type": "IMAGE",
"links": null
}
],
"title": "easy kSampler",
"properties": {
"Node name for S&R": "easy kSampler"
},
"widgets_values": [
"Preview",
0,
"ComfyUI"
]
},
{
"id": 39,
"type": "easy preSampling",
"pos": {
"0": -570,
"1": -290
},
"size": [
210,
242
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 80
},
{
"name": "image_to_latent",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
42
],
"slot_index": 0
}
],
"title": "easy preSampling",
"properties": {
"Node name for S&R": "easy preSampling"
},
"widgets_values": [
20,
8,
"euler_ancestral",
"karras",
1,
315511197620847,
"fixed"
]
},
{
"id": 40,
"type": "easy kSampler",
"pos": {
"0": -314,
"1": -289
},
"size": [
320,
290
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 42
},
{
"name": "model",
"type": "MODEL",
"link": 43,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": null
},
{
"name": "image",
"type": "IMAGE",
"links": null
}
],
"title": "easy kSampler",
"properties": {
"Node name for S&R": "easy kSampler"
},
"widgets_values": [
"Preview",
0,
"ComfyUI"
]
},
{
"id": 37,
"type": "easy ipadapterApplyEmbeds",
"pos": {
"0": -850,
"1": -290
},
"size": {
"0": 210,
"1": 254
},
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 72
},
{
"name": "clip_vision",
"type": "CLIP_VISION",
"link": 73
},
{
"name": "ipadapter",
"type": "IPADAPTER",
"link": 74
},
{
"name": "pos_embed",
"type": "EMBEDS",
"link": 75
},
{
"name": "neg_embed",
"type": "EMBEDS",
"link": 76,
"shape": 7
},
{
"name": "attn_mask",
"type": "MASK",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "model",
"type": "MODEL",
"links": [
43
],
"slot_index": 0
},
{
"name": "ipadapter",
"type": "IPADAPTER",
"links": null
}
],
"title": "easy ipadapterApplyEmbeds",
"properties": {
"Node name for S&R": "easy ipadapterApplyEmbeds"
},
"widgets_values": [
1,
"linear",
0,
1,
"V only"
]
},
{
"id": 47,
"type": "easy ipadapterApplyEncoder",
"pos": {
"0": -1180,
"1": -290
},
"size": [
290,
418
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 79
},
{
"name": "clip_vision",
"type": "CLIP_VISION",
"link": 77
},
{
"name": "image1",
"type": "IMAGE",
"link": 78
},
{
"name": "image2",
"type": "IMAGE",
"link": 70,
"shape": 7
},
{
"name": "image3",
"type": "IMAGE",
"link": 71,
"shape": 7
},
{
"name": "image4",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "mask1",
"type": "MASK",
"link": null,
"shape": 7
},
{
"name": "mask2",
"type": "MASK",
"link": null,
"shape": 7
},
{
"name": "mask3",
"type": "MASK",
"link": null,
"shape": 7
},
{
"name": "mask4",
"type": "MASK",
"link": null,
"shape": 7
},
{
"name": "optional_ipadapter",
"type": "IPADAPTER",
"link": null,
"shape": 7
},
{
"name": "pos_embeds",
"type": "EMBEDS",
"link": null,
"shape": 7
},
{
"name": "neg_embeds",
"type": "EMBEDS",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "model",
"type": "MODEL",
"links": [
72
]
},
{
"name": "clip_vision",
"type": "CLIP_VISION",
"links": [
73
]
},
{
"name": "ipadapter",
"type": "IPADAPTER",
"links": [
74
]
},
{
"name": "pos_embed",
"type": "EMBEDS",
"links": [
75
]
},
{
"name": "neg_embed",
"type": "EMBEDS",
"links": [
76
]
}
],
"title": "easy ipadapterApplyEncoder",
"properties": {
"Node name for S&R": "easy ipadapterApplyEncoder"
},
"widgets_values": [
"PLUS (high strength)",
3,
0.68,
0.724,
0.28800000000000003,
1,
"concat"
]
},
{
"id": 42,
"type": "LoadImage",
"pos": {
"0": -1543,
"1": 157
},
"size": {
"0": 290,
"1": 314
},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
71
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"grass-trees-stairs1-1024x576.jpg",
"image"
]
},
{
"id": 41,
"type": "LoadImage",
"pos": {
"0": -1542,
"1": -198
},
"size": {
"0": 290,
"1": 314
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
70
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"00014-method:DPM++ 2M Karras_Steps:69_CFG:5.5_SEED:1893827543.png",
"image"
]
},
{
"id": 34,
"type": "LoadImage",
"pos": {
"0": -1550,
"1": -1130
},
"size": [
290,
314
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
36
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"00002-method:DPM++ 2M_Steps:30_CFG:8_SEED:1805276761.png",
"image"
]
},
{
"id": 49,
"type": "LoadImage",
"pos": {
"0": -1540,
"1": -570
},
"size": {
"0": 290,
"1": 314
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
78
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"00002-method:DPM++ 2M_Steps:30_CFG:8_SEED:1805276761.png",
"image"
]
},
{
"id": 48,
"type": "easy comfyLoader",
"pos": {
"0": -1834,
"1": -295
},
"size": [
262,
360
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "optional_lora_stack",
"type": "LORA_STACK",
"link": null,
"shape": 7
},
{
"name": "optional_controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
80
],
"slot_index": 0
},
{
"name": "model",
"type": "MODEL",
"links": [
79
],
"slot_index": 1
},
{
"name": "vae",
"type": "VAE",
"links": null
}
],
"title": "easy comfyLoader",
"properties": {
"Node name for S&R": "easy comfyLoader"
},
"widgets_values": [
"SDXL\\osukinimixXL_v10.safetensors",
"Baked VAE",
-2,
"None",
1,
1,
"1024 x 1024",
512,
512,
"1girl,chibi",
"worst quality,low quality,normal quality,oldest,early,mid",
1
]
},
{
"id": 45,
"type": "CLIPVisionLoader",
"pos": {
"0": -1175,
"1": -412
},
"size": [
268.5837701490668,
58
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP_VISION",
"type": "CLIP_VISION",
"links": [
77
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPVisionLoader"
},
"widgets_values": [
"CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors"
]
},
{
"id": 38,
"type": "Note",
"pos": {
"0": -2002,
"1": -506
},
"size": [
360.0992431640625,
108.87568664550781
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"複数参照はこっち→\n標準IpAから持ってきてもOK"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 31,
"type": "easy comfyLoader",
"pos": {
"0": -1830,
"1": -1170
},
"size": [
262,
360
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "optional_lora_stack",
"type": "LORA_STACK",
"link": null,
"shape": 7
},
{
"name": "optional_controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
31
],
"slot_index": 0
},
{
"name": "model",
"type": "MODEL",
"links": [
35
],
"slot_index": 1
},
{
"name": "vae",
"type": "VAE",
"links": null
}
],
"title": "easy comfyLoader",
"properties": {
"Node name for S&R": "easy comfyLoader"
},
"widgets_values": [
"SDXL\\osukinimixXL_v10.safetensors",
"Baked VAE",
-2,
"None",
1,
1,
"1024 x 1024",
512,
512,
"1girl,chibi",
"worst quality,low quality,normal quality,oldest,early,mid",
1
]
}
],
"links": [
[
31,
31,
0,
32,
0,
"PIPE_LINE"
],
[
32,
35,
1,
32,
1,
"IMAGE"
],
[
33,
32,
0,
33,
0,
"PIPE_LINE"
],
[
34,
35,
0,
33,
1,
"MODEL"
],
[
35,
31,
1,
35,
0,
"MODEL"
],
[
36,
34,
0,
35,
1,
"IMAGE"
],
[
42,
39,
0,
40,
0,
"PIPE_LINE"
],
[
43,
37,
0,
40,
1,
"MODEL"
],
[
70,
41,
0,
47,
3,
"IMAGE"
],
[
71,
42,
0,
47,
4,
"IMAGE"
],
[
72,
47,
0,
37,
0,
"MODEL"
],
[
73,
47,
1,
37,
1,
"CLIP_VISION"
],
[
74,
47,
2,
37,
2,
"IPADAPTER"
],
[
75,
47,
3,
37,
3,
"EMBEDS"
],
[
76,
47,
4,
37,
4,
"EMBEDS"
],
[
77,
45,
0,
47,
1,
"CLIP_VISION"
],
[
78,
49,
0,
47,
2,
"IMAGE"
],
[
79,
48,
1,
47,
0,
"MODEL"
],
[
80,
48,
0,
39,
0,
"PIPE_LINE"
]
],
"groups": [],
"config": {},
"extra": {
"0246.VERSION": [
0,
0,
4
]
},
"version": 0.4
}
複数参照
少し複雑になりますが、複数参照もかなりスッキリ。
Detailer
手とか顔とかをBBOXで自動選択してそこだけi2iする機能です。
A1111だとAdetailerとかが類似のものです。
ImpactPackの一部を簡略化して持ってきた感じですね。
これもPipeで繋ぐだけで済むからかなり楽です。
■サンプルワークフロー
{
"last_node_id": 57,
"last_link_id": 88,
"nodes": [
{
"id": 50,
"type": "easy comfyLoader",
"pos": {
"0": -1585.3148193359375,
"1": -624.2964477539062
},
"size": [
262,
360
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"name": "optional_lora_stack",
"type": "LORA_STACK",
"link": null,
"shape": 7
},
{
"name": "optional_controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
83
],
"slot_index": 0
},
{
"name": "model",
"type": "MODEL",
"links": null
},
{
"name": "vae",
"type": "VAE",
"links": null
}
],
"title": "easy comfyLoader",
"properties": {
"Node name for S&R": "easy comfyLoader"
},
"widgets_values": [
"SDXL\\osukinimixXL_v10.safetensors",
"Baked VAE",
-2,
"None",
1,
1,
"1024 x 1024",
512,
512,
"1girl",
"worst quality,low quality,normal quality,oldest,early,mid",
1
]
},
{
"id": 51,
"type": "easy preSampling",
"pos": {
"0": -1307.6539306640625,
"1": -624.9966430664062
},
"size": [
210,
242
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 83
},
{
"name": "image_to_latent",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
84
],
"slot_index": 0
}
],
"title": "easy preSampling",
"properties": {
"Node name for S&R": "easy preSampling"
},
"widgets_values": [
20,
8,
"euler_ancestral",
"karras",
1,
645827961295857,
"randomize"
]
},
{
"id": 52,
"type": "easy kSampler",
"pos": {
"0": -1077.6544189453125,
"1": -623.9966430664062
},
"size": [
226.50296898682996,
242.68160758406248
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 84
},
{
"name": "model",
"type": "MODEL",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
86
],
"slot_index": 0
},
{
"name": "image",
"type": "IMAGE",
"links": null
}
],
"title": "easy kSampler",
"properties": {
"Node name for S&R": "easy kSampler"
},
"widgets_values": [
"Preview",
0,
"ComfyUI"
]
},
{
"id": 54,
"type": "easy samLoaderPipe",
"pos": {
"0": -820,
"1": -450
},
"size": [
295.16523977977386,
230.04123223224508
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "sam_pipe",
"type": "PIPE_LINE",
"links": [
88
],
"slot_index": 0
}
],
"title": "easy samLoaderPipe",
"properties": {
"Node name for S&R": "easy samLoaderPipe"
},
"widgets_values": [
"sam_vit_b_01ec64.pth",
"AUTO",
"center-1",
0,
0.93,
0,
0.7,
"False"
]
},
{
"id": 55,
"type": "easy ultralyticsDetectorPipe",
"pos": {
"0": -820,
"1": -620
},
"size": [
296.22297775618244,
130
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "bbox_segm_pipe",
"type": "PIPE_LINE",
"links": [
87
],
"slot_index": 0
}
],
"title": "easy ultralyticsDetectorPipe",
"properties": {
"Node name for S&R": "easy ultralyticsDetectorPipe"
},
"widgets_values": [
"bbox/face_yolov8m.pt",
0.5,
10,
3
]
},
{
"id": 57,
"type": "Note",
"pos": {
"0": -180,
"1": -280
},
"size": [
236.98092097347217,
109.56117750484452
],
"flags": {},
"order": 3,
"mode": 2,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"←自分でマスクを設定する場合はpreMaskDetailerFixの方を使用"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 53,
"type": "easy detailerFix",
"pos": {
"0": -180,
"1": -620
},
"size": [
238.06752793808482,
265.1361538248483
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 85
},
{
"name": "model",
"type": "MODEL",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": null
},
{
"name": "image",
"type": "IMAGE",
"links": null
},
{
"name": "cropped_refined",
"type": "IMAGE",
"links": null,
"shape": 6
},
{
"name": "cropped_enhanced_alpha",
"type": "IMAGE",
"links": null,
"shape": 6
}
],
"title": "easy detailerFix",
"properties": {
"Node name for S&R": "easy detailerFix"
},
"widgets_values": [
"Preview",
0,
"ComfyUI"
]
},
{
"id": 56,
"type": "easy preDetailerFix",
"pos": {
"0": -500,
"1": -620
},
"size": [
298.7221586076553,
498.11690332308217
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 86
},
{
"name": "bbox_segm_pipe",
"type": "PIPE_LINE",
"link": 87,
"shape": 7
},
{
"name": "sam_pipe",
"type": "PIPE_LINE",
"link": 88,
"shape": 7
},
{
"name": "optional_image",
"type": "IMAGE",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
85
],
"slot_index": 0
}
],
"title": "easy preDetailerFix",
"properties": {
"Node name for S&R": "easy preDetailerFix"
},
"widgets_values": [
768,
true,
1600,
119356943372838,
"randomize",
20,
7.5,
"euler_ancestral",
"normal",
0.5,
5,
true,
true,
10,
"",
1
]
}
],
"links": [
[
83,
50,
0,
51,
0,
"PIPE_LINE"
],
[
84,
51,
0,
52,
0,
"PIPE_LINE"
],
[
85,
56,
0,
53,
0,
"PIPE_LINE"
],
[
86,
52,
0,
56,
0,
"PIPE_LINE"
],
[
87,
55,
0,
56,
1,
"PIPE_LINE"
],
[
88,
54,
0,
56,
2,
"PIPE_LINE"
]
],
"groups": [],
"config": {},
"extra": {
"0246.VERSION": [
0,
0,
4
]
},
"version": 0.4
}
Fooocus inpaint
いつもoが何個かわからなくなるFooooooooooocusさんです。
通常インペイントよりも強力(場合による)かつインペイントモデルを用意せず普段遣いのモデルでいけます。(インペイントに強いモデル、弱いモデルはあります)
専用モデルが必要なので、下記からDLしてください。(今は自動DLされるんだっけ…?)
fooocus_inpaint_head,inpaint_v26か25の2つが必要です。
{
"last_node_id": 58,
"last_link_id": 97,
"nodes": [
{
"id": 50,
"type": "easy comfyLoader",
"pos": {
"0": -1445.116943359375,
"1": -310.546630859375
},
"size": [
262,
360
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"name": "optional_lora_stack",
"type": "LORA_STACK",
"link": null,
"shape": 7
},
{
"name": "optional_controlnet_stack",
"type": "CONTROL_NET_STACK",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
92
],
"slot_index": 0
},
{
"name": "model",
"type": "MODEL",
"links": [],
"slot_index": 1
},
{
"name": "vae",
"type": "VAE",
"links": [],
"slot_index": 2
}
],
"title": "easy comfyLoader",
"properties": {
"Node name for S&R": "easy comfyLoader"
},
"widgets_values": [
"SDXL\\bluePencilXL_v700.safetensors",
"Baked VAE",
-2,
"None",
1,
1,
"1024 x 1024",
512,
512,
"1girl,closed mouth",
"worst quality,low quality,normal quality,oldest,early,mid",
1
]
},
{
"id": 51,
"type": "easy preSampling",
"pos": {
"0": -99.88481903076172,
"1": -311.865478515625
},
"size": [
210,
242
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 83
},
{
"name": "image_to_latent",
"type": "IMAGE",
"link": null,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
93
],
"slot_index": 0
}
],
"title": "easy preSampling",
"properties": {
"Node name for S&R": "easy preSampling"
},
"widgets_values": [
20,
8,
"euler_ancestral",
"karras",
0.538,
604749649137755,
"randomize"
]
},
{
"id": 52,
"type": "LoadImage",
"pos": {
"0": -1160.5615234375,
"1": -253.741943359375
},
"size": [
320,
314
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
89
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": [
90
],
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"clipspace/clipspace-mask-1837733.2999999523.png [input]",
"image"
]
},
{
"id": 54,
"type": "INPAINT_VAEEncodeInpaintConditioning",
"pos": {
"0": -664.8848266601562,
"1": -290.865478515625
},
"size": {
"0": 280,
"1": 110
},
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 86
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 87
},
{
"name": "vae",
"type": "VAE",
"link": 88
},
{
"name": "pixels",
"type": "IMAGE",
"link": 89
},
{
"name": "mask",
"type": "MASK",
"link": 90
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
95
],
"slot_index": 0,
"shape": 3
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
96
],
"slot_index": 1,
"shape": 3
},
{
"name": "latent_inpaint",
"type": "LATENT",
"links": [
85
],
"slot_index": 2,
"shape": 3
},
{
"name": "latent_samples",
"type": "LATENT",
"links": [
97
],
"slot_index": 3,
"shape": 3
}
],
"properties": {
"Node name for S&R": "INPAINT_VAEEncodeInpaintConditioning"
}
},
{
"id": 55,
"type": "DifferentialDiffusion",
"pos": {
"0": -92.88481903076172,
"1": -31.8654842376709
},
"size": {
"0": 184.8000030517578,
"1": 30
},
"flags": {
"collapsed": false
},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 91,
"slot_index": 0
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
94
],
"slot_index": 0,
"shape": 3
}
],
"properties": {
"Node name for S&R": "DifferentialDiffusion"
},
"color": "#323",
"bgcolor": "#535"
},
{
"id": 56,
"type": "easy pipeOut",
"pos": {
"0": -831.8848266601562,
"1": -334.865478515625
},
"size": {
"0": 140,
"1": 190
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 92
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [
83
],
"slot_index": 0,
"shape": 3
},
{
"name": "model",
"type": "MODEL",
"links": [
84
],
"slot_index": 1,
"shape": 3
},
{
"name": "pos",
"type": "CONDITIONING",
"links": [
86
],
"slot_index": 2,
"shape": 3
},
{
"name": "neg",
"type": "CONDITIONING",
"links": [
87
],
"slot_index": 3,
"shape": 3
},
{
"name": "latent",
"type": "LATENT",
"links": null,
"shape": 3
},
{
"name": "vae",
"type": "VAE",
"links": [
88
],
"slot_index": 5,
"shape": 3
},
{
"name": "clip",
"type": "CLIP",
"links": null,
"shape": 3
},
{
"name": "image",
"type": "IMAGE",
"links": null,
"shape": 3
},
{
"name": "seed",
"type": "INT",
"links": null,
"shape": 3
}
],
"title": "easy pipeOut",
"properties": {
"Node name for S&R": "easy pipeOut"
}
},
{
"id": 57,
"type": "easy fullkSampler",
"pos": {
"0": 155.1151885986328,
"1": -309.865478515625
},
"size": [
270,
386
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"link": 93
},
{
"name": "model",
"type": "MODEL",
"link": 94,
"shape": 7
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 95,
"shape": 7
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 96,
"shape": 7
},
{
"name": "latent",
"type": "LATENT",
"link": 97,
"shape": 7
},
{
"name": "vae",
"type": "VAE",
"link": null,
"shape": 7
},
{
"name": "clip",
"type": "CLIP",
"link": null,
"shape": 7
},
{
"name": "xyPlot",
"type": "XYPLOT",
"link": null,
"shape": 7
},
{
"name": "image",
"type": "IMAGE",
"link": null,
"shape": 7
}
],
"outputs": [
{
"name": "pipe",
"type": "PIPE_LINE",
"links": [],
"slot_index": 0,
"shape": 3
},
{
"name": "image",
"type": "IMAGE",
"links": [],
"slot_index": 1,
"shape": 3
},
{
"name": "model",
"type": "MODEL",
"links": null,
"shape": 3
},
{
"name": "positive",
"type": "CONDITIONING",
"links": null,
"shape": 3
},
{
"name": "negative",
"type": "CONDITIONING",
"links": null,
"shape": 3
},
{
"name": "latent",
"type": "LATENT",
"links": null,
"shape": 3
},
{
"name": "vae",
"type": "VAE",
"links": null,
"shape": 3
},
{
"name": "clip",
"type": "CLIP",
"links": null,
"shape": 3
},
{
"name": "seed",
"type": "INT",
"links": null,
"shape": 3
}
],
"title": "easy fullkSampler",
"properties": {
"Node name for S&R": "easy fullkSampler"
},
"widgets_values": [
16,
1,
"dpmpp_sde",
"karras",
1,
"Preview",
0,
"ComfyUI",
787926129322897,
"randomize"
]
},
{
"id": 58,
"type": "Note",
"pos": {
"0": -813.8848266601562,
"1": -93.86548614501953
},
"size": [
416.2190856933594,
164.23165893554688
],
"flags": {},
"order": 2,
"mode": 2,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"こちらはインペイントモデルを使いません。\n\n別途Fooocus inpaintモデルをDLする必要があります。\n\nhttps://github.com/Acly/comfyui-inpaint-nodes"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 53,
"type": "easy applyFooocusInpaint",
"pos": {
"0": -368.88482666015625,
"1": -31.8654842376709
},
"size": {
"0": 260,
"1": 102
},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 84
},
{
"name": "latent",
"type": "LATENT",
"link": 85
}
],
"outputs": [
{
"name": "model",
"type": "MODEL",
"links": [
91
],
"slot_index": 0
}
],
"title": "easy applyFooocusInpaint",
"properties": {
"Node name for S&R": "easy applyFooocusInpaint"
},
"widgets_values": [
"fooocus_inpaint_head",
"inpaint_v26 (1.32GB)"
]
}
],
"links": [
[
83,
56,
0,
51,
0,
"PIPE_LINE"
],
[
84,
56,
1,
53,
0,
"MODEL"
],
[
85,
54,
2,
53,
1,
"LATENT"
],
[
86,
56,
2,
54,
0,
"CONDITIONING"
],
[
87,
56,
3,
54,
1,
"CONDITIONING"
],
[
88,
56,
5,
54,
2,
"VAE"
],
[
89,
52,
0,
54,
3,
"IMAGE"
],
[
90,
52,
1,
54,
4,
"MASK"
],
[
91,
53,
0,
55,
0,
"MODEL"
],
[
92,
50,
0,
56,
0,
"PIPE_LINE"
],
[
93,
51,
0,
57,
0,
"PIPE_LINE"
],
[
94,
55,
0,
57,
1,
"MODEL"
],
[
95,
54,
0,
57,
2,
"CONDITIONING"
],
[
96,
54,
1,
57,
3,
"CONDITIONING"
],
[
97,
54,
3,
57,
4,
"LATENT"
]
],
"groups": [],
"config": {},
"extra": {
"0246.VERSION": [
0,
0,
4
]
},
"version": 0.4
}
他にもまだあるのですが、普段あまりにも使わなすぎて説明できるほど知識ないので省略…
次回はEasyUse+0246やList-Utilsを使った構築かXYかEff-EDかはたまた別のなにかか…
今一番ほしいのは複数のワークフローをモジュール形式で読み込んで、同じフローは別の環境でも変更が適用されるような機能です。だれかー
イメージ↓