ComfyUI Node

Kling VIDEO 3.0 Omni Pro

The middle tier that most reference-video edits deserve

By Runware·Created 2 years ago·Updated about a month ago· 140
Kling VIDEO 3.0 Omni Pro
  • referenceImages
  • frameImages
  • referenceVideos
  • video
video
positivePrompt
size1080p (16:9)
duration5
numberResults1
providerSettings.klingai.keepOriginalSoundfalse
safetyfalse
safety.checkContentfalse
safety.modefast
providerSettings.klingai.soundfalse
ttlfalse
ttl_value60
outputFormatMP4
outputQuality95
advanced_json

If the Omni line is Kling's "reference-video re-shoot" model, Omni Pro is the version most people should actually queue. It renders at 1080p, which is where the sweet spot between quality and per-generation cost tends to land - 4K is for hero shots, 720p is for iterating, and Pro sits in the middle where the final result usually lives.

The model is Kling 3.0's "Omni" (o3) family, served through Runware's cloud, which means you get Kuaishou's closed video model without owning the hardware for it. That's the whole bargain of this pack: the node is thin, the model is someone else's, and your job is picking good inputs. There are no local weights to manage and nothing to download.

How it works

Like every node in ComfyUI-Runware, this one turns its widgets into a request dict - model AIR klingai:kling-video@o3-pro, videoInference task - sends it to Runware's API over REST via the runware-sdk, then downloads the returned MP4 and wraps it as a native VIDEO tensor-friendly object you can feed straight into Preview Video or Save Video. The node shows the cost and any NSFW flag from the content check after each run.

The point of "Omni" is that it accepts a reference video plus prompt and edits it, instead of only text-in. So the star input is video (a URL or UUID of your source clip - dimensions and duration inherit from it), and positivePrompt describes the change. frameImages, referenceImages, and referenceVideos add more conditioning, wired in as IMAGE tensors.

The settings you'll touch

  • size - 1080p (16:9), (1:1), or (9:16), or 1080p (from input). Only one of resolution or dimensions is sent, so the dropdown wins over anything else.
  • duration + duration_value - gated off by default because the model has usage rules about duration; flip it on only if you need to force 3–15 seconds.
  • sound - native audio generation, and keepOriginalSound to carry the reference video's audio over.
  • numberResults - 1–4 variations, each on a different seed. This is the fastest way to find a keeper, and the fastest way to burn your credit.

Everything else - the safety, ttl, outputFormat, and outputQuality groups - can stay at defaults. Output format defaults to MP4 with quality 95, which is right for almost everything.

Installing

The whole pack is one install, and you only do it once for all these nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

Restart ComfyUI, then drop your key into ComfyUI Settings → Runware API key, or set RUNWARE_API_KEY. Nothing heavy installs - the requirements are the SDK, pillow, and soundfile.

The gotcha to remember

The video socket takes a URL or UUID, never a local path - upload the clip first or host it somewhere reachable. And since this is pay-per-render, don't discover numberResults by accident. Pro at 1080p is the "good enough that you stop tweaking" tier; treat the Omni Standard node below it as your scratchpad.

CategoryRunware/Video/klingai

Inputs (18)

NameTypeDefaultDescription
referenceImagesoptIMAGE
frameImagesoptIMAGE
referenceVideosoptRUNWARE_REFERENCEVIDEOS
videooptSTRINGVideo input (UUID or URL). Source video for prompt-based editing. Dimensions and duration match the input video.
positivePromptoptSTRINGText prompt describing elements to include in the generated output.
sizeoptCOMBO1080p (16:9)Output size. Only one of resolution or dimensions is sent.
durationoptINT53–15Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
providerSettings.klingai.keepOriginalSoundoptBOOLEANfalseMaintain the original sound from the reference video.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
safety.modeoptCOMBOfastSafety checking mode for video generation.
providerSettings.klingai.soundoptBOOLEANfalseEnable native audio generation.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP4File format for the generated video.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.
advanced_jsonoptSTRINGOptional JSON merged into the request. For: inputs.elements, providerSettings.klingai.multiPrompt

Outputs (1)

NameTypeDescription
videoVIDEO