Add proper inputs/outputs to IP-Adapter workflow nodes

Fixed node structure for both workflows by adding:
- Input connections for each node that receives data
- Output connections with link references
- Proper link arrays matching the node connections

This ensures workflows load correctly in ComfyUI with complete graph connectivity.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-23 00:24:04 +01:00
parent 74844842cf
commit 44d113f846
2 changed files with 816 additions and 61 deletions

View File

@@ -22,7 +22,35 @@
"mode": 0,
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
}
},
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
1
],
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
2,
6,
7
],
"slot_index": 1
},
{
"name": "VAE",
"type": "VAE",
"links": [
13
],
"slot_index": 2
}
]
},
{
"id": 2,
@@ -45,7 +73,23 @@
"mode": 0,
"properties": {
"Node name for S&R": "LoadImage"
}
},
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
3
],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": [],
"slot_index": 1
}
]
},
{
"id": 3,
@@ -67,7 +111,37 @@
"mode": 0,
"properties": {
"Node name for S&R": "IPAdapterUnifiedLoader"
}
},
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 1
},
{
"name": "clip",
"type": "CLIP",
"link": 2
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
4
],
"slot_index": 0
},
{
"name": "IPADAPTER",
"type": "IPADAPTER",
"links": [
5
],
"slot_index": 1
}
]
},
{
"id": 4,
@@ -94,7 +168,34 @@
"mode": 0,
"properties": {
"Node name for S&R": "IPAdapterFaceID"
}
},
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 4
},
{
"name": "ipadapter",
"type": "IPADAPTER",
"link": 5
},
{
"name": "image",
"type": "IMAGE",
"link": 3
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
8
],
"slot_index": 0
}
]
},
{
"id": 5,
@@ -116,7 +217,24 @@
"mode": 0,
"properties": {
"Node name for S&R": "CLIPTextEncode"
}
},
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 6
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
9
],
"slot_index": 0
}
]
},
{
"id": 6,
@@ -138,7 +256,24 @@
"mode": 0,
"properties": {
"Node name for S&R": "CLIPTextEncode"
}
},
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 7
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
10
],
"slot_index": 0
}
]
},
{
"id": 7,
@@ -162,7 +297,17 @@
"mode": 0,
"properties": {
"Node name for S&R": "EmptyLatentImage"
}
},
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
11
],
"slot_index": 0
}
]
},
{
"id": 8,
@@ -190,7 +335,39 @@
"mode": 0,
"properties": {
"Node name for S&R": "KSampler"
}
},
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 8
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 9
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 10
},
{
"name": "latent_image",
"type": "LATENT",
"link": 11
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
12
],
"slot_index": 0
}
]
},
{
"id": 9,
@@ -209,7 +386,30 @@
"mode": 0,
"properties": {
"Node name for S&R": "VAEDecode"
}
},
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 12
},
{
"name": "vae",
"type": "VAE",
"link": 13
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
14,
15
],
"slot_index": 0
}
]
},
{
"id": 10,
@@ -228,7 +428,14 @@
"mode": 0,
"properties": {
"Node name for S&R": "PreviewImage"
}
},
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 14
}
]
},
{
"id": 11,
@@ -250,25 +457,137 @@
"mode": 0,
"properties": {
"Node name for S&R": "SaveImage"
}
},
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 15
}
]
}
],
"links": [
[1, 1, 0, 3, 0, "MODEL"],
[2, 1, 1, 3, 1, "CLIP"],
[3, 2, 0, 4, 2, "IMAGE"],
[4, 3, 0, 4, 0, "MODEL"],
[5, 3, 1, 4, 1, "IPADAPTER"],
[6, 1, 1, 5, 0, "CLIP"],
[7, 1, 1, 6, 0, "CLIP"],
[8, 4, 0, 8, 0, "MODEL"],
[9, 5, 0, 8, 1, "CONDITIONING"],
[10, 6, 0, 8, 2, "CONDITIONING"],
[11, 7, 0, 8, 3, "LATENT"],
[12, 8, 0, 9, 0, "LATENT"],
[13, 1, 2, 9, 1, "VAE"],
[14, 9, 0, 10, 0, "IMAGE"],
[15, 9, 0, 11, 0, "IMAGE"]
[
1,
1,
0,
3,
0,
"MODEL"
],
[
2,
1,
1,
3,
1,
"CLIP"
],
[
3,
2,
0,
4,
2,
"IMAGE"
],
[
4,
3,
0,
4,
0,
"MODEL"
],
[
5,
3,
1,
4,
1,
"IPADAPTER"
],
[
6,
1,
1,
5,
0,
"CLIP"
],
[
7,
1,
1,
6,
0,
"CLIP"
],
[
8,
4,
0,
8,
0,
"MODEL"
],
[
9,
5,
0,
8,
1,
"CONDITIONING"
],
[
10,
6,
0,
8,
2,
"CONDITIONING"
],
[
11,
7,
0,
8,
3,
"LATENT"
],
[
12,
8,
0,
9,
0,
"LATENT"
],
[
13,
1,
2,
9,
1,
"VAE"
],
[
14,
9,
0,
10,
0,
"IMAGE"
],
[
15,
9,
0,
11,
0,
"IMAGE"
]
],
"extra": {
"workflow_info": {