Kling - V3 Turbo Image to Video
A free-text duration field, which is either handy or a trap
- image_urls
- video
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
What it is
V3 Turbo is the current-speed tier of Kling's third generation: faster and cheaper than the Omni flagships, more capable than the V2.x line. This node takes your still and animates it - with a mandatory prompt, a 720p/1080p resolution choice, and any duration from 3 to 15 seconds.
KIE_Next_kling_v3_turbo_image_to_video_1caa8743, in ComfyUI-KIE-Nodes-Next, KIE Next / Video / Kling. Kuaishou's closed model, no downloadable weights, so the render is a paid call to KIE.ai on a KIE account - the third-party reseller path, not ComfyUI's official Partner Nodes.
Inputs
- image_urls (
IMAGE, required) - the first frame. Despite the plural name (it's KIE's field name, and on other endpoints it accepts a batch) this socket takes your image happily; the pack uploads it for you as PNG. - prompt - required, up to 2500 characters. On image-to-video the useful prompt describes motion, not the picture. The shipped default is a chatty two-character villa scene with dialogue; you don't need that. "She turns her head toward the window, curtain drifts, slow dolly in" is the register.
- duration - and here's the thing: it's a plain text field, not a dropdown. KIE documents
3s–15s, the default is5, and you type whatever you want. That means you can send7and mean it, and you can also typo7sorsevenand find out the hard way. Treat it as a text box with a known-good vocabulary: digits. - resolution -
720por1080p. No 4K here; that's the Omni tier. - timeout_seconds - 1200 seconds of polling. callback_url - leave empty.
Note what's absent: no seed, no negative prompt, no cfg. The V3 Turbo endpoints are leaner than the V2.x ones. If you liked tuning cfg_scale on V2.1 Master, that dial doesn't exist on this node.
Mechanism
Upload the image, POST the job to KIE's createTask (kling/v3-turbo-image-to-video), poll recordInfo until the task reports success - interval growing from ~2.5s toward a 15s cap, with retries and backoff handled inside the client for 429s and transient server errors - then download the MP4 into output/KIE-Results/videos/ and return it as a native ComfyUI VIDEO. Downstream, it behaves like any clip: save it, extract frames, upscale it locally, chain it into an interpolation node.
Because a 15-second render can genuinely take a while, and because the poller gives up with a message telling you the state and progress it last saw, raise timeout_seconds rather than resubmitting. Resubmitting is a second bill.
Outputs
video, url, all_urls_json, task_id, raw_json, credits_consumed, credits_left. The credit receipt prints on the node after each successful run, which is the fastest way to learn what 1080p for 12 seconds costs before you plan a twelve-shot sequence. credits_left returning -1 means KIE's balance endpoint was unavailable for that check; the render is fine.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
Restart ComfyUI, then Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. Validation happens before the key is stored, the frontend only sees a masked fingerprint, and you get a ✅ CONNECTED row plus your balance. Servers can set KIE_API_KEY instead; it takes priority. Dependencies are requests, Pillow, numpy and PyYAML, nothing more. Manager install works where the pack is listed, and the repo ships a ZIP plus a one-click Windows installer under dist/.
Traps
- A junk
duration. It's free text. Digits only. If a job fails on an unhelpful provider error, check this field first. - Prompting the image you already sent. Describe the change.
- Expecting cheap at 15 seconds. Duration scales the cost. Test at 5 seconds, then go long once you like the motion.
- Missing node on a fresh install. The pack generates model nodes from KIE's documentation index at startup and re-syncs at most once per day; the first launch shows a small bootstrap set. Restart and check again in a minute.
- Video-output errors about
comfy_api.latest. Your ComfyUI build is too old to wrap the downloaded clip as aVIDEO. Update ComfyUI.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image_urls | IMAGE | — | |
| prompt | STRING | Outdoor terrace of a European villa, by a dining table with a blue and white checkered tablecloth, a young white woman in a blue and white striped short-sleeve shirt and khaki shorts, with a brown belt, sits barefoot, opposite a young white man in a white T-shirt. The camera zooms in, the woman swirls the juice in a glass, her eyes looking at the distant woods, and says, "These trees will turn yellow in a month, won't they?" Close-up of the man, he lowers his head and says, "But they'll be green again next summer." Then the woman turns her head, smiles at the man opposite, and says, "Are you always this optimistic? Or just about summer?" Then the man lifts his head, looks at the woman and says, "Only about summers with you." | The text prompt describing the video to generate (Max length: 2500 characters) |
| duration | STRING | 5 | The duration of the generated video in seconds Optional duration: 3s - 15s |
| resolution | COMBO | 720p | Resolution of the generated video (720p or 1080p) |
| 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 | — |