ComfyUI Node

Kling VIDEO O1 Pro

The 'thinking' tier for edits that need more than a prompt pass

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

Kling O1 is the model people reach for when a plain text-to-video pass isn't enough - when the source clip needs to be re-cut, re-lit, or extended in a way that respects what was already there. The Pro tier is the one you use when that edit actually has to hold up. It's Kling's "O1" line through Runware's cloud: closed model, no weights, no local GPU, pay per render, and the node reports the cost honestly after every queue.

The community picked up on O1 fast for the weirder stuff - people are running it in ComfyUI workflows for things like dance grading and choreography edits, which tells you the model's motion understanding is the selling point, not just its polish. If you've got a clip that needs a coherent rewrite rather than a vibe, this is the node.

What you get

The node sends klingai:kling@o1 with a videoInference task to Runware's REST API via the runware-sdk, then downloads the MP4 and wraps it as a native VIDEO output. The inputs that actually matter:

  • video - source clip as a URL or UUID. This is the whole point of the model: prompt-based editing where output dimensions and duration inherit from the source.
  • positivePrompt - the edit instruction.
  • referenceImages, frameImages, referenceVideos - extra conditioning sockets.
  • width / height - direct pixel widgets at 1024 default, for text-only runs.
  • duration + duration_value - gated off by default, because this model has usage rules about duration. Enable it only when you need to force 3–15 seconds.
  • keepOriginalSound - carry the source clip's audio through.
  • numberResults - 1–4 variations per queue.

Notice there's no negativePrompt here and no size dropdown - O1 keeps it lean. The safety gate, ttl, outputFormat (MP4), and outputQuality groups stay at defaults.

The output

One video socket (type VIDEO) into Preview Video or Save Video. Old ComfyUI degrades it to a saved path string - update ComfyUI for the native type.

Installing it

Pack-level install, shared with every node in ComfyUI-Runware:

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

Restart, then set your key via ComfyUI Settings → Runware API key, RUNWARE_API_KEY, or runware auth login. Only the SDK, pillow, and soundfile - no model downloads.

Where people get burned

Same input trap as the rest of the pack: video wants a URL or UUID, never a local file path. The gated duration exists because O1 has usage rules - don't force 15 seconds on a clip the model would rather keep short, or you'll get a rejection or a worse result. And remember Pro is the expensive tier; if you're still exploring what O1 can do, run the Standard version first and spend Pro money on the keeper.

CategoryRunware/Video/klingai

Inputs (16)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
referenceImagesoptIMAGE
frameImagesoptIMAGE
referenceVideosoptRUNWARE_REFERENCEVIDEOS
videooptSTRINGVideo input (UUID or URL). Source video for prompt-based editing. Dimensions and duration match the input video.
sizeoptCOMBO1080p (1:1)Output size. Only one of resolution or dimensions is sent.
durationoptINT5Length 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.
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.

Outputs (1)

NameTypeDescription
videoVIDEO