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

Kling Video Omni

References in, video out, all in one prompt

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

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 (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—