Nodes/Comfyui-Kling-Wrapper/Comfyui-Kling-Wrapper Element List Builder
ComfyUI Node

Comfyui-Kling-Wrapper Element List Builder

The little node that lets Kling remember several characters

By magicwang1111·Created 5 months ago·Updated 18 days ago· 1
Comfyui-Kling-Wrapper Element List Builder
  • element_1
  • element_2
  • element_3
  • element_4
  • element_list
  • element_list_json
extra_element_ids

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:

  1. Wire the element output of Advanced Element Create directly into a slot.
  2. Wire the element output of Advanced Element Query in (handy if you're reconstructing a workflow from stored IDs).
  3. Type raw element IDs into extra_element_ids as 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 into Image2Video.element_list or Motion Control.element_list
  • element_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.

CategoryComfyui-Kling-Wrapper

Inputs (5)

NameTypeDefaultDescription
element_1COMFYUI_KLING_WRAPPER_ELEMENT
element_2optCOMFYUI_KLING_WRAPPER_ELEMENT
element_3optCOMFYUI_KLING_WRAPPER_ELEMENT
element_4optCOMFYUI_KLING_WRAPPER_ELEMENT
extra_element_idsoptSTRING

Outputs (2)

NameTypeDescription
element_listCOMFYUI_KLING_WRAPPER_ELEMENT_LIST
element_list_jsonSTRING