kling
The closed model you can't download, called from a node
- source_image_url
- source_image
- api_config
- video
- workflow_id
- raw_json
Kling has no open weights. If you want it, you call it - and this node is how you call it from inside ComfyUI, through Civitai's official civitai/civitai-comfy-nodes pack. It's the textbook "model isn't on your machine" case from the KB's external-API-nodes doc: the whole job runs on Civitai's fleet, billed in Buzz, and the clip lands back in your graph as a native VIDEO.
Kling is Kuaishou's video model, and the reason people pay for it is physicality - it's one of the strongest commercial generators for motion realism, and it has been a benchmark for everything from camera control to video-to-video reference work for a while now. Because it's closed, you can't inspect the weights or fine-tune it; you get the hosted engine and its settings. This node covers text-to-video and image-to-video (via the source_image input), with a camera_control_json field for scripted camera moves.
How it works
Same orchestration plumbing as every node here: assemble a videoGen workflow with the Kling engine, submit to the Civitai Orchestration API, long-poll until succeeded, download the MP4, return video + workflow_id + raw_json. Your prompt (and source image, if wired) goes to Civitai's servers - that's the price of using a model you can never run locally. The api_config input is just an auth override; everything else is engine settings.
Inputs and outputs that matter
- prompt (required) - the clip.
- cfg_scale (required) - default 0.5 (range 0–1). Yes, 0.5 - Kling is not an SD-class CFG scale. This is a normalized guidance strength; don't crank it to 4 or 7 out of habit or you'll fight the model.
- model - engine version:
v1,v1.5,v1.6,v2, orv2.5-turbo. Newer usually means better;turbotrades quality for speed/cost. - negative_prompt - what to avoid.
- mode -
standardorprofessional. Professional mode costs more; for most experiments standard is fine. - aspect_ratio -
16:9,9:16,1:1. - duration -
5or10seconds. - camera_control_json - JSON for scripted camera motion, the Kling signature feature. Check Civitai's docs for the accepted schema; malformed JSON just gets ignored or errors server-side.
- source_image_url / source_image - for image-to-video.
source_imageis theIMAGEsocket (accepts a URL, DataURL, or Base64 string per the tooltip);source_image_urllets you pass a plain URL string. - api_config - optional auth override.
Outputs: video, workflow_id, raw_json.
Installing it
ComfyUI Manager → Custom Nodes Manager → "Civitai Comfy Nodes" (publisher civitai) → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
Just requests; nothing downloads.
Common issues
- Auth & Buzz. Civitai account with Buzz required.
CIVITAI_API_TOKENfor headless; Civitai Auth node or sidebar connect panel otherwise. - CFG confusion. 0.5 is the default and a normalized scale - treat it as guidance, not CFG. People paste SD habits in here and wonder why Kling ignores them.
- Professional mode bills more.
mode=professionalandduration=10are the pricey combos. The node's status line shows per-run cost. - Camera JSON is fiddly. Get the schema right before relying on it; the error shows up as a server rejection, not a local one.
- Early preview. The pack is under active development; APIs and behavior may change without notice.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| cfg_scale | FLOAT | 0.500–1 | — |
| modelopt | COMBO | 6 options: , v1, v1.5, v1.6, v2, v2.5-turbo | |
| negative_promptopt | STRING | — | |
| modeopt | COMBO | 3 options: , standard, professional | |
| aspect_ratioopt | COMBO | 4 options: , 16:9, 9:16, 1:1 | |
| durationopt | COMBO | 3 options: , 5, 10 | |
| camera_control_jsonopt | STRING | — | |
| source_image_urlopt | IMAGE | — | |
| source_imageopt | IMAGE | Either A URL, A DataURL or a Base64 string | |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |