ComfyUI Node

KlingAI 2.5 Turbo Standard

Kling 2.5 Turbo on your ComfyUI canvas, without the 80GB checkpoint

By Runware·Created 2 years ago·Updated about a month ago· 140
KlingAI 2.5 Turbo Standard
  • frameImages
  • video
positivePrompt
negativePrompt
CFGScale0.50
duration5
numberResults1
safetyfalse
safety.checkContentfalse
safety.modefast
ttlfalse
ttl_value60
outputFormatMP4
outputQuality95

Kling is Kuaishou's paid video model, the one people run on web dashboards and API platforms rather than their own GPU - and this node is how you get it on a ComfyUI canvas without moving the model to your machine. It's a cloud inference node: you type a prompt (or drop in a reference image), Runware's servers do the denoising, and the finished clip lands back as a native VIDEO on your canvas. No checkpoint download, no VRAM calculation, just a billed generation.

Kling 2.5 Turbo is the fast tier, and the community has strong opinions about it: in the Kling-vs-Wan 2.2 comparison threads, the recurring line is that 2.5 Turbo is "light years better than Kling 2.1" while still being a closed, paid model. If you're coming from the open Wan stack and want a quick take on what the paid tier gets you, this is a cheap experiment.

What you actually set

positivePrompt is the only required input - keep it concrete, same habits as local video gen. The settings that matter:

  • frameImages - wire in an image (or images) for image-to-video. It's an IMAGE socket, so any ComfyUI image node feeds it directly.
  • duration - 5 or 10 seconds, chosen by the model's frame rate. Longer isn't automatically better; 10s clips are where motion starts to drift on most models.
  • CFGScale - defaults to 0.5, which is unusual. Kling Turbo is guidance-distilled, so don't crank this like an SD checkpoint; the tooltip warns that a negativePrompt is ignored whenever CFGScale is at or below 1.
  • numberResults - how many clips to generate, each with a different seed. This is also how you multiply your bill, so start at 1.

The rest are output plumbing (outputFormat MP4/WEBM/MOV, outputQuality), safety checking (safety.checkContent with fast/full modes), and the ttl toggle that controls how long a URL-hosted result stays alive.

The output is a single video socket. In current ComfyUI it carries the native VIDEO type, so wire it into a video Preview or Save node. Older setups may fall back to a file path.

Installing

This node ships inside the Runware/ComfyUI-Runware pack, which exposes the whole Runware cloud catalog as nodes. Install it once and Kling (plus every other model node) shows up together.

ComfyUI Manager: open the Custom Nodes Manager, search Runware, install, restart.

Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

There are no model files - the Python deps are just runware-sdk, pillow, and soundfile. You do need a Runware API key from runware.ai/api-keys, pasted into ComfyUI Settings → Runware API key or set as RUNWARE_API_KEY.

Where people get burned

It's a paid API, so the obvious trap is billing: each numberResults is a separate generation, and the node's title bar shows your per-run cost after the fact - worth actually reading before you queue a 10-clip batch. The subtler trap is treating it like local tooling: there's no seed control exposed here and no local cache, so results aren't reproducible across runs. For reproducibility you'd want a seed parameter, and this node deliberately doesn't expose one. Use it for what it's good at - sampling the closed frontier model without renting an 80GB GPU.

CategoryRunware/Video/klingai

Inputs (13)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
frameImagesoptIMAGE
negativePromptoptSTRINGPrompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1).
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