Concurrent Submit | Zhenzhen_kling_image2video
Kling image-to-video with camera moves and tail frames, batched
- image
- image_tail
- task
Kling is the image-to-video workhorse of this pack - the "start from a still, get motion" path that's become the standard way people make consistent video from a single reference. This node wraps Zhenzhen_kling_image2video in the concurrent pattern, so up to ten image-to-video jobs run at once in the shared video pool.
The genuinely useful extra here is the image_tail input: Kling can take a start frame and an end frame, so your clip travels from image A to image B instead of just drifting off from A. Combined with the camera controls (camera + camera_value), that's real direction inside one node - push in, pan, shake, orbit, or ease between two stills. If you've been fighting ComfyUI-native workflows to get that level of shot control, this is the easier door.
How the wrapper works
Underneath, the plain Comfly_kling_image2video node uploads your start frame, posts the request to Kling's API through Zhenzhen's proxy, and polls for the finished clip - with model-specific capability checks (which durations and camera moves each Kling version actually supports). The Submit wrapper keeps every input but returns a single task (COMFLY_VIDEO_FUTURE), deferring the call to the video pool (default 10, COMFLY_VIDEO_CONCURRENCY env var).
The task output must flow into ComflyConcurrent_Video_Await, which waits for all connected tasks and returns video_1 … video_10 in order plus a status JSON. failure_mode (fail_fast / placeholder) controls whether one failure aborts the batch or blanks a slot.
Inputs that matter
image is required - the start frame. prompt describes the motion. model_name defaults to kling-v1-6 with kling-v1, kling-v1-5, kling-v2-master, kling-v2-1, kling-v2-1-master available; the higher tiers cost more, and the pack's changelog calls v2-master "expensive, use as needed." imagination (0–1, default 0.5) is Kling's creativity/fidelity dial - lower sticks closer to the input image. mode is std or pro; duration is 5 or 10; num_videos is 1–4 per call; negative_prompt exists but Kling leans on it less than you'd expect.
image_tail is the end frame. camera offers eleven moves (horizontal, vertical, zoom, both shakes, rotate, plus the master_* moves) and camera_value (−10 to 10) sets the strength. Which camera/duration combos work depends on your model - the capability tables differ per version, and the node enforces them. api_key is optional once API Settings is configured.
Install and gotchas
Pack install as always: ComfyUI Manager → search Comfyui-zhenzhen, or git clone https://github.com/T8mars/Comfyui-zhenzhen into ComfyUI/custom_nodes, restart. No local models.
The model/duration/camera compatibility matrix is the top source of confusion - e.g. some std/pro+5s combos simply don't support camera moves, and the node will error rather than quietly ignore you. num_videos bills per video, and pro models bill higher per render, so keep 4-per-call for tests on std. A 500 is usually upstream Kling load; re-run. And when a slot fails at the Await node but the clip clearly exists, the download timed out - check the site's task page before spending again.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt | STRING | — | |
| model_name | COMBO | kling-v1-6 | 6 options: kling-v2-1, kling-v2-1-master, kling-v2-master, kling-v1-6, kling-v1-5, kling-v1 |
| imagination | FLOAT | 0.500–1 | — |
| aspect_ratio | COMBO | 1:1 | 3 options: 1:1, 16:9, 9:16 |
| mode | COMBO | std | 2 options: std, pro |
| duration | COMBO | 5 | 2 options: 5, 10 |
| num_videos | INT | 11–4 | — |
| negative_prompt | STRING | — | |
| seed | INT | 00–2147483647 | — |
| image_tailopt | IMAGE | — | |
| api_keyopt | STRING | — | |
| cameraopt | COMBO | none | 11 options: none, horizontal, vertical, zoom, vertical_shake, horizontal_shake, +5 |
| camera_valueopt | FLOAT | 0.0-10–10 | — |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_VIDEO_FUTURE | — |