ComfyUI Node

Image2Video

Turn a still into a KLing AI clip, with real camera moves

By KlingAIResearch·Created 2 years ago·Updated 10 months ago· 174
Image2Video
  • client
  • image
  • image_tail
  • url
  • video_id
model
prompt
negative_prompt
cfg_scale0.5
mode
duration
camera_control_type
camera_control_config
camera_control_value1

Image-to-video is the mode most people actually mean when they say "I want AI video" - anchor to a real starting frame and let the model animate it, rather than gambling on pure text-to-video composition. KLing is one of the stronger closed models at this specifically (it shows up regularly in the same breath as Google Veo and Runway when people compare paid video services), and this node is the direct wire into that model from inside a ComfyUI graph. It's also the node people report actually costs real money to use - one image-to-video user on Reddit mentioned KLing's API running "around $0.50 per call," which is worth knowing before you queue up a batch.

How it works

You give it a starting frame (and optionally an end frame), a prompt describing the motion, and it ships the job to KLing's servers, which return a video URL once the async render finishes - polled at whatever interval the upstream Client node is set to. Unlike the open local video models most ComfyUI users are used to (Wan, LTX), there's no local sampler, no schedule, no VRAM math - the model, the steps, the whole render happens on Kuaishou's infrastructure. What you control from ComfyUI is really the request: which model version, how strong the prompt adherence, how long, and whether the camera moves.

The inputs and outputs that matter

Required is just model - six versions from kling-v1 up through kling-v2-1-master, newer generally meaning better motion coherence.

Everything else is optional, and this is where the real control lives:

  • image - your starting frame. image_tail - an optional end frame, letting you anchor both ends of the clip and have KLing interpolate the motion between them, similar in spirit to start/end-frame conditioning on open models like Wan.
  • prompt / negative_prompt - describe the motion you want, not just the scene (the image already provides the scene).
  • mode - std or pro. Pro costs more and renders slower but is the higher-fidelity tier.
  • duration - 5 or 10 seconds.
  • camera_control_type (None, simple, or a handful of named presets like down_back and right_turn_forward) plus camera_control_config (which axis - horizontal, vertical, pan, tilt, roll, zoom) and camera_control_value (-10 to 10, how strong). This is KLing's actual camera-motion system, not a prompt trick - genuinely useful, but check KLing's own docs for which model/mode combinations support it, since not every version accepts every camera preset.
  • cfg_scale (0–1) - prompt adherence strength.

Outputs are url (a link to the finished clip) and video_id - the important one, since it's what you feed into Video-Extender, Video2Audio, or Lip-Sync later in the same pack to keep working on the same generation without re-uploading anything.

Installing it

ComfyUI Manager: search ComfyUI-KLingAI-API. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/KwaiVGI/ComfyUI-KLingAI-API
cd ComfyUI-KLingAI-API && pip install -r requirements.txt

No local model weights - you need a KLing AI API key from their developer console wired into a Client node, and the area on that client (global vs china) has to match the region your key was issued for.

Common issues

Budget for it: video generation is the priciest call type in this pack, and a pro mode, 10-second, camera-controlled request costs more than a quick std 5-second test - start cheap while you're dialing in a prompt. Beyond cost, the usual API-node failure modes apply: an unauthenticated or wrong-region Client fails every downstream node at once, and a video job that seems to hang is normal - these are genuinely multi-minute renders on KLing's side, not something stuck locally. If camera_control_type seems to do nothing, double-check it's actually compatible with the model/mode pair you picked; KLing's camera system is picky about which combinations it honors.

CategoryKLingAI

Inputs (12)

NameTypeDefaultDescription
clientKLING_AI_API_CLIENT
modelCOMBO6 options: kling-v1, kling-v1-5, kling-v1-6, kling-v2-master, kling-v2-1, kling-v2-1-master
imageoptIMAGE
image_tailoptIMAGE
promptoptSTRING
negative_promptoptSTRING
cfg_scaleoptFLOAT0.50–1
modeoptCOMBO2 options: std, pro
durationoptCOMBO2 options: 5, 10
camera_control_typeoptCOMBO6 options: None, simple, down_back, forward_up, right_turn_forward, left_turn_forward
camera_control_configoptCOMBO6 options: horizontal, vertical, pan, tilt, roll, zoom
camera_control_valueoptFLOAT1-10–10

Outputs (2)

NameTypeDescription
urlSTRING
video_idSTRING