Nodes/ComfyUI-API-Toolkit/Kling Video Omni
ComfyUI Node

Kling Video Omni

The catch-all video node (text + images + reference clip)

By IxMxAMAR·Created 6 months ago·Updated 3 days ago· 1
Kling Video Omni
  • auth
  • image_1
  • image_2
  • video
  • video_file
  • audio
  • url
  • task_id
◄prompt►
◄model_namekling-video-o1►
◄duration5►
◄aspect_ratio16:9►
◄modepro►
◄video_url►
◄soundtrue►
◄element_ids►
◄shot_list►
◄video_refer_typebase►
◄keep_original_sounddefault►

This is the flagship of the Kling half of the pack, and it's the node you'll actually want to reach for first. Kling Video Omni is the unified-input generation node: you give it a text prompt and optionally one or two images, a reference video, or any mix - and it produces a finished video. Where the pack's other video nodes are one-trick ponies (text-to-video, image-to-video), Omni lets you build a multi-input generation in a single node. It's the API equivalent of a "multi-modal prompt" node, and the syntax for pointing at your inputs is the one thing you need to get right.

How it works

You write a normal prompt, and inside it you reference your extra inputs with @image1, @image2, or @video1. For example:

A cinematic shot of the character from @image1 running through a neon alley, rain on the ground

The node rewrites those references into Kling's <<<image_1>>> placeholder tokens before the request goes out, then submits the job and polls it - Kling video is fully async, so expect a wait measured in minutes, not seconds. Two models are on offer: kling-video-o1 (the default, the reasoning-style flagship) and kling-v3-omni. If you have no strong opinion, keep the default and experiment later.

The inputs that matter

  • prompt - the text, with @image1 / @image2 / @video1 sprinkled in to reference the optional inputs. Without a reference, this node is just a text-to-video generator.
  • duration - 5, 10, or 15 seconds. Longer costs more and waits longer; 5 is the sane default for testing.
  • aspect_ratio - 16:9, 9:16, 1:1, and four more. Pick your canvas up front; you can't crop your way out of a bad ratio later.
  • mode - pro or std. Pro is the quality tier and the one you'll mostly use; std is the cheaper/faster tier for drafts.
  • model_name - the omni model version (kling-video-o1 default).

The optional inputs are image_1 and image_2 (IMAGE tensors - from a Load Image, the Kling Video Loader, or anything else that produces frames) and video_url, which is where the trap lives.

The reference-video trap

video_url expects a hosted URL, not a local file. You can't drag a clip in - if your reference video is sitting in your input folder, you need to get it onto the internet first. This pack ships cloud uploader nodes (Kling AI Cloud Uploader) precisely for this: upload the clip, copy the returned URL, paste it into video_url. Locally-loaded frames go in via image_1/image_2 instead. Mixing those up is the number one source of "my reference video isn't doing anything" confusion.

Outputs and installing

It returns the standard Kling video bundle: video (frames as IMAGE), video_file (path to the downloaded .mp4), audio (the soundtrack), url (hosted link), and task_id (feed that into Kling Video Extend to continue the clip, or into upscale). Install via ComfyUI Manager (search "API Toolkit") or:

cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
cd ComfyUI-API-Toolkit
pip install -r requirements.txt   # requests + PyJWT for Kling

Wire the auth output from Kling AI Authentication into this node's auth input. Keep in mind this is a paid API call on a closed model - every queue run fires a fresh job, your inputs leave the machine, and Kling's content moderation applies with no local bypass. If a job fails, the console shows the Kling error (usually a moderation refusal, a balance issue, or a malformed reference URL).

CategoryAPI Toolkit/Kling AI/Video

Inputs (14)

NameTypeDefaultDescription
authKLING_AUTH—
promptSTRINGText prompt. Use @image1, @video1 to reference optional inputs.
model_nameCOMBOkling-video-o1Omni model version.
durationCOMBO5Video duration in seconds.
aspect_ratioCOMBO16:9Output video aspect ratio.
modeCOMBOproGeneration mode. 4k is supported by kling-v3-omni.
image_1optIMAGE—
image_2optIMAGE—
video_urloptSTRINGURL of a reference video for omni generation.
soundoptBOOLEANtrueGenerate sound with the video. Always off when a reference video is used.
element_idsoptSTRINGElement IDs from the Kling element library (see Create Element), comma separated. Reference them in the prompt as <<<element_1>>>.
shot_listoptSTRINGMulti-shot storyboard, one shot per line as 'seconds|prompt' (up to 6 shots; seconds must add up to duration). Leave blank for a single shot.
video_refer_typeoptCOMBObaseHow the reference video is used: base = the video to edit, feature = a style/camera/next-shot reference.
keep_original_soundoptCOMBOdefaultKeep the reference video's original audio. 'default' leaves it to Kling.

Outputs (5)

NameTypeDescription
videoIMAGE—
video_fileSTRING—
audioAUDIO—
urlSTRING—
task_idSTRING—