Kling VIDEO 3.0 4K
15-second clips at real resolution, with sound
- frameImages
- video
The 4K is in the name and the 15 is in the duration slider. Kling VIDEO 3.0 is the current flagship of the Kling video line on Runware, and this node is the "stop and look at this" option: up to 15 seconds per clip (the other Kling video nodes cap at 10), 4K-class resolution, and native sound generation as a provider setting. There are no required inputs - a prompt is optional, a first frame is optional - but you're going to want both, because this tier is where you spend when it has to be good.
Why you'd reach for it
For the deliverables. 3.0 is where Kling's motion quality, resolution, and audio finally land in one node - the kind of output you'd put in a real cut, not a storyboard. The 15-second ceiling and the sound toggle mean a clip can arrive with dialogue or ambience already baked in, which is the difference between "render and then find audio" and "render, done." If the shot is the hero, this is the node.
How it works
Generated Runware node, shared base class. frameImages tensors are base64'd to PNG data URIs; the request (prompt, dimensions, duration, the providerSettings.klingai.sound flag) rides to the Runware REST API via the runware SDK and returns a native ComfyUI VIDEO object. Cost and NSFW flag print on the title bar - and on a flagship tier, that cost line is worth watching.
Inputs that matter
positivePrompt- optional, but on a flagship don't skip it; you're paying for quality, give it direction.frameImages(IMAGE) - optional first frame for image-to-video.duration- an INT from 3 to 15 seconds, the longest of any Kling node here. Frames = duration × fps, so 15s is a real chunk of generation.width/height- 1024×1024 default; 4K-class output lives at the top of the resolution range and costs accordingly.providerSettings.klingai.sound- enable native audio generation in the clip.negativePrompt- present here; only meaningful with guidance raised.advanced_json- the escape hatch. It's documented forinputs.elementsandproviderSettings.klingai.multiPrompt, letting you stuff raw JSON into the request that the widgets don't expose. Power users only.numberResults(1–4),outputFormat(MP4/WEBM/MOV),outputQuality(95),safetygroup.
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
- Flagship pricing adds up fast - 15 seconds at 4K-class resolution is a serious credit spend. Iterate short and low, then scale up for the keeper.
- The
advanced_jsonfield swallows raw JSON silently: if your JSON is malformed it's ignored, so you can think a feature is on when it isn't. Validate it before you queue. - Native sound costs extra and isn't always worth it for ambient-only shots; toggle
soundoff when you don't need it. - Closed Kuaishou model, per-run pricing, cost on the node. You rent the best Kling has; you don't own it.
Kling VIDEO 3.0 4K is the "make it a real clip" node - the one you graduate to when the drafts on the cheaper tiers have earned a final render. Bring your best prompt and a budget.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| frameImagesopt | IMAGE | — | |
| positivePromptopt | 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 | 4K (1:1) | Output size. Only one of resolution or dimensions is sent. |
| durationopt | INT | 53–15 | 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. |
| providerSettings.klingai.soundopt | BOOLEAN | false | Enable native audio 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. |
| advanced_jsonopt | STRING | Optional JSON merged into the request. For: inputs.elements, providerSettings.klingai.multiPrompt |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |