Kling 2.6 Text to Video
The node where you can just ask for spoken dialogue
- video
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
What this node actually is
Kling is Kuaishou's closed video model. There are no weights, so there is no local option and never will be - the only door is an API call. This node is that door, wired into ComfyUI: KIE Next / Video / Kling / Kling 2.6 Text to Video, from the ComfyUI-KIE-Nodes-Next pack.
One thing to get straight up front, because it surprises people: this is not a ComfyUI Partner Node. The official API Nodes run on Comfy credits and your Comfy account. This pack talks to KIE.ai, a third-party reseller with its own account, its own credit balance and its own key. You paste that key into ComfyUI settings once and every node in the pack starts working.
Kling 2.6 is the version the community kept pointing at for motion - not for prompt obedience, for movement. And the reason the text-to-video node is more interesting than the image-to-video one is a single toggle: sound.
How it works
The node builds a JSON payload - model kling-2.6/text-to-video plus your inputs - POSTs it to KIE's createTask endpoint, and then polls recordInfo roughly every 2.5 seconds, backing off up to a 15-second interval, until the task reports success. The finished MP4 is downloaded, archived under output/KIE-Results/videos/, and handed to you as a real ComfyUI VIDEO object. You get one graph node that looks like a sampler and behaves like a slow network job.
Nothing is submitted twice and nothing is charged for a call that never left your machine - but every successful call is metered, and the node tells you the damage.
The inputs that matter
- prompt - up to 1000 characters. This is the interesting one. Dialogue works, and the default prompt in the node is a full sales-livestream script with inline speakers:
[African female host, in a cheerful tone] says: "360-degree flawless tailoring...". Sound follows the script, so write the lines the way you want them performed. - sound - off by default. Turn it on and you get audio in the render. Turn it off and you get a silent clip for less money.
- aspect_ratio -
1:1,16:9,9:16. Three options, which should tell you what Kling 2.6 t2v is built for: social formats. - duration -
5or10seconds. Ten costs more, obviously. - timeout_seconds - 1200 by default, i.e. twenty minutes of polling. Leave it unless you're timing out.
- callback_url - leave it empty. It's for webhook-driven server installs, not for you.
Notice what isn't here: no seed, no negative prompt, no steps. It's an API model, not a sampler. Don't go looking for the dials you'd have on Wan.
Outputs
video is the one you wire into a Save Video or preview. Then url (the KIE-hosted link - handy for a quick look, don't build a long-lived pipeline on it), all_urls_json, task_id, raw_json for when something fails and you want the plain truth, plus credits_consumed and credits_left. Both credit numbers also render on the node itself after each run, so you can see what a 10-second clip with sound actually cost before you queue another one. If KIE's balance service hiccups, credits_left comes back as -1 and the generation still succeeds.
Install
ComfyUI Manager, search the pack title KIE.ai Nodes Next, or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
Restart ComfyUI. The dependencies are just requests, Pillow, numpy and PyYAML - no extra torch, no ffmpeg packages bolted on. The repo also ships a packaged ZIP and a one-click Windows installer under dist/.
Then: Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. The key gets validated against KIE before it overwrites anything, and you get a masked fingerprint plus a ✅ CONNECTED row. KIE_API_KEY in the environment still works and takes priority over the saved key.
Where people get burned
The node doesn't exist until the pack's catalog sync has run. On first launch you get a small bootstrap set of polished definitions, then KIE-Next reads KIE's docs index and rebuilds its node list - which reloads the ComfyUI frontend once. If "Kling 2.6 Text to Video" is missing from the search, that sync hasn't finished or KIE's docs were unreachable.
Other than that: a missing key gives you one clear error telling you exactly which settings panel to open. KIE task ... failed: <reason> means the provider refused the job - open raw_json, the reason is in there, and it's usually the prompt. And if a 10-second render times out, raise timeout_seconds rather than clicking Generate four times.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Scene: A fashion live-streaming sales setting, with clothes hanging on racks and the host's figure reflected in a full-length mirror. Lines: [African female host] turns around to showcase the hoodie's cut. [African female host, in a cheerful tone] says: "360-degree flawless tailoring, slimming and versatile." She then [African female host] leans closer to the camera. [African female host, in a lively tone] says: "Double-sided fleece fabric, $30 off immediately when you order now." | Text prompt for video generation (maximum length: 1000 characters) |
| sound | BOOLEAN | false | This parameter specifies whether the generated video contains sound (boolean: true/false) |
| aspect_ratio | COMBO | 1:1 | This parameter defines the video aspect ratio |
| duration | COMBO | 5 | Video duration (unit: seconds) |
| timeout_secondsopt | INT | 120030–7200 | — |
| callback_urlopt | STRING | Optional KIE callback URL. Leave empty for normal ComfyUI use. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| url | STRING | — |
| all_urls_json | STRING | — |
| task_id | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| credits_left | FLOAT | — |