Comfyui-Kling-Wrapper Element List Builder
The little node that lets Kling remember several characters
- element_1
- element_2
- element_3
- element_4
- element_list
- element_list_json
Advanced Element Create gives you a single reusable subject. Element List Builder is what you use when one subject isn't enough - it packs up to four registered elements into an element_list that Kling's video generation can bind into a scene. Two characters meeting in one shot, a hero plus a prop that has to stay identical, that kind of thing. Without this node you'd be hand-typing element JSON; with it, you just wire in elements.
The inputs are comically simple, which is the point. Four typed slots - element_1 through element_4 - plus a text field. element_1 is required; the rest are optional. Each takes the COMFYUI_KLING_WRAPPER_ELEMENT object that comes out of Advanced Element Create or Query.
Filling the slots
Three ways to get elements in:
- Wire the
elementoutput of Advanced Element Create directly into a slot. - Wire the
elementoutput of Advanced Element Query in (handy if you're reconstructing a workflow from stored IDs). - Type raw element IDs into
extra_element_idsas a multiline or comma-separated list.
The extra_element_ids escape hatch is genuinely useful when you want to reference an element you registered ages ago and don't have a node on the canvas to wire from - just paste the ID.
Outputs
element_list- the typed list that feeds straight intoImage2Video.element_listorMotion Control.element_listelement_list_json- the same thing serialized to a string, for inspection or for passing around via text
The node validates that at least one element is present and normalizes the references, so you can't submit an empty list and get a confusing API error later.
The workflow
The pattern the README and examples hammer on: Create your elements once (frontal image + 1–3 references each, remember), assemble them here, and bind the list into Image2Video alongside kling-v3-omni or a subject-consistent generation. Element lists can even combine with voice lists on kling-v3-omni - one character's voice, another character's face, in the same generation.
Install and gotchas
Same pack install as everything else here: ComfyUI Manager (search "Comfyui-Kling-Wrapper") or git clone https://github.com/magicwang1111/Comfyui-Kling-Wrapper.git into custom_nodes, pip install -r requirements.txt, restart, key in config.local.json.
The traps are upstream of this node. An element that failed Create validation won't work no matter how nicely you wire it, and an element you've deleted will make the whole generation fail. Also, more elements isn't automatically better - every element you bind adds constraints the model has to satisfy simultaneously, and Kling gets visibly less obedient to your prompt the more subjects you lock in. Start with one or two, see how the composition holds, then add. The builder itself is the easy part; it's the least glamorous node in the identity-consistency chain and one you'll reach for constantly once you're doing character work.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| element_1 | COMFYUI_KLING_WRAPPER_ELEMENT | — | |
| element_2opt | COMFYUI_KLING_WRAPPER_ELEMENT | — | |
| element_3opt | COMFYUI_KLING_WRAPPER_ELEMENT | — | |
| element_4opt | COMFYUI_KLING_WRAPPER_ELEMENT | — | |
| extra_element_idsopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| element_list | COMFYUI_KLING_WRAPPER_ELEMENT_LIST | — |
| element_list_json | STRING | — |