KLingAI Multi-Image to Video
Multi-frame reference video, Kling v1-6 style
- image1
- image2
- image3
- image4
- task_id
- task_status
- created_at
- updated_at
- seed
Single-image video generation gives you a start frame and hopes for the best. KLingAI Multi-Image to Video gives Kling up to four images and asks it to treat them as a sequence of reference frames - a way to pin down what happens between the pictures you already have. Storyboard-style animation: you've drawn keyframes, Kling fills in the motion. It's a niche capability, but for character consistency across a clip it beats crossing your fingers with one still.
The mechanism is the pack's standard async submission - POST to /v1/videos/multi-image2video, get a task_id, then poll with Query Status and download. The single twist is the model lock: model_name has exactly one option, kling-v1-6. This capability only exists on that model in the pack, so there's no version picker to play with.
Inputs that matter
- api_token (required) - the JWT from the API Key node.
- prompt (required) - what's happening in the shot; the motion and any context the images don't cover.
- image1 (required) - the first frame, an IMAGE input.
image2,image3,image4are optional, so a bare minimum graph is just one frame (at which point you're basically doing image2video). - negative_prompt - usual role.
- mode -
stdorpro. - duration -
5or10seconds. - aspect_ratio -
16:9,9:16, or1:1. - seed - local-only, drives re-run behavior.
The output
task_id, task_status, created_at, updated_at (STRING) and seed (INT) - the standard five. task_id into Query Status, url out of that into the Video Downloader. No surprises.
How to actually use it
The interesting question is what order to feed the images. The natural reading is chronological - frame 1, frame 2, ... as the clip progresses - and that's what most people mean by keyframes. If you're coming from a multi-image2image workflow, you can reuse the same subject plates here. There's no camera-control block on this node, so describe any camera move in the prompt itself ("camera slowly pushes in"). And remember the image1 in this node is the start frame, not a style reference.
Where people get burned
- Ordering assumptions. The images' semantics aren't spelled out in the node, and the most common disappointment is feeding images in the wrong order and getting a clip that jumps. Test with two frames, chronological, before committing to four.
- v1-6 only. If you picked up a
kling-v2-5-turbohabit from the image2video node, that model isn't available here. Multi-frame reference on this pack means v1-6, which means older-model quality and pricing. - One image ≠ multi. With just
image1, you're effectively running image2video and paying the same - nothing gained. The node earns its keep at two-plus frames. - The eternal async reminder. Task ID out, not video. Query Status → Downloader or you'll have nothing to show for it.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| api_token | STRING | — | |
| prompt | STRING | — | |
| image1 | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| model_nameopt | COMBO | kling-v1-6 | 1 options: kling-v1-6 |
| negative_promptopt | STRING | — | |
| modeopt | COMBO | std | 2 options: std, pro |
| durationopt | COMBO | 5 | 2 options: 5, 10 |
| aspect_ratioopt | COMBO | 16:9 | 3 options: 16:9, 9:16, 1:1 |
| external_task_idopt | STRING | — | |
| callback_urlopt | STRING | — | |
| seedopt | INT | -1-1–18446744073709550000 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| task_id | STRING | — |
| task_status | STRING | — |
| created_at | STRING | — |
| updated_at | STRING | — |
| seed | INT | — |