Comfyui-Kling-Wrapper Multi Images To Video
Give Kling a storyboard, get a video back
- image_list
- image_tail
- url
- video_id
Single-image-to-video is easy: one frame, one prompt, motion happens. Multi-image-to-video is the upgrade for people who want control - you feed Kling a sequence of frames and it turns them into one coherent clip, holding the subject and scene across the shot. This node is that feature, and it's the one you reach for when a single start frame isn't enough to pin down what you want.
The obvious use is consistency across a longer piece. Instead of fighting a text prompt to keep a character looking the same, you hand Kling several reference frames and let the images do the talking. It's the API-era version of what people build locally with IP-Adapter and ControlNet chains - except you don't build anything, you just feed frames.
How it works
The image_list input takes an IMAGE batch - multiple frames wired in as a list. The model dropdown is the newer, multi-image-capable set only: kling-v2-1, kling-v2-5-turbo, kling-v3, and kling-v3-omni. The pack hides models that can't handle multi-image input, so if it's not in the list, it won't work.
There's also image_tail for a designated ending frame, which is the cleanest way to force a closing composition. Connect image_tail and Kling treats it as the destination the motion resolves toward.
The controls
Standard video knobs, all familiar if you've used Image2Video in this pack:
prompt/negative_prompt- the prompt describes the motion and the transition between frames, not the subject. The subject comes from the images.mode- std/pro/4k. 4k is only accepted bykling-v3andkling-v3-omni; the node's capability check blocks the combo before submission on other models.duration- 3 to 15 seconds. Longer durations cost more and are where multi-image input pays off, since you have more room for the sequence to breathe.aspect_ratio- 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9. Match it to your frames.
Outputs are url and video_id, same as the rest of the pack - url into Preview Video to download, video_id into Video Extender to keep the clip going.
Install and gotchas
Same pack, same install: 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, and set your Kling API key in config.local.json. It's an API node - no model downloads, no VRAM, just metered credits.
A few honest caveats before you burn a run. Multi-image input is more finicky than single-image: Kling will hold the subject across frames, but the more frames you feed and the more dissimilar they are, the more the model has to invent transitions. Keep the frames consistent in style and framing. And if you're on the Vapeur provider path, this is one of the supported nodes (unlike several others in the pack), but the model IDs are isolated from official Kling IDs - only kling-v2-6 and kling-v3 map cleanly, so check the model dropdown against what your provider actually offers.
If you want a character to stay identical across shots rather than just consistent, pair this node with an Advanced Element - create the element, then bind it through the element list. For a storyboard-to-clip workflow, this is the node.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 4 options: kling-v2-1, kling-v2-5-turbo, kling-v3, kling-v3-omni | |
| image_list | IMAGE | — | |
| image_tailopt | IMAGE | — | |
| promptopt | STRING | — | |
| negative_promptopt | STRING | — | |
| modeopt | COMBO | 3 options: std, pro, 4k | |
| durationopt | COMBO | 13 options: 3, 4, 5, 6, 7, 8, +7 | |
| aspect_ratioopt | COMBO | 8 options: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, +2 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| url | STRING | — |
| video_id | STRING | — |