Nodes/KIE.ai Nodes Next/Kling 3.0 Omni Text to Video
ComfyUI Node

Kling 3.0 Omni Text to Video

Multi-shot planning, and the toggle pair you must not set both of

By felipederosilva·Created about a month ago·Updated about 21 hours ago· 3
Kling 3.0 Omni Text to Video
    • video
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄prompt►
    ◄duration5►
    ◄resolution720p►
    ◄aspect_ratio16:9►
    ◄multi_prompt[]►
    ◄elements[]►
    ◄audiofalse►
    ◄customize_multi_shotstrue►
    ◄prefer_multi_shotstrue►
    ◄timeout_seconds1200►
    ◄callback_url►

    The pitch

    Most text-to-video nodes give you one prompt and one shot. This one will cut. You write a scene, tell it whether you want a single continuous shot, a machine-planned sequence of shots, or a shot list you wrote yourself - and it comes back as an edited-feeling clip with audio and up to 4K output.

    Kling 3.0 Omni is Kuaishou's omnimodal tier, and unlike most of its siblings in this folder, this node has a full set of widgets. It's the closest thing in the pack to a proper director's console. KIE_Next_kling_3_0_omni_text_to_video_b4cce597, under KIE Next / Video / Kling.

    As always with this family: closed model, no weights, so the call goes out. Here it goes to KIE.ai - a third-party reseller with its own key and credits, not Comfy's official Partner Nodes. KIE is also the vendor that kept showing up as the cheap Nano Banana route in 2026, so the account is one you may already have.

    Multi-shot, or: the mutually exclusive pair

    Two booleans decide the whole shape of the output, and the documentation is explicit that they cannot both be true:

    • customize_multi_shots - you supply the shots yourself. Default true, which is a trap-ish default: when it's on, multi_prompt becomes required, must not be empty, and supports up to six shots.
    • prefer_multi_shots - the model plans the shot breakdown itself. Set this true and turn customize_multi_shots off.
    • Single continuous shot? Both false.

    Both false is legal. Both true is a rejected request - and the node doesn't stop you locally, so you'll wear the error from the provider. This is the single most likely reason your first run fails, so set the pair deliberately before you hit generate.

    The rest of the controls

    • prompt - required, up to 3072 characters. With customize_multi_shots on, this is the scene; the shot list carries the beats.
    • multi_prompt - JSON array of your shots, up to six. This is where manual multi-shot earns its keep: precise cuts in a specific order.
    • elements - JSON array of reusable subject assets (the one-time subject assets KIE documents: up to seven image subjects, up to three video-character subjects, with caps when you mix both). If you have a character you want held across shots, this is the hook.
    • audio - off by default. Turn it on for sound in the render.
    • resolution - 720p, 1080p, 4k. Real 4K is on the menu and priced accordingly; this same family was being called "ludicrously expensive" on r/StableDiffusion at ~$1.50 for a 5-second 1080p clip, so treat 4K as a finishing pass, not a preview setting.
    • aspect_ratio - 16:9, 9:16, 1:1.
    • duration - 3 to 15 seconds, default 5.
    • timeout_seconds - 1200 seconds. For 4K or a 15-second multi-shot render, raise it rather than re-queueing.

    Mechanism, briefly

    The node builds {"model": "kling-3.0-omni/text-to-video", "input": {...}}, POSTs to KIE's createTask, polls recordInfo with a growing interval (2.5s → 15s cap) until the task reports success, downloads the MP4 to output/KIE-Results/videos/ and wraps it as a native ComfyUI VIDEO. Everything is blocking - the node is a slow synchronous call wearing a graph node's clothes, which is why the timeout widget exists at all.

    Outputs

    video for the graph. url for the hosted file, all_urls_json for the raw list, task_id for support, raw_json for the provider's own explanation of a failure, credits_consumed and credits_left for the bill (printed on the node after each run too; -1 means the balance lookup failed, not that the job did). Scene edits are where these budgets quietly disappear, so watch that receipt for your first few multi-shot runs.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
    

    Restart, then Settings → KIE.ai Nodes Next → Connection and paste your KIE key - validated before it replaces anything, masked afterwards, with a ✅ CONNECTED row and your balance. KIE_API_KEY in the environment still works for servers and takes priority. Dependencies are just requests, Pillow, numpy, PyYAML; no ffmpeg stages, no extra model downloads. ComfyUI Manager install works if the pack shows up in the registry, and the repo has a ZIP plus a one-click Windows installer in dist/.

    Traps, in order of how often they'll get you

    1. Both multi-shot booleans true. Rejected. Read the two tooltips again.
    2. customize_multi_shots=true with an empty multi_prompt. Also rejected, by design.
    3. Malformed JSON in multi_prompt or elements. The node parses these locally and throws a clear "must contain valid JSON" error, which is a favour - you find out before spending credits.
    4. Clicking generate four times on one shot. Each click is a separate paid task. The poller is patient; trust timeout_seconds.
    5. A fresh install with no node in the menu. The pack builds its model nodes from KIE's documentation index at startup and re-syncs roughly daily. A restart and a minute usually fixes it.
    CategoryKIE Next/Video/Kling

    Inputs (11)

    NameTypeDefaultDescription
    promptSTRINGText description of the video. It must not be empty after leading and trailing whitespace is removed, and must not exceed 3,072 characters.
    durationoptCOMBO5Total video duration in seconds. The supported range is 3 to 15 seconds, and the default is 5 seconds.
    resolutionoptCOMBO720pResolution of the generated video. Available values are `720p` (outputs a 720p video), `1080p` (outputs a 1080p video), and `4k` (outputs a 4K video).
    aspect_ratiooptCOMBO16:9Aspect ratio of the generated video. Supported values are `16:9`, `9:16`, and `1:1`.
    multi_promptoptSTRING[]List of custom shots. When `customize_multi_shots` is `true`, this field is required, must not be empty, and supports up to 6 shots. When `customize_multi_shots` is `false`, it must be an empty array or omitted.
    elementsoptSTRING[]List of one-time subject assets. The default is an empty array. When using only multi-image subjects, up to 7 subjects can be uploaded. When using only video character subjects, the number of video character subjects must not exceed 3. When using both video character and multi-image subjects, the number of video character subjects must not exceed 3, and the number of multi-image subjects must not exceed 4.
    audiooptBOOLEANfalseWhether to add audio to the generated video. `true` enables audio; `false` disables audio.
    customize_multi_shotsoptBOOLEANtrueWhether to enable multi-shot mode. Explicitly specifying this value is recommended. `true` enables multiple shots; `false` uses a single shot.
    prefer_multi_shotsoptBOOLEANtrueWhether to enable intelligent shot planning. This field is mutually exclusive with `customize_multi_shots`. Both fields may be `false`, but they cannot both be `true`.
    timeout_secondsoptINT120030–7200—
    callback_urloptSTRINGOptional KIE callback URL. Leave empty for normal ComfyUI use.

    Outputs (7)

    NameTypeDescription
    videoVIDEO—
    urlSTRING—
    all_urls_jsonSTRING—
    task_idSTRING—
    raw_jsonSTRING—
    credits_consumedFLOAT—
    credits_leftFLOAT—