Concurrent Submit | Zhenzhen_kling_text2video
Kling text-to-video with camera control, and ten shots at once
- task
This is the prompt-only Kling node - no reference image required, just a prompt, and Kling conjures the motion. It wraps Zhenzhen_kling_text2video, and it's the version you reach for when you're storyboarding from text rather than animating existing stills. And because it's a concurrent submit node, you can fire ten shots at once into the shared video pool - which, for text-to-video, is the whole game: render ten variations of a scene, compare, keep the one that got the motion right.
The useful surprise is the camera block. camera offers eleven moves - horizontal, vertical, zoom, both shakes, rotate, plus the master_* moves for the higher models - and camera_value (−10 to 10) sets the strength. That's real shot direction on a text-only node, and it's where this earns its place next to the image-to-video version.
How the wrapper works
Underneath, the plain Comfly_kling_text2video node posts your prompt to Kling's text-to-video endpoint through Zhenzhen's proxy and polls for the finished clip, with a per-model capability table that checks which durations and camera moves each Kling version 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 submission order plus a status JSON. failure_mode (fail_fast / placeholder) decides whether one failure aborts the batch or blanks the slot.
[Submit: shot A prompt] ──task──┐
[Submit: shot B prompt] ──task──┼──▶ ComflyConcurrent_Video_Await ──▶ Save
[Submit: shot C prompt] ──task──┘
Inputs that matter
prompt is required and is the entire creative input. model_name defaults to kling-v1-6, with kling-v1, kling-v1-5, kling-v2-master, and kling-v2-1-master available - the master tiers cost notably more (the pack's changelog flags v2-master as "expensive, use as needed"). imagination (0–1, default 0.5) trades adherence to the prompt against creative license. mode (std/pro), duration (5/10), aspect_ratio (1:1/16:9/9:16), num_videos (1–4), negative_prompt, and seed fill out the core.
camera and camera_value are the shot-direction pair. Which combos actually work depends on the model - the capability tables differ per version, and the node enforces them, so an unsupported camera+duration errors instead of silently ignoring you. 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.
Text-to-video is less controllable than image-to-video, so set imagination lower when you need the prompt honored and accept the wobble. The compatibility matrix is the usual trap - some pro/5s combos don't support camera moves, and the node will tell you. num_videos bills per clip and pro models bill higher, so test at std/1 clip. A 500 is typically upstream Kling load; re-run. And if the Await node flags a failed slot after a long render, the clip is likely done - check the site's task page before spending credits again.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model_name | COMBO | kling-v1-6 | 5 options: 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 | — |
| 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 | — |