Kling VIDEO 3.0 Omni Standard
The cheap way to iterate on reference-video edits
- referenceImages
- frameImages
- referenceVideos
- video
Omni Standard is the cheapest rung of Kling's reference-video editing ladder, and it exists for a very practical reason: iterating on a prompt costs money, so you want the cheapest tier that still tells you whether an idea works. At 720p it's squarely in "moodboard and motion test" territory. When you nail the prompt here, you re-queue the same thing on Pro or 4K and pocket the difference.
It's the same Omni (o3) family as its bigger siblings, but budget-sized, served through Runware's cloud via the ComfyUI-Runware pack. Closed model, no weights, no local GPU. Your whole machine does is hold the prompt and wait.
How it works
Nothing special under the hood - that's the point of the pack. The node builds a request with model AIR klingai:kling-video@o3-standard and videoInference task, ships it to Runware's REST API through runware-sdk, then downloads the resulting MP4 and hands it back as a native VIDEO output. Feed that into Preview Video or Save Video. The node prints per-run cost and, when a content check runs, the NSFW result - useful here because you'll be queuing a lot of cheap tests.
Inputs that earn their keep
video- your source clip as a URL or UUID. Output dimensions and duration follow the input.positivePrompt- the edit instruction. This is where 90% of the work happens.frameImages/referenceImages/referenceVideos- extra conditioning sockets.size- 720p (16:9) or (9:16),960p (1:1)(yes, square gets bumped to 960p), or720p (from input).soundandkeepOriginalSound- generate native audio or carry the reference's track.numberResults- 1–4 variations per queue. Great for testing, murder on a budget.
duration is a gate with a separate duration_value (3–15s) because Kling's Omni models have usage rules about it - it stays off until you enable it, and the model's default applies otherwise. Leave safety, ttl, outputFormat (MP4), and outputQuality alone unless you have a reason.
Installing it
One install for every node in the pack:
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, the RUNWARE_API_KEY env var, or runware auth login. No model downloads - dependencies are just the SDK, pillow, and soundfile.
Where people trip up
Same two traps as every Runware video node: the video field wants a URL or UUID, not a local file path, and if you see "No Runware API key" the Settings field didn't save. The subtler one is expecting Omni Standard output to look like the 4K demo reels - it won't. It's the scratchpad tier. Find the idea here, spend the real money on Pro or 4K.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| referenceImagesopt | IMAGE | — | |
| frameImagesopt | IMAGE | — | |
| referenceVideosopt | RUNWARE_REFERENCEVIDEOS | — | |
| videoopt | STRING | Video input (UUID or URL). Source video for prompt-based editing. Dimensions and duration match the input video. | |
| positivePromptopt | STRING | Text prompt describing elements to include in the generated output. | |
| sizeopt | COMBO | 720p (16:9) | Output size. Only one of resolution or dimensions is sent. |
| durationopt | INT | 53–15 | Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps). |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| providerSettings.klingai.keepOriginalSoundopt | BOOLEAN | false | Maintain the original sound from the reference video. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| providerSettings.klingai.soundopt | BOOLEAN | false | Enable native audio generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
| advanced_jsonopt | STRING | Optional JSON merged into the request. For: inputs.elements, providerSettings.klingai.multiPrompt |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |