Nodes/ComfyUI-Kling-Direct/Kling Video Omni
ComfyUI Node

Kling Video Omni

References in, video out, all in one prompt

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 4
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

Text-to-video treats your words as the only input. KlingDirect_VideoOmni is the node for when the scene depends on what's in a picture or a clip: give it up to two reference images and a reference video, then write a prompt that weaves them together. It's Kling's Omni model - the "understand and reuse these references" line of the API - and it's how you get "this character, in this room, doing this" without training anything.

The reference syntax is the thing to learn: in the prompt, you refer to your attached inputs by name. @image1, @image2, and @video1 are the handles - "the person from @image1 walks into the scene from @video1." The images arrive through the image_1 / image_2 IMAGE sockets, the video through video_url (a hosted URL, not a tensor - local clips need hosting first, via the pack's Cloud Uploader if needed). This is the same @-reference grammar the pack advertises across its nodes, and here it's load-bearing.

What you set

  • prompt - the scene description, using @image1, @image2, @video1 to pull in your references.
  • model_name - kling-video-o1 (default) or kling-v3-omni. o1 is the reference-heavy omni model; v3-omni is the v3 line with omni inputs.
  • duration - 5, 10, or 15 seconds.
  • aspect_ratio - one of the standard seven; default 16:9.
  • mode - pro or std.

The optional inputs are image_1, image_2, and video_url. You don't have to use all of them - a single reference image is a valid and common setup - but the prompt should only reference what you actually connected, or Kling will ask for input you didn't provide.

Outputs

The standard five: video (frames as IMAGE), video_file, audio, url, task_id. For reference-driven work, video and task_id are the ones you'll chain downstream.

Install and what it needs

Part of ComfyUI-Kling-Direct: ComfyUI Manager → search "Kling Direct" → install, or git clone https://github.com/IxMxAMAR/ComfyUI-Kling-Direct into ComfyUI/custom_nodes, then restart. No model downloads; needs Kling keys from https://app.klingai.com/global/dev (KYC required) via the Kling AI Authentication node or env vars, correct region selected. Same shared setup as every node in the pack.

Where people get burned

  • References in the prompt but not the sockets. The @ handles only resolve if the corresponding input is connected. Referencing @video1 with an empty video_url is a server-side failure.
  • References in sockets but not the prompt. Connected but unnamed inputs aren't used. The prompt is the contract - say what each reference is for.
  • Hosted-only video references. video_url can't take a local path. Host the clip first (the pack's Cloud Uploader is built for exactly this) or use image_1/image_2 instead.
  • Cost. Omni is a full video generation job, metered and multi-input - among the pricier calls in the pack. Draft with std and one reference, expand when the composition holds.

If your reference set is just a single starting frame with no second image or video, the plain Image to Video node in the pack is simpler and cheaper - Omni earns its complexity when the prompt genuinely juggles multiple references.

CategoryKling AI/Video

Inputs (9)

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.
image_1optIMAGE
image_2optIMAGE
video_urloptSTRINGURL of a reference video for omni generation.

Outputs (5)

NameTypeDescription
videoIMAGE
video_fileSTRING
audioAUDIO
urlSTRING
task_idSTRING