- content_part_1
- content_part_2
- content_part_3
- content_parts
LLMContentConnector ("LLM 内容连接器") is the glue node of the comfyui-ez-llm pack. It takes up to three LLM_CONTENT_ITEM inputs - text blocks from LLMTextBlockNode, images from LLMImageEncoder - and merges them into a single list that feeds straight into LLMTextGenerator's content_part_1 socket. One wire out instead of three. It's the exact shape of node the plumbing layer of ComfyUI is full of: it touches no pixels, does no thinking, and quietly makes the graph readable.
The reason it exists is the generator only exposes three content-part sockets, and you often want to pack more than that into one of them. Say you want the model to look at an image and follow a fixed style block and see an example. That's three content items. Without the connector, one of them doesn't fit. With it, you merge the text blocks and the image into one list and hand the whole bundle to a single content_part_1 input, leaving the other two sockets free for something else.
How it works
The mechanics are about as simple as a node can get. Each of the three inputs (content_part_1, content_part_2, content_part_3) is optional, so you can wire one, two, or three of them. The node walks them in order, skips whatever isn't connected (the engine passes None for unwired optionals - the standard ComfyUI convention), and flattens anything that's already a list before appending. So if you feed it a list on one input and a single item on another, the output is one clean list in the order you connected them. The output is named content_parts, one LLM_CONTENT_ITEM socket.
There's no ordering dropdown, no weights, no logic. The order of the merged list is just the order of the inputs, top to bottom. If you need to reorder, rewire, don't look for a knob.
Where it fits in a workflow
The realistic setup: LLMImageEncoder packages an image → LLMTextBlockNode holds your "describe the lighting, lens, and mood" instructions → LLMContentConnector merges them → LLMTextGenerator (in multimodal mode with a vision-capable model) gets the bundle on content_part_1 and captions the image with your constraints baked in. That's the captioning workflow this pack is built around, and the connector is the one node that ties it together without forcing you to rebuild it every time.
You can also daisy-chain these - the connector's output is itself an LLM_CONTENT_ITEM, so one connector's output can feed another connector's input and keep merging. The pack caps out at three inputs per connector, but nothing stops you from stacking them if you genuinely have six things to say.
Installing it
Same pack, same one-time install: ComfyUI Manager → search comfyui-ez-llm, or:
cd ComfyUI/custom_nodes
git clone https://github.com/spawner1145/comfyui-ez-llm
Restart. It pulls in the pack's usual transformers + accelerate dependencies and needs nothing else - like LLMTextBlockNode, it runs fine with no model loaded at all, because it processes nothing. It just carries the boxes.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| content_part_1opt | LLM_CONTENT_ITEM | — | |
| content_part_2opt | LLM_CONTENT_ITEM | — | |
| content_part_3opt | LLM_CONTENT_ITEM | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| content_parts | LLM_CONTENT_ITEM | — |