KlingAI 2.1 Pro
Flagship image-to-video with the frame wired in
- frameImages
- video
Notice the required inputs on this one: frameImages and positivePrompt. Kling 2.1 Pro is an image-to-video-first node, and the pack isn't subtle about it - you're handing it a first frame and a description of the motion, and it hands back a clip where the subject actually stays the subject. For anyone building the "generate a still in ComfyUI, animate it in the cloud" pipeline, this is the flagship version of exactly that flow.
Why you'd reach for it
Because your deliverable starts as an image you already control. You can set the composition, the lighting, the character design locally - with a toolchain you actually trust - then let Kling 2.1 Pro supply the motion, the physics, and the frames in between. The Pro tier resolves at a higher ceiling than Standard, and since the frame is already yours, you're mostly paying for motion quality. That's the value here: control where it matters, delegation where it counts.
How it works
Generated Runware node, shared pack base class. Your frameImages tensor is base64'd to PNG data URIs and sent with the prompt to the Runware REST API over the runware SDK; the rendered clip is downloaded and wrapped as a native ComfyUI VIDEO object. Cost and NSFW flag print on the node title bar. No local GPU involved - the frame is your contribution, the animation is theirs.
Inputs that matter
frameImages(IMAGE) - required. Your first frame from a Load Image node or any IMAGE output.positivePrompt- required. Describe the motion, camera, and scene changes; don't re-describe the still.duration- 5 or 10 seconds (frames = duration × fps).width/height- 1024×1024 default.CFGScale- 0.5 default;negativePromptonly counts once guidance is above 1.numberResults(1–4) - variations, each a separate cost.outputFormat(MP4/WEBM/MOV),outputQuality(95).
Output: one video socket (VIDEO type).
Install and the API key
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart ComfyUI (or Runware via ComfyUI Manager). Key from the Runware dashboard → Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.
Gotchas
- The required input is a tensor, not a path. "I plugged in my PNG filename" is the classic failure; Load Image first.
- What's in the frame is what animates. There's no mask input, so crop or composite before sending if you only want part of the scene moving.
- Paid, closed, per-run: Kuaishou's weights by the request, with the cost printed right on the node.
- It's a couple of generations behind the video 2.6 / 3.0 Kling nodes now - 2.1 Pro is the "current-ish flagship" that shared workflows often pin, which can be a feature or a trap depending on how you're using it.
If your pipeline is "design the frame locally, animate it in the cloud," 2.1 Pro is where that flow got good enough to stop feeling like a compromise.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| frameImages | IMAGE | — | |
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| sizeopt | COMBO | 1080p (1:1) | Output size. Only one of resolution or dimensions is sent. |
| CFGScaleopt | FLOAT | 0.500–1 | Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt. |
| durationopt | COMBO | 5 | Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps). |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |