Kling 2.5 Turbo · Text to Video
The cheapest Kling clip you can queue in ComfyUI
- video
- task id
Kling has no open weights, so there is no local node, no GGUF, no 20GB download to babysit. If you want Kling output inside a ComfyUI graph, someone has to call Kuaishou's API for you. This node is the cheapest door in the pack: 8.4 credits per second, which is $0.084, so a 5-second clip lands at 42 credits and a 10-second one at 84 - a bit over four cents and eight cents respectively. Nothing runs on your GPU. If you're on a laptop, this is the whole pitch.
What it actually does
The node is an HTTP client wearing a ComfyUI costume, which is the honest description of the whole API-node category. When you queue, it builds a request from the widgets you set, asks PopNow for a price quote, submits a task with an idempotency key, polls it, then downloads the finished MP4 and hands it back as a normal VIDEO value. Kling 2.5 Turbo renders at 1080p and, per the node's own description, comes back with a soundtrack on every take - there is no audio switch here, so budget for it being part of the deal.
The progress text on the node is worth watching: you get the estimate, the queue state, elapsed generation time, and finally what the run was actually charged. No guessing.
The inputs you'll actually touch
prompt is the one that matters - describe the scene, the action, and the camera move, in that order. Two sentences of camera language beat one long adjective pile.
aspect_ratio is a three-way choice: 16:9, 9:16, or 1:1. Vertical for shorts, obviously.
duration_seconds is only 5 or 10, and it's billed per second, so the length choice is the price choice.
negative_prompt takes a short list of things you don't want. Keep it boring and short - "blurry, extra fingers, text overlays" does more than a paragraph of exotica.
guidance_scale runs 0 to 1 and defaults to 0.5. This is not a CFG slider, so don't push it to 12 and expect sharpness. Low values give the model room to interpret; high values make it literal and, past the middle of the range, stiff. If a shot is drifting off-brief, nudge it to 0.6–0.7 before you rewrite the prompt.
Outputs
Two: video (VIDEO) and task id (STRING). Wire video into ComfyUI's Save Video node, or into another PopNow video node's clip socket if you're chaining a character animation or an edit off it. The task id is what you paste into PopNow's API console or give support when something fails - it identifies the exact run.
Install
In ComfyUI Manager, search PopNow, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Then create a key at popnow.ai/api/console/keys, restart ComfyUI, open Settings > PopNow and paste it - or set POPNOW_API_KEY in the environment. Restart once more afterwards: the node list is rebuilt from your account's catalog at startup. There is nothing else to install, no requirements.txt worth the name, no models. If you used the old single-file custom_nodes/popnow_api.py, delete it.
Where people get burned
No PopNow API key is set and PopNow 401 are the same problem twice: no key, or a revoked one. A 40201 means the wallet is empty - the credit packs are prepaid, there's no subscription to lean on.
The one that catches people out is cancellation. Hitting cancel in ComfyUI stops you waiting, not the job. The task keeps running on PopNow, gets charged if it succeeds, and the result turns up in the API console logs later. If you cancel because you changed your mind about the prompt, you've probably paid for the clip you didn't want. Set Settings > PopNow > Max credits per run before you start experimenting; a run quoted above your ceiling stops before anything is held.
And the usual Kling caveat: a 5-second clip has room for one idea. Staging a three-beat narrative into one prompt is how you get a mush of all three.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the scene, the action and the camera. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio. |
| duration_seconds | COMBO | 5 | Output length: 5 or 10 seconds. Billed per second. |
| negative_prompt | STRING | Things the clip should avoid, written as a short list. | |
| guidance_scale | FLOAT | 0.500–1 | How strictly the clip follows the prompt, from 0 to 1. Higher is more literal, lower gives the model more freedom. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |