{ "last_node_id": 19, "last_link_id": 27, "nodes": [ { "id": 1, "type": "CheckpointLoaderSimple", "pos": [ 50, 100 ], "widgets_values": [ "sd_xl_base_1.0.safetensors" ], "title": "SDXL Checkpoint Loader", "flags": {}, "order": 0, "mode": 0, "properties": { "Node name for S&R": "CheckpointLoaderSimple" }, "size": { "0": 350, "1": 100 }, "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 1, 3 ], "slot_index": 0 }, { "name": "CLIP", "type": "CLIP", "links": [ 12, 13 ], "slot_index": 1 }, { "name": "VAE", "type": "VAE", "links": [ 19 ], "slot_index": 2 } ] }, { "id": 2, "type": "LoadImage", "pos": [ 50, 300 ], "widgets_values": [ "composition_ref1.png", "image" ], "title": "API Composition Ref 1", "flags": {}, "order": 1, "mode": 0, "properties": { "Node name for S&R": "LoadImage" }, "size": { "0": 350, "1": 100 }, "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 5 ], "slot_index": 0 }, { "name": "MASK", "type": "MASK", "links": [], "slot_index": 1 } ] }, { "id": 3, "type": "LoadImage", "pos": [ 50, 650 ], "widgets_values": [ "composition_ref2.png", "image" ], "title": "API Composition Ref 2", "flags": {}, "order": 2, "mode": 0, "properties": { "Node name for S&R": "LoadImage" }, "size": { "0": 350, "1": 100 }, "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 8 ], "slot_index": 0 }, { "name": "MASK", "type": "MASK", "links": [], "slot_index": 1 } ] }, { "id": 4, "type": "IPAdapterUnifiedLoader", "pos": [ 450, 100 ], "widgets_values": [ "VIT-G (medium strength)" ], "title": "IP-Adapter Loader 1", "flags": {}, "order": 3, "mode": 0, "properties": { "Node name for S&R": "IPAdapterUnifiedLoader" }, "size": { "0": 350, "1": 100 }, "inputs": [ { "name": "model", "type": "MODEL", "link": 1 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 6 ], "slot_index": 0 }, { "name": "IPADAPTER", "type": "IPADAPTER", "links": [ 7 ], "slot_index": 1 } ] }, { "id": 5, "type": "IPAdapterUnifiedLoader", "pos": [ 450, 250 ], "widgets_values": [ "VIT-G (medium strength)" ], "title": "IP-Adapter Loader 2", "flags": {}, "order": 4, "mode": 0, "properties": { "Node name for S&R": "IPAdapterUnifiedLoader" }, "size": { "0": 350, "1": 100 }, "inputs": [ { "name": "model", "type": "MODEL", "link": 3 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [], "slot_index": 0 }, { "name": "IPADAPTER", "type": "IPADAPTER", "links": [ 10 ], "slot_index": 1 } ] }, { "id": 6, "type": "IPAdapterAdvanced", "pos": [ 800, 100 ], "widgets_values": [ 0.6, "ease in-out", "average", 0.0, 1.0, "V only" ], "title": "Apply IP-Adapter 1", "flags": {}, "order": 5, "mode": 0, "properties": { "Node name for S&R": "IPAdapterAdvanced" }, "size": { "0": 315, "1": 258 }, "inputs": [ { "name": "model", "type": "MODEL", "link": 6 }, { "name": "ipadapter", "type": "IPADAPTER", "link": 7 }, { "name": "image", "type": "IMAGE", "link": 5 }, { "name": "clip_vision", "type": "CLIP_VISION", "link": 25 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 11 ], "slot_index": 0 } ] }, { "id": 7, "type": "IPAdapterAdvanced", "pos": [ 1100, 100 ], "widgets_values": [ 0.5, "ease in-out", "average", 0.0, 1.0, "V only" ], "title": "Apply IP-Adapter 2", "flags": {}, "order": 6, "mode": 0, "properties": { "Node name for S&R": "IPAdapterAdvanced" }, "size": { "0": 315, "1": 258 }, "inputs": [ { "name": "model", "type": "MODEL", "link": 11 }, { "name": "ipadapter", "type": "IPADAPTER", "link": 10 }, { "name": "image", "type": "IMAGE", "link": 8 }, { "name": "clip_vision", "type": "CLIP_VISION", "link": 26 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 14 ], "slot_index": 0 } ] }, { "id": 8, "type": "CLIPTextEncode", "pos": [ 450, 500 ], "widgets_values": [ "Complex scene composition, detailed, professional" ], "title": "API Positive Prompt", "flags": {}, "order": 7, "mode": 0, "properties": { "Node name for S&R": "CLIPTextEncode" }, "size": { "0": 400, "1": 200 }, "inputs": [ { "name": "clip", "type": "CLIP", "link": 12 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 15 ], "slot_index": 0 } ] }, { "id": 9, "type": "CLIPTextEncode", "pos": [ 450, 750 ], "widgets_values": [ "blurry, low quality" ], "title": "API Negative Prompt", "flags": {}, "order": 8, "mode": 0, "properties": { "Node name for S&R": "CLIPTextEncode" }, "size": { "0": 400, "1": 200 }, "inputs": [ { "name": "clip", "type": "CLIP", "link": 13 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 16 ], "slot_index": 0 } ] }, { "id": 10, "type": "EmptyLatentImage", "pos": [ 800, 500 ], "widgets_values": [ 1024, 1024, 1 ], "title": "API Latent Config", "flags": {}, "order": 9, "mode": 0, "properties": { "Node name for S&R": "EmptyLatentImage" }, "size": { "0": 315, "1": 100 }, "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 17 ], "slot_index": 0 } ] }, { "id": 11, "type": "KSampler", "pos": [ 1400, 100 ], "widgets_values": [ 42, "fixed", 35, 7.0, "dpmpp_2m", "karras", 1 ], "title": "Multi-Composition Sampler", "flags": {}, "order": 10, "mode": 0, "properties": { "Node name for S&R": "KSampler" }, "size": { "0": 315, "1": 474 }, "inputs": [ { "name": "model", "type": "MODEL", "link": 14 }, { "name": "positive", "type": "CONDITIONING", "link": 15 }, { "name": "negative", "type": "CONDITIONING", "link": 16 }, { "name": "latent_image", "type": "LATENT", "link": 17 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 18 ], "slot_index": 0 } ] }, { "id": 12, "type": "VAEDecode", "pos": [ 1750, 100 ], "title": "VAE Decode", "flags": {}, "order": 11, "mode": 0, "properties": { "Node name for S&R": "VAEDecode" }, "size": { "0": 315, "1": 100 }, "inputs": [ { "name": "samples", "type": "LATENT", "link": 18 }, { "name": "vae", "type": "VAE", "link": 19 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 20, 21 ], "slot_index": 0 } ] }, { "id": 13, "type": "PreviewImage", "pos": [ 2000, 100 ], "title": "Preview Output", "flags": {}, "order": 12, "mode": 0, "properties": { "Node name for S&R": "PreviewImage" }, "size": { "0": 315, "1": 100 }, "inputs": [ { "name": "images", "type": "IMAGE", "link": 20 } ] }, { "id": 14, "type": "SaveImage", "pos": [ 2000, 550 ], "widgets_values": [ "ipadapter_composition_output" ], "title": "API Image Output", "flags": {}, "order": 13, "mode": 0, "properties": { "Node name for S&R": "SaveImage" }, "size": { "0": 315, "1": 100 }, "inputs": [ { "name": "images", "type": "IMAGE", "link": 21 } ] }, { "id": 15, "type": "CLIPVisionLoader", "pos": [ 450, 250 ], "size": { "0": 315, "1": 58 }, "widgets_values": [ "CLIP-ViT-bigG-14-laion2B-39B-b160k.safetensors" ], "title": "CLIP Vision Loader", "flags": {}, "order": 0, "mode": 0, "properties": { "Node name for S&R": "CLIPVisionLoader" }, "outputs": [ { "name": "CLIP_VISION", "type": "CLIP_VISION", "links": [ 25, 26 ], "slot_index": 0 } ] } ], "links": [ [ 1, 1, 0, 4, 0, "MODEL" ], [ 3, 1, 0, 5, 0, "MODEL" ], [ 5, 2, 0, 6, 2, "IMAGE" ], [ 6, 4, 0, 6, 0, "MODEL" ], [ 7, 4, 1, 6, 1, "IPADAPTER" ], [ 8, 3, 0, 7, 2, "IMAGE" ], [ 10, 5, 1, 7, 1, "IPADAPTER" ], [ 11, 6, 0, 7, 0, "MODEL" ], [ 12, 1, 1, 8, 0, "CLIP" ], [ 13, 1, 1, 9, 0, "CLIP" ], [ 14, 7, 0, 11, 0, "MODEL" ], [ 15, 8, 0, 11, 1, "CONDITIONING" ], [ 16, 9, 0, 11, 2, "CONDITIONING" ], [ 17, 10, 0, 11, 3, "LATENT" ], [ 18, 11, 0, 12, 0, "LATENT" ], [ 19, 1, 2, 12, 1, "VAE" ], [ 20, 12, 0, 13, 0, "IMAGE" ], [ 21, 12, 0, 14, 0, "IMAGE" ], [ 25, 15, 0, 6, 3, "CLIP_VISION" ], [ 26, 15, 0, 7, 3, "CLIP_VISION" ] ], "extra": { "workflow_info": { "name": "IP-Adapter Multi-Composition Image-to-Image Production", "version": "1.0.0", "description": "Complex scene composition using multiple IP-Adapter references. Combine visual elements from multiple source images.", "category": "image-to-image", "tags": [ "ipadapter", "composition", "multi-reference", "i2i", "production" ], "requirements": { "models": [ "stable-diffusion-xl-base-1.0", "ip-adapter-plus" ], "custom_nodes": [ "ComfyUI_IPAdapter_plus" ], "vram_min": "18GB" }, "parameters": { "ref_image_1": { "node_id": 2, "type": "image", "required": true, "description": "First composition reference" }, "ref_image_2": { "node_id": 3, "type": "image", "required": true, "description": "Second composition reference" }, "weight_1": { "node_id": 6, "type": "float", "default": 0.6, "description": "Weight for first reference" }, "weight_2": { "node_id": 7, "type": "float", "default": 0.5, "description": "Weight for second reference" } }, "use_cases": [ "Multi-source scene composition", "Blend multiple visual concepts", "Complex artistic compositions", "Style mixing" ] } }, "version": 0.4 }