Modelverse Kling V3 Omni
Video editing with a reference clip
- client
- first_frame_image
- last_frame_image
- url
- task_id
Where the plain Kling V3 node unifies text, image, and motion control, Kling V3 Omni is the multimodal escalation - the one with a refer_type that explicitly does video editing. Same cloud API story as the rest of the pack: no local weights, pay per run, UCloud's Modelverse servers doing the heavy lifting. This is the node for "I have footage and I want it changed" rather than "I have a prompt and I want footage."
What it is
Omni takes a reference video and a prompt and re-renders with your edits applied - restyle the scene, change the subject's outfit, extend the action. The key input is refer_type, which picks between two very different jobs:
- feature (default) - the reference video is a style/motion reference. You're borrowing its look or movement, not preserving its content.
- base - true video editing. The reference video is the source footage and you're modifying it.
Get that wrong and you'll wonder why your "edit this clip" produced an homage to the clip instead of a fixed version of it.
The inputs that matter
- client - required, from the Modelverse Client / Secret Client node.
- prompt - what changes. "Change the car to red," "make it night."
- first_frame_image / last_frame_image (or URLs) - optional bookend references for composition.
- reference_video_url - the source for editing or style. The heart of this node.
- refer_type -
featurevsbase, described above. - keep_original_sound - preserve the reference video's audio. Note the interplay: when a reference video is set,
soundmust be off. - element_id - a Kling element library ID; 0 skips it. Niche, ignore it until you know you need it.
- aspect_ratio - 16:9, 9:16, or 1:1 (required when there's no first frame or video to anchor on).
- duration - 3–15 seconds.
- mode -
std(720p) orpro(1080p). - sound - synchronized audio; forced off with a reference video.
Outputs are url + task_id; wire url through Modelverse Preview Video to download and view.
Installing and keying up
The whole pack installs at once. ComfyUI Manager → search "ComfyUl-UCloud" → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ucloud/comfyui-plugin
restart ComfyUI. Light deps (requests, pillow, numpy, openai, GitPython), no model downloads. You need a ModelVerse API key from the UCloud console - enter a secret name in the Modelverse Secret Client node (key stored in secrets.json, out of the workflow) or a config.ini MODELVERSE_API_KEY=... entry.
Common issues
- "It restyled instead of editing" -
refer_typewas onfeature. Switch tobasefor edits. - Audio errors -
soundis on while a reference video is set. The node requires it off; the error message is your friend. - Edits are loose - Omni is creative, not a pixel-perfect compositor. For surgical changes, crop tight or accept a second pass.
- "API key is not set" - the client node is empty. First thing to check, always.
- Billing - video editing of an existing clip tends to run longer than fresh generation, and the clock runs on your card. Draft at
stdbefore committing topro.
If you've ever hand-stacked a workflow to recolor footage, Omni in base mode is a different species of solution - one prompt instead of a chain of nodes.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| client | MODELVERSE_API_CLIENT | — | |
| prompt | STRING | Text prompt describing the desired video | |
| negative_promptopt | STRING | Negative prompt to avoid unwanted content | |
| first_frame_imageopt | IMAGE | First frame reference image | |
| first_frame_urlopt | STRING | First frame URL (use either this OR first_frame_image, not both) | |
| last_frame_imageopt | IMAGE | End frame reference image | |
| last_frame_urlopt | STRING | End frame URL (use either this OR last_frame_image, not both) | |
| reference_video_urlopt | STRING | Reference video URL for editing or style reference | |
| refer_typeopt | COMBO | feature | feature: style/motion reference; base: video editing |
| keep_original_soundopt | COMBO | no | Keep original audio from reference video |
| element_idopt | INT | 0 | Kling element library ID (0 to skip) |
| aspect_ratioopt | COMBO | 16:9 | Output aspect ratio (required without first-frame or video editing) |
| durationopt | INT | 53–15 | Video duration in seconds (3–15) |
| modeopt | COMBO | std | std: 720p, pro: 1080p |
| soundopt | COMBO | off | Generate synchronized audio (must be off when reference_video_url is set) |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| url | STRING | — |
| task_id | STRING | — |