どのモデルでもworkflowは大体同じ


上がStable Diffusion 1.5、下が最新モデルである Z-Image のworkflow です。
ノードの数など細かい違いはあれど、大体同じなのが分かるでしょうか?
どんな新しい画像生成モデルであろうとも、動画生成モデルであろうとも、「材料を用意してKSamplerに投げる」 この流れは変わりません。
早く新しいモデルを使いたいという気持ちはとても良くわかりますが、逸る気持ちを抑え、一度Stable Diffusion 1.5をベースにしたworkflowを網羅してみてください。
この先のComfyUI生活が、ぐっと楽しくなるはずです。
「モジュール式である」とは?
ComfyUI のようなノードベースツールは、よく「モジュール式である」ことが利点だと説明されます。
では、そもそもモジュール式とは何か。
それが画像生成において、どんなふうに便利なのでしょうか。
モジュール式
モジュール式とは、レゴブロックのように「必要な機能を後から付け足していける」構造のことです。
- ベースになる土台がある
- 必要な機能が出てきたら、その部分だけブロックを付け足す
- さらに機能を増やしたいときは、またブロックを付け足す
こうした「足し算していく」考え方が、ComfyUI の workflow にもそのまま当てはまります。
ComfyUI ではどうなっているか
具体的なノード名はいったん置いておいて、workflow を少しずつ拡張していく様子を見てみます。
どの部分がモジュールとして増えているのか、流れで確認してみましょう。
-
- text2image
- 基本です。プロンプトを入力して、それをKSamplerに投げるだけです。

