Kling Image to Video
The node that makes your still image move
- auth
- image
- image_tail
- camera_control
- video
- video_file
- audio
- url
- task_id
The classic image-to-video move: feed Kling a still and a short prompt, get back a 5–15 second clip where the image comes alive. This is the node most people mean when they say "I want to animate this picture," and it's where the whole API-toolkit deal finally pays off - no local video model eating your VRAM, no ComfyUI video-pipeline debugging, just an image, a prompt, and a clip on the other side. If you've done any of this locally you'll recognize the shape instantly: it's the hosted equivalent of Wan or LTX image-to-video, except the model is kling-v3 and the compute is Kling's.
Mechanically: the node uploads your image (base64), fires off a generation task, and polls until the clip is done. Because every node here implements IS_CHANGED, re-queueing always re-runs. The interesting design bit is the prompt field - like the pack's Text to Video, it supports @image1 references, so you can point at your input image explicitly ("@image1 walks toward the camera") instead of hoping the model infers the subject.
Inputs worth your attention:
image(required) - your starting still. There's also an optionalimage_tailfor a second reference image (useful for a defined end state).model_name-kling-v3(default),kling-v2-6,kling-v2-master, orkling-v1-6. Newer isn't always better for your exact subject; if v3 over-animates, try v2-master.duration- 5, 10, or 15 seconds. Longer = more credits = more drift risk.mode-pro(quality) vsstd(faster/cheaper). Start pro; std is for drafts.sound- toggle AI-generated audio (Kling v3 generates ambient sound + effects natively). Defaults on, and it's kind of the selling point of this generation.cfg_scale- 0–1, prompt adherence vs creativity. 0.5 default.camera_control- optionalKLING_CAMERAfrom the Kling Camera Control node. This is how you force a dolly or zoom instead of praying.
Outputs: video (IMAGE tensor frames), video_file (path to the saved clip), audio (AUDIO), url (hosted), task_id.
Installing it
Part of ComfyUI-API-Toolkit. Manager: search "API Toolkit". Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
pip install -r requirements.txt
Restart ComfyUI, wire in the Kling AI Authentication node, and fund your account.
Gotchas
Cost is the headline. Each clip is a billed generation and video seconds are the priciest thing on Kling's menu, so 15s pro clips with sound will drain credits shockingly fast - draft in std/5s. Two more: the video tensor output holds all frames in RAM, so for long clips prefer the video_file/url outputs (or the Fast Video Saver) or you'll OOM on a modest card. And Kling's motion quality is genuinely good but not infinite - limbs and faces still warp, especially at 15s; the KB's video-ecosystem notes that even the top hosted models get compared against local Wan in the arena, so keep expectations sane.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| auth | KLING_AUTH | — | |
| image | IMAGE | — | |
| prompt | STRING | Optional text prompt to guide the video generation from the image. | |
| negative_prompt | STRING | Things to avoid in the generated video. | |
| model_name | COMBO | kling-v3 | Kling model version for image-to-video. |
| duration | COMBO | 5 | Video duration in seconds. |
| mode | COMBO | pro | Generation mode: 'pro' for higher quality, 'std' for faster/cheaper. |
| sound | BOOLEAN | true | Enable AI-generated sound effects and ambient audio. |
| cfg_scale | FLOAT | 0.500–1 | Classifier-free guidance scale. Higher = more prompt adherence, lower = more creative. |
| image_tailopt | IMAGE | — | |
| camera_controlopt | KLING_CAMERA | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| video | IMAGE | — |
| video_file | STRING | — |
| audio | AUDIO | — |
| url | STRING | — |
| task_id | STRING | — |