KlingAI 2.0 Master
The ceiling the open-source world was chasing
- frameImages
- video
Kling 2.0 Master is the model that set the bar the local video community spent the next year trying to reach. When the Wan crowd benchmarked their best open-weight work, the honest framing was "on par with Kling 2.0 Master" - that's the yardstick. This node is Kuaishou's flagship tier of the 2.0 generation, running on Runware's cloud and driven from a ComfyUI node that needs exactly one thing from you: a prompt.
Why you'd reach for it
Because this is where "I'll just run it locally" stops being an option. 2.0 Master has no weights you can download - Kling is closed, API-only, and the Master tier is the top rung. The Runware node is your front door: positivePrompt is the only required input, and the render happens on Runware's GPUs and comes back as a native ComfyUI VIDEO. If you've been fighting Wan's motion quality and wondering what the actual ceiling looks like, this is the answer - rented, not owned.
How it works
Standard pack mechanics, flagship model. The node class is generated from Runware's catalog with the 2.0 Master model ID baked in; your prompt and any optional frameImages tensor (base64'd to PNG data URIs) get sent to the Runware REST API via the runware SDK, and the finished clip is downloaded and wrapped as a VIDEO object. The node title bar shows the cost per run and any NSFW flag. No local inference at all.
Inputs that matter
positivePrompt- required. This is a T2V-first node; describe the whole scene.frameImages(IMAGE) - optional. Feed a first frame and you get image-to-video on the same model.duration- 5 or 10 seconds. Longer clips on a flagship tier are where credits go to die; budget accordingly.width/height- 1024×1024 default. Master tier handles it well, but resolution costs money on every frame.CFGScale- 0.5 default;negativePromptignored below guidance ~1.numberResults(1–4) - variations per run, each a separate bill.outputFormat(MP4/WEBM/MOV),outputQuality(95).
Output: one video socket (VIDEO type) → preview/save node.
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
- It's the most expensive Kling tier in the pack. The title-bar cost line will make this obvious fast - set
numberResultsto 1 and nail the prompt before you roll for variations. - No key = clean one-line "No Runware API key" error;
RUNWARE_DEBUG=1for full tracebacks. frameImagesis anIMAGEtensor (Load Image), never a path.- Closed weights, per-request pricing: you own the output, not the model.
2.0 Master is the one you reach for when the shot has to be right and the local alternatives just aren't there yet. It's also the one that reminds you cloud inference is a subscription, not a purchase - worth it exactly as often as you're willing to pay for the ceiling.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| frameImagesopt | IMAGE | — | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| sizeopt | COMBO | 720p (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 | — |