-
{ "id": "9f1affcb-e640-4652-8250-bc15a9de2063", "revision": 0, "last_node_id": 10, "last_link_id": 11, "nodes": [ { "id": 8, "type": "VAEDecode", "pos": [ 1234.4100000000008, 189.20999999999998 ], "size": [ 210, 46 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 7 }, { "name": "vae", "type": "VAE", "link": 8 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "slot_index": 0, "links": [ 9 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEDecode" }, "widgets_values": [] }, { "id": 7, "type": "CLIPTextEncode", "pos": [ 414.0311166015624, 404.7299999999998 ], "size": [ 423.81391513671883, 124.97027910156254 ], "flags": {}, "order": 3, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 5 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 6 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "text, watermark" ] }, { "id": 6, "type": "CLIPTextEncode", "pos": [ 415, 186 ], "size": [ 422.84503173828125, 164.31304931640625 ], "flags": {}, "order": 2, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 3 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 4 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "(best quality, high quality),close-up flower portrait of a single red rose in a small clear glass vase,centered composition on a dark blurred background,\nsoft studio lighting, shallow depth of field, extremely detailed petals and texture,photorealistic, 8k, ultra high resolution" ] }, { "id": 5, "type": "EmptyLatentImage", "pos": [ 547.8450317382812, 590.8499999999995 ], "size": [ 290, 106 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 11 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "EmptyLatentImage" }, "widgets_values": [ 512, 512, 1 ] }, { "id": 3, "type": "KSampler", "pos": [ 888.41, 187.20999999999998 ], "size": [ 315, 262 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 1 }, { "name": "positive", "type": "CONDITIONING", "link": 4 }, { "name": "negative", "type": "CONDITIONING", "link": 6 }, { "name": "latent_image", "type": "LATENT", "link": 11 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 7 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "KSampler" }, "widgets_values": [ 12345, "fixed", 20, 8, "euler", "normal", 1 ] }, { "id": 9, "type": "SaveImage", "pos": [ 1476.4100000000008, 190.20999999999998 ], "size": [ 403.8933499999998, 466.45131000000003 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 9 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76" }, "widgets_values": [ "ComfyUI" ] }, { "id": 4, "type": "CheckpointLoaderSimple", "pos": [ 43.89590000000001, 328.6354400000006 ], "size": [ 315, 98 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "slot_index": 0, "links": [ 1 ] }, { "name": "CLIP", "type": "CLIP", "slot_index": 1, "links": [ 3, 5 ] }, { "name": "VAE", "type": "VAE", "slot_index": 2, "links": [ 8 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CheckpointLoaderSimple" }, "widgets_values": [ "v1-5-pruned-emaonly-fp16.safetensors" ], "color": "#323", "bgcolor": "#535" } ], "links": [ [ 1, 4, 0, 3, 0, "MODEL" ], [ 3, 4, 1, 6, 0, "CLIP" ], [ 4, 6, 0, 3, 1, "CONDITIONING" ], [ 5, 4, 1, 7, 0, "CLIP" ], [ 6, 7, 0, 3, 2, "CONDITIONING" ], [ 7, 3, 0, 8, 0, "LATENT" ], [ 8, 4, 2, 8, 1, "VAE" ], [ 9, 8, 0, 9, 0, "IMAGE" ], [ 11, 5, 0, 3, 3, "LATENT" ] ], "groups": [], "config": {}, "extra": { "ds": { "scale": 0.7513148009015777, "offset": [ 56.10409999999999, -86 ] }, "workflowRendererVersion": "LG", "frontendVersion": "1.34.6", "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true }, "version": 0.4 }
-
- image2image
- 入力した画像を下書きに画像生成します。

-
{ "id": "9f1affcb-e640-4652-8250-bc15a9de2063", "revision": 0, "last_node_id": 14, "last_link_id": 14, "nodes": [ { "id": 8, "type": "VAEDecode", "pos": [ 1234.4100000000008, 189.20999999999998 ], "size": [ 210, 46 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 7 }, { "name": "vae", "type": "VAE", "link": 8 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "slot_index": 0, "links": [ 9 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEDecode" }, "widgets_values": [] }, { "id": 7, "type": "CLIPTextEncode", "pos": [ 414.0311166015624, 404.7299999999998 ], "size": [ 423.81391513671883, 124.97027910156254 ], "flags": {}, "order": 3, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 5 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 6 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "text, watermark" ] }, { "id": 9, "type": "SaveImage", "pos": [ 1476.4100000000008, 190.20999999999998 ], "size": [ 403.8933499999998, 466.45131000000003 ], "flags": {}, "order": 7, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 9 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76" }, "widgets_values": [ "ComfyUI" ] }, { "id": 12, "type": "VAEEncode", "pos": [ 697.8450317382812, 588.1185311795643 ], "size": [ 140, 46 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "name": "pixels", "type": "IMAGE", "link": 13 }, { "name": "vae", "type": "VAE", "link": 14 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 12 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEEncode" }, "widgets_values": [], "color": "#232", "bgcolor": "#353" }, { "id": 14, "type": "LoadImage", "pos": [ 368.5349338091666, 588.1185311795643 ], "size": [ 300.7160781250001, 410.129 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 13 ] }, { "name": "MASK", "type": "MASK", "links": null } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "LoadImage" }, "widgets_values": [ "ComfyUI_02814_.png", "image" ], "color": "#232", "bgcolor": "#353" }, { "id": 4, "type": "CheckpointLoaderSimple", "pos": [ 43.89590000000001, 328.6354400000006 ], "size": [ 315, 98 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "slot_index": 0, "links": [ 1 ] }, { "name": "CLIP", "type": "CLIP", "slot_index": 1, "links": [ 3, 5 ] }, { "name": "VAE", "type": "VAE", "slot_index": 2, "links": [ 8, 14 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CheckpointLoaderSimple" }, "widgets_values": [ "v1-5-pruned-emaonly-fp16.safetensors" ], "color": "#323", "bgcolor": "#535" }, { "id": 6, "type": "CLIPTextEncode", "pos": [ 415, 186 ], "size": [ 422.84503173828125, 164.31304931640625 ], "flags": {}, "order": 2, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 3 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 4 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "(best quality, high quality),painting of a single red rose in a small clear glass vase, centered composition on a dark blurred background, rich oil painting style, visible brushstrokes, thick impasto texture, detailed petals, canvas texture" ] }, { "id": 3, "type": "KSampler", "pos": [ 888.41, 187.20999999999998 ], "size": [ 315, 262 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 1 }, { "name": "positive", "type": "CONDITIONING", "link": 4 }, { "name": "negative", "type": "CONDITIONING", "link": 6 }, { "name": "latent_image", "type": "LATENT", "link": 12 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 7 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "KSampler" }, "widgets_values": [ 1234, "fixed", 20, 8, "euler", "normal", 0.85 ] } ], "links": [ [ 1, 4, 0, 3, 0, "MODEL" ], [ 3, 4, 1, 6, 0, "CLIP" ], [ 4, 6, 0, 3, 1, "CONDITIONING" ], [ 5, 4, 1, 7, 0, "CLIP" ], [ 6, 7, 0, 3, 2, "CONDITIONING" ], [ 7, 3, 0, 8, 0, "LATENT" ], [ 8, 4, 2, 8, 1, "VAE" ], [ 9, 8, 0, 9, 0, "IMAGE" ], [ 12, 12, 0, 3, 3, "LATENT" ], [ 13, 14, 0, 12, 0, "IMAGE" ], [ 14, 4, 2, 12, 1, "VAE" ] ], "groups": [], "config": {}, "extra": { "ds": { "scale": 0.7513148009015777, "offset": [ 56.10409999999999, -86 ] }, "workflowRendererVersion": "LG", "frontendVersion": "1.34.6", "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true }, "version": 0.4 } - 🟩画像を読み込むノードと、それをlatentに変換するノードを追加しまう。
-
- inpainting
- 入力した画像の一部分だけimage2imageします。

-
{ "id": "9f1affcb-e640-4652-8250-bc15a9de2063", "revision": 0, "last_node_id": 19, "last_link_id": 23, "nodes": [ { "id": 8, "type": "VAEDecode", "pos": [ 1234.4100000000008, 189.20999999999998 ], "size": [ 210, 46 ], "flags": {}, "order": 7, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 7 }, { "name": "vae", "type": "VAE", "link": 8 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "slot_index": 0, "links": [ 9 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEDecode" }, "widgets_values": [] }, { "id": 7, "type": "CLIPTextEncode", "pos": [ 414.0311166015624, 404.7299999999998 ], "size": [ 423.81391513671883, 124.97027910156254 ], "flags": {}, "order": 3, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 5 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 6 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "text, watermark" ] }, { "id": 9, "type": "SaveImage", "pos": [ 1476.4100000000008, 190.20999999999998 ], "size": [ 403.8933499999998, 466.45131000000003 ], "flags": {}, "order": 8, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 9 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76" }, "widgets_values": [ "ComfyUI" ] }, { "id": 12, "type": "VAEEncode", "pos": [ 473.29957719282635, 585.3912584522918 ], "size": [ 140, 46 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "name": "pixels", "type": "IMAGE", "link": 13 }, { "name": "vae", "type": "VAE", "link": 14 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 15 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEEncode" }, "widgets_values": [], "color": "#232", "bgcolor": "#353" }, { "id": 14, "type": "LoadImage", "pos": [ 122.17129744553026, 636.1712727272728 ], "size": [ 300.7160781250001, 410.129 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 13 ] }, { "name": "MASK", "type": "MASK", "links": [ 16 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "LoadImage", "image": "clipspace/clipspace-painted-masked-1764827434610.png [input]" }, "widgets_values": [ "clipspace/clipspace-painted-masked-1764827434610.png [input]", "image" ], "color": "#232", "bgcolor": "#353" }, { "id": 6, "type": "CLIPTextEncode", "pos": [ 415, 186 ], "size": [ 422.84503173828125, 164.31304931640625 ], "flags": {}, "order": 2, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 3 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 4 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "(best quality, high quality), close-up painting of a single red rose in a small clear glass vase, centered composition on a dark blurred background, rich oil painting style, visible brushstrokes, thick impasto texture, detailed petals, canvas texture, high resolution" ] }, { "id": 15, "type": "SetLatentNoiseMask", "pos": [ 649.7194454545465, 636.1712727272728 ], "size": [ 187.34765624999991, 46 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 15 }, { "name": "mask", "type": "MASK", "link": 16 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 17 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "SetLatentNoiseMask" }, "widgets_values": [], "color": "#322", "bgcolor": "#533" }, { "id": 4, "type": "CheckpointLoaderSimple", "pos": [ 43.89590000000001, 328.6354400000006 ], "size": [ 315, 98 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "slot_index": 0, "links": [ 1 ] }, { "name": "CLIP", "type": "CLIP", "slot_index": 1, "links": [ 3, 5 ] }, { "name": "VAE", "type": "VAE", "slot_index": 2, "links": [ 8, 14 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CheckpointLoaderSimple" }, "widgets_values": [ "v1-5-pruned-emaonly-fp16.safetensors" ], "color": "#323", "bgcolor": "#535" }, { "id": 3, "type": "KSampler", "pos": [ 888.41, 187.20999999999998 ], "size": [ 315, 262 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 1 }, { "name": "positive", "type": "CONDITIONING", "link": 4 }, { "name": "negative", "type": "CONDITIONING", "link": 6 }, { "name": "latent_image", "type": "LATENT", "link": 17 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 7 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "KSampler" }, "widgets_values": [ 1234, "fixed", 20, 8, "euler", "normal", 0.85 ] } ], "links": [ [ 1, 4, 0, 3, 0, "MODEL" ], [ 3, 4, 1, 6, 0, "CLIP" ], [ 4, 6, 0, 3, 1, "CONDITIONING" ], [ 5, 4, 1, 7, 0, "CLIP" ], [ 6, 7, 0, 3, 2, "CONDITIONING" ], [ 7, 3, 0, 8, 0, "LATENT" ], [ 8, 4, 2, 8, 1, "VAE" ], [ 9, 8, 0, 9, 0, "IMAGE" ], [ 13, 14, 0, 12, 0, "IMAGE" ], [ 14, 4, 2, 12, 1, "VAE" ], [ 15, 12, 0, 15, 0, "LATENT" ], [ 16, 14, 1, 15, 1, "MASK" ], [ 17, 15, 0, 3, 3, "LATENT" ] ], "groups": [], "config": {}, "extra": { "ds": { "scale": 0.7513148009015777, "offset": [ 45.456099999999985, -80.67599999999999 ] }, "workflowRendererVersion": "LG", "frontendVersion": "1.34.6", "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true }, "version": 0.4 } - 🟥マスクした場所のみimage2imageさせるためのノードを追加します。
-
- ControlNet
- ControlNetは、画像を生成する際に、画像を入力して制御することができる機能です。

-
{ "id": "9f1affcb-e640-4652-8250-bc15a9de2063", "revision": 0, "last_node_id": 23, "last_link_id": 31, "nodes": [ { "id": 8, "type": "VAEDecode", "pos": [ 1495.1100000000013, 228.81 ], "size": [ 210, 46 ], "flags": {}, "order": 11, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 7 }, { "name": "vae", "type": "VAE", "link": 8 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "slot_index": 0, "links": [ 9 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEDecode" }, "widgets_values": [] }, { "id": 9, "type": "SaveImage", "pos": [ 1737.1100000000013, 229.81 ], "size": [ 403.8933499999998, 466.45131000000003 ], "flags": {}, "order": 12, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 9 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76" }, "widgets_values": [ "ComfyUI" ] }, { "id": 7, "type": "CLIPTextEncode", "pos": [ 414.0311166015624, 404.7299999999998 ], "size": [ 423.81391513671883, 124.97027910156254 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 5 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 25 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "text, watermark" ] }, { "id": 15, "type": "SetLatentNoiseMask", "pos": [ 650.4973754882815, 906.3741652892569 ], "size": [ 187.34765624999991, 46 ], "flags": {}, "order": 9, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 15 }, { "name": "mask", "type": "MASK", "link": 16 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 17 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "SetLatentNoiseMask" }, "widgets_values": [], "color": "#322", "bgcolor": "#533" }, { "id": 22, "type": "CannyEdgePreprocessor", "pos": [ 627.8450317382812, 718.6152147438016 ], "size": [ 210, 106 ], "flags": {}, "order": 3, "mode": 0, "inputs": [ { "name": "image", "type": "IMAGE", "link": 29 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 30, 31 ] } ], "properties": { "cnr_id": "comfyui_controlnet_aux", "ver": "12f35647f0d510e03b45a47fb420fe1245a575df", "Node name for S&R": "CannyEdgePreprocessor" }, "widgets_values": [ 100, 200, 512 ], "color": "#2a363b", "bgcolor": "#3f5159" }, { "id": 12, "type": "VAEEncode", "pos": [ 462.0364292484142, 864.9586138241931 ], "size": [ 140, 46 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "pixels", "type": "IMAGE", "link": 13 }, { "name": "vae", "type": "VAE", "link": 14 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 15 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEEncode" }, "widgets_values": [], "color": "#232", "bgcolor": "#353" }, { "id": 21, "type": "ControlNetLoader", "pos": [ 602.5450317382813, 591.6099585454547 ], "size": [ 235.29999999999995, 58 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "CONTROL_NET", "type": "CONTROL_NET", "links": [ 28 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "ControlNetLoader" }, "widgets_values": [ "ControlNet-v1-1\\control_v11p_sd15_canny.pth" ], "color": "#2a363b", "bgcolor": "#3f5159" }, { "id": 6, "type": "CLIPTextEncode", "pos": [ 415, 186 ], "size": [ 422.84503173828125, 164.31304931640625 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 3 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 24 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "(best quality, high quality), close-up painting of a single blue rose in a small clear glass vase, centered composition on a dark blurred background, rich oil painting style, visible brushstrokes, thick impasto texture, detailed petals, canvas texture, dramatic soft lighting, high resolution" ] }, { "id": 23, "type": "PreviewImage", "pos": [ 900.2939475371905, 718.9325949090918 ], "size": [ 252.25785123966966, 291.0578512396694 ], "flags": {}, "order": 7, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 31 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "PreviewImage" }, "widgets_values": [], "color": "#2a363b", "bgcolor": "#3f5159" }, { "id": 20, "type": "ControlNetApplyAdvanced", "pos": [ 891.209757454547, 248.456231272727 ], "size": [ 210, 186 ], "flags": {}, "order": 8, "mode": 0, "inputs": [ { "name": "positive", "type": "CONDITIONING", "link": 24 }, { "name": "negative", "type": "CONDITIONING", "link": 25 }, { "name": "control_net", "type": "CONTROL_NET", "link": 28 }, { "name": "image", "type": "IMAGE", "link": 30 }, { "name": "vae", "shape": 7, "type": "VAE", "link": null } ], "outputs": [ { "name": "positive", "type": "CONDITIONING", "links": [ 26 ] }, { "name": "negative", "type": "CONDITIONING", "links": [ 27 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "ControlNetApplyAdvanced" }, "widgets_values": [ 1, 0, 0.8 ], "color": "#2a363b", "bgcolor": "#3f5159" }, { "id": 14, "type": "LoadImage", "pos": [ 112.8594048835469, 906.3741652892569 ], "size": [ 300.7160781250001, 410.129 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 13, 29 ] }, { "name": "MASK", "type": "MASK", "links": [ 16 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "LoadImage", "image": "clipspace/clipspace-painted-masked-1764827434610.png [input]" }, "widgets_values": [ "clipspace/clipspace-painted-masked-1764827434610.png [input]", "image" ], "color": "#232", "bgcolor": "#353" }, { "id": 4, "type": "CheckpointLoaderSimple", "pos": [ 43.89590000000001, 328.6354400000006 ], "size": [ 315, 98 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "slot_index": 0, "links": [ 1 ] }, { "name": "CLIP", "type": "CLIP", "slot_index": 1, "links": [ 3, 5 ] }, { "name": "VAE", "type": "VAE", "slot_index": 2, "links": [ 8, 14 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CheckpointLoaderSimple" }, "widgets_values": [ "v1-5-pruned-emaonly-fp16.safetensors" ], "color": "#323", "bgcolor": "#535" }, { "id": 3, "type": "KSampler", "pos": [ 1149.1100000000004, 226.81 ], "size": [ 315, 262 ], "flags": {}, "order": 10, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 1 }, { "name": "positive", "type": "CONDITIONING", "link": 26 }, { "name": "negative", "type": "CONDITIONING", "link": 27 }, { "name": "latent_image", "type": "LATENT", "link": 17 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 7 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "KSampler" }, "widgets_values": [ 1234, "fixed", 20, 8, "euler", "normal", 1 ] } ], "links": [ [ 1, 4, 0, 3, 0, "MODEL" ], [ 3, 4, 1, 6, 0, "CLIP" ], [ 5, 4, 1, 7, 0, "CLIP" ], [ 7, 3, 0, 8, 0, "LATENT" ], [ 8, 4, 2, 8, 1, "VAE" ], [ 9, 8, 0, 9, 0, "IMAGE" ], [ 13, 14, 0, 12, 0, "IMAGE" ], [ 14, 4, 2, 12, 1, "VAE" ], [ 15, 12, 0, 15, 0, "LATENT" ], [ 16, 14, 1, 15, 1, "MASK" ], [ 17, 15, 0, 3, 3, "LATENT" ], [ 24, 6, 0, 20, 0, "CONDITIONING" ], [ 25, 7, 0, 20, 1, "CONDITIONING" ], [ 26, 20, 0, 3, 1, "CONDITIONING" ], [ 27, 20, 1, 3, 2, "CONDITIONING" ], [ 28, 21, 0, 20, 2, "CONTROL_NET" ], [ 29, 14, 0, 22, 0, "IMAGE" ], [ 30, 22, 0, 20, 3, "IMAGE" ], [ 31, 22, 0, 23, 0, "IMAGE" ] ], "groups": [], "config": {}, "extra": { "ds": { "scale": 0.6830134553650712, "offset": [ 56.10409999999999, -86 ] }, "workflowRendererVersion": "LG", "frontendVersion": "1.34.6", "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true }, "version": 0.4 } - 🟦ControlNetを追加するノードと、ControlNetの制御として使う画像を作るためのノードを追加します。
-
- さらにControlNetを追加
- ControlNetは一つだけという制限はありません。もう一個追加してみましょう。

-
{ "id": "9f1affcb-e640-4652-8250-bc15a9de2063", "revision": 0, "last_node_id": 29, "last_link_id": 42, "nodes": [ { "id": 8, "type": "VAEDecode", "pos": [ 1771.3482272727306, 228.46131818181814 ], "size": [ 210, 46 ], "flags": {}, "order": 15, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 7 }, { "name": "vae", "type": "VAE", "link": 8 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "slot_index": 0, "links": [ 9 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEDecode" }, "widgets_values": [] }, { "id": 9, "type": "SaveImage", "pos": [ 2013.3482272727306, 229.46131818181814 ], "size": [ 403.8933499999998, 466.45131000000003 ], "flags": {}, "order": 16, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 9 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76" }, "widgets_values": [ "ComfyUI" ] }, { "id": 7, "type": "CLIPTextEncode", "pos": [ 414.0311166015624, 404.7299999999998 ], "size": [ 423.81391513671883, 124.97027910156254 ], "flags": {}, "order": 7, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 5 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 25 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "text, watermark" ] }, { "id": 15, "type": "SetLatentNoiseMask", "pos": [ 650.4973754882815, 906.3741652892569 ], "size": [ 187.34765624999991, 46 ], "flags": {}, "order": 12, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 15 }, { "name": "mask", "type": "MASK", "link": 16 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 17 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "SetLatentNoiseMask" }, "widgets_values": [], "color": "#322", "bgcolor": "#533" }, { "id": 22, "type": "CannyEdgePreprocessor", "pos": [ 627.8450317382812, 718.6152147438016 ], "size": [ 210, 106 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "name": "image", "type": "IMAGE", "link": 29 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 30, 31 ] } ], "properties": { "cnr_id": "comfyui_controlnet_aux", "ver": "12f35647f0d510e03b45a47fb420fe1245a575df", "Node name for S&R": "CannyEdgePreprocessor" }, "widgets_values": [ 100, 200, 512 ], "color": "#2a363b", "bgcolor": "#3f5159" }, { "id": 12, "type": "VAEEncode", "pos": [ 462.0364292484142, 864.9586138241931 ], "size": [ 140, 46 ], "flags": {}, "order": 8, "mode": 0, "inputs": [ { "name": "pixels", "type": "IMAGE", "link": 13 }, { "name": "vae", "type": "VAE", "link": 14 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 15 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "VAEEncode" }, "widgets_values": [], "color": "#232", "bgcolor": "#353" }, { "id": 21, "type": "ControlNetLoader", "pos": [ 602.5450317382813, 591.6099585454547 ], "size": [ 235.29999999999995, 58 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "CONTROL_NET", "type": "CONTROL_NET", "links": [ 28 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "ControlNetLoader" }, "widgets_values": [ "ControlNet-v1-1\\control_v11p_sd15_canny.pth" ], "color": "#2a363b", "bgcolor": "#3f5159" }, { "id": 6, "type": "CLIPTextEncode", "pos": [ 415, 186 ], "size": [ 422.84503173828125, 164.31304931640625 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 3 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 24 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "(best quality, high quality), close-up painting of a single blue rose in a small clear glass vase, centered composition on a dark blurred background, rich oil painting style, visible brushstrokes, thick impasto texture, detailed petals, canvas texture, dramatic soft lighting, high resolution" ] }, { "id": 24, "type": "ControlNetApplyAdvanced", "pos": [ 1183.2045610012392, 246.5556212474299 ], "size": [ 210, 186 ], "flags": {}, "order": 13, "mode": 0, "inputs": [ { "name": "positive", "type": "CONDITIONING", "link": 32 }, { "name": "negative", "type": "CONDITIONING", "link": 33 }, { "name": "control_net", "type": "CONTROL_NET", "link": 37 }, { "name": "image", "type": "IMAGE", "link": 41 }, { "name": "vae", "shape": 7, "type": "VAE", "link": null } ], "outputs": [ { "name": "positive", "type": "CONDITIONING", "links": [ 34 ] }, { "name": "negative", "type": "CONDITIONING", "links": [ 35 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "ControlNetApplyAdvanced" }, "widgets_values": [ 0.8, 0, 0.6 ], "color": "#233", "bgcolor": "#355" }, { "id": 20, "type": "ControlNetApplyAdvanced", "pos": [ 920.1353772892571, 248.456231272727 ], "size": [ 210, 186 ], "flags": {}, "order": 11, "mode": 0, "inputs": [ { "name": "positive", "type": "CONDITIONING", "link": 24 }, { "name": "negative", "type": "CONDITIONING", "link": 25 }, { "name": "control_net", "type": "CONTROL_NET", "link": 28 }, { "name": "image", "type": "IMAGE", "link": 30 }, { "name": "vae", "shape": 7, "type": "VAE", "link": null } ], "outputs": [ { "name": "positive", "type": "CONDITIONING", "links": [ 32 ] }, { "name": "negative", "type": "CONDITIONING", "links": [ 33 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "ControlNetApplyAdvanced" }, "widgets_values": [ 0.8, 0, 0.6 ], "color": "#2a363b", "bgcolor": "#3f5159" }, { "id": 14, "type": "LoadImage", "pos": [ 112.8594048835469, 906.3741652892569 ], "size": [ 300.7160781250001, 410.129 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 13, 29, 39 ] }, { "name": "MASK", "type": "MASK", "links": [ 16 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "LoadImage", "image": "clipspace/clipspace-painted-masked-1764827434610.png [input]" }, "widgets_values": [ "clipspace/clipspace-painted-masked-1764827434610.png [input]", "image" ], "color": "#232", "bgcolor": "#353" }, { "id": 28, "type": "DepthAnythingV2Preprocessor", "pos": [ 928.5571271665664, 718.6152147438016 ], "size": [ 219.6646484375, 82 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "name": "image", "type": "IMAGE", "link": 39 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 41, 42 ] } ], "properties": { "cnr_id": "comfyui_controlnet_aux", "ver": "12f35647f0d510e03b45a47fb420fe1245a575df", "Node name for S&R": "DepthAnythingV2Preprocessor" }, "widgets_values": [ "depth_anything_v2_vitl.pth", 512 ], "color": "#233", "bgcolor": "#355" }, { "id": 23, "type": "PreviewImage", "pos": [ 890.7139475371899, 890.5325949090922 ], "size": [ 252.25785123966966, 291.0578512396694 ], "flags": {}, "order": 9, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 31 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "PreviewImage" }, "widgets_values": [], "color": "#2a363b", "bgcolor": "#3f5159" }, { "id": 26, "type": "ControlNetLoader", "pos": [ 913.673090404968, 591.6099585454547 ], "size": [ 235.29999999999995, 58 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "CONTROL_NET", "type": "CONTROL_NET", "links": [ 37 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "ControlNetLoader" }, "widgets_values": [ "ControlNet-v1-1\\control_v11f1p_sd15_depth.pth" ], "color": "#233", "bgcolor": "#355" }, { "id": 29, "type": "PreviewImage", "pos": [ 1200.218371535789, 883.6365813004558 ], "size": [ 243.81799999999998, 292.58500000000004 ], "flags": {}, "order": 10, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 42 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "PreviewImage" }, "widgets_values": [], "color": "#233", "bgcolor": "#355" }, { "id": 3, "type": "KSampler", "pos": [ 1425.3482272727297, 226.46131818181814 ], "size": [ 315, 262 ], "flags": {}, "order": 14, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 1 }, { "name": "positive", "type": "CONDITIONING", "link": 34 }, { "name": "negative", "type": "CONDITIONING", "link": 35 }, { "name": "latent_image", "type": "LATENT", "link": 17 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 7 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "KSampler" }, "widgets_values": [ 1234, "fixed", 20, 8, "euler", "normal", 1 ] }, { "id": 4, "type": "CheckpointLoaderSimple", "pos": [ 43.89590000000001, 328.6354400000006 ], "size": [ 315, 98 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "slot_index": 0, "links": [ 1 ] }, { "name": "CLIP", "type": "CLIP", "slot_index": 1, "links": [ 3, 5 ] }, { "name": "VAE", "type": "VAE", "slot_index": 2, "links": [ 8, 14 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.76", "Node name for S&R": "CheckpointLoaderSimple" }, "widgets_values": [ "v1-5-pruned-emaonly-fp16.safetensors" ], "color": "#323", "bgcolor": "#535" } ], "links": [ [ 1, 4, 0, 3, 0, "MODEL" ], [ 3, 4, 1, 6, 0, "CLIP" ], [ 5, 4, 1, 7, 0, "CLIP" ], [ 7, 3, 0, 8, 0, "LATENT" ], [ 8, 4, 2, 8, 1, "VAE" ], [ 9, 8, 0, 9, 0, "IMAGE" ], [ 13, 14, 0, 12, 0, "IMAGE" ], [ 14, 4, 2, 12, 1, "VAE" ], [ 15, 12, 0, 15, 0, "LATENT" ], [ 16, 14, 1, 15, 1, "MASK" ], [ 17, 15, 0, 3, 3, "LATENT" ], [ 24, 6, 0, 20, 0, "CONDITIONING" ], [ 25, 7, 0, 20, 1, "CONDITIONING" ], [ 28, 21, 0, 20, 2, "CONTROL_NET" ], [ 29, 14, 0, 22, 0, "IMAGE" ], [ 30, 22, 0, 20, 3, "IMAGE" ], [ 31, 22, 0, 23, 0, "IMAGE" ], [ 32, 20, 0, 24, 0, "CONDITIONING" ], [ 33, 20, 1, 24, 1, "CONDITIONING" ], [ 34, 24, 0, 3, 1, "CONDITIONING" ], [ 35, 24, 1, 3, 2, "CONDITIONING" ], [ 37, 26, 0, 24, 2, "CONTROL_NET" ], [ 39, 14, 0, 28, 0, "IMAGE" ], [ 41, 28, 0, 24, 3, "IMAGE" ], [ 42, 28, 0, 29, 0, "IMAGE" ] ], "groups": [], "config": {}, "extra": { "ds": { "scale": 0.6209213230591556, "offset": [ 56.10409999999999, -86 ] }, "workflowRendererVersion": "LG", "frontendVersion": "1.34.6", "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true }, "version": 0.4 } - 🟦ControlNetとその下処理ノードをもう1セット作ってつなげるだけです。
ひとつの例ですが、ComfyUIの柔軟性を見せられたと思います。
公式のテンプレート以外にも、多くの人がworkflowを公開していますが、それでも、あなたの望む完璧なworkflowはこの世に無いかもしれません。
でも心配ありません。いらなかったら消し、他に欲しい機能があれば加えればいいのです。