ComfyUI Node

KlingAI 2.1 Pro

Flagship image-to-video with the frame wired in

By Runware·Created 2 years ago·Updated about a month ago· 140
KlingAI 2.1 Pro
  • frameImages
  • video
positivePrompt
negativePrompt
size1080p (1:1)
CFGScale0.50
duration5
numberResults1
safetyfalse
safety.checkContentfalse
safety.modefast
ttlfalse
ttl_value60
outputFormatMP4
outputQuality95

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; negativePrompt only 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 dashboardSettings → 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.

CategoryRunware/Video/klingai

Inputs (14)

NameTypeDefaultDescription
frameImagesIMAGE
positivePromptSTRINGText prompt describing elements to include in the generated output.
negativePromptoptSTRINGPrompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1).
sizeoptCOMBO1080p (1:1)Output size. Only one of resolution or dimensions is sent.
CFGScaleoptFLOAT0.500–1Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt.
durationoptCOMBO5Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
safety.modeoptCOMBOfastSafety checking mode for video generation.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP4File format for the generated video.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
videoVIDEO