Kwaivgi Kling Video O3 4k Reference To Video (Channel Edition)
4K video grown from a single reference shot — Kling O3's R2V
- images
- api_config
- video
- request_id
- urls
Reference-to-video is the mode that made Kling a staple of "teleport into another world" content: you hand it a photo or a character shot, and it animates that exact subject into a scene. This node is the 4K version of that, on Kling's O3 line, and it's the one you want when the whole point is that specific person or object staying recognizable at high resolution.
What it is
Another BizyAirPlus Kling channel node - cloud execution through BizyAir, no local model, API key required. O3 is Kling's newer, more capable generation line (the one people name as their Sora 2 replacement in 2026), and "4k" here means the output is rendered at 4K rather than the 1080p the standard tiers cap out at. R2V means reference-to-video: your input images define who/what appears, and the prompt defines what happens.
How it works
The reference images get encoded as identity conditions, then the model animates that identity through your described action. Because the identity is pinned from actual pixels rather than a text description, R2V is dramatically better at keeping a face or a product consistent than text-to-video ever is - which is why it dominates character-consistency workflows and face-consistent trend videos. The tradeoff is that you're paying for both the O3 line and 4K resolution, so this is the priciest node in the Kling set. Budget accordingly.
Inputs that matter
- prompt - required, and this is a shot prompt: describe the action, camera, and scene. It's in the required block, so no lazy defaults.
- images - your reference shots. A clean, well-lit reference gets you a far better result than anything the prompt can fix.
- duration - 3–15 seconds, default 10. At 4K, every second costs; 10 is a lot of bill.
- multi_shot - whether to generate a multi-shot video (default on). This is O3's storytelling feature: several shots stitched into one clip.
- multi_prompt - if multi_shot is on, a JSON block of per-shot prompts that controls what each shot does.
- shot_type - "intelligence" (the model decides shot breakdown) or "customize" (you drive it via multi_prompt).
- sound - on by default; O3 generates audio.
api_config and skip_error behave as usual across the pack.
Outputs
video → SaveVideo/preview. request_id is the cloud job ID. urls are direct links to the 4K files.
Installing
ComfyUI Manager → "BizyAirPlus", or:
cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAirPlus.git
cd BizyAirPlus
python -m pip install -r requirements.txt
Restart, toggle the BizyAirPlus button ON, and enter your BizyAir API key from bizyair.ai (saved to ~/.BizyAirPlus/apikey.ini).
Where people get burned
Three things. First: cost - 4K + O3 + multi-shot is the most expensive combination in this pack, so prototype on the Std tiers first. Second: multi-shot surprises - if you don't touch multi_prompt, the model is improvising your story beats; set shot_type to "customize" and drive the JSON yourself when the edit matters. Third: reference quality - a bad reference gives you a high-res video of a bad reference. Also note that even the best closed video models read as "too clean and cinematic" for that raw found-footage aesthetic people chase in R2V trends; if that's your target, expect to degrade the output in post.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Prompts. | |
| duration | INT | 103–15 | Video length in seconds. |
| sound | BOOLEAN | true | Turn sound on or off. |
| imagesopt | COMFY_AUTOGROW_V3 | — | |
| multi_promptopt | STRING | Multi-shot prompt word configuration, JSON format. | |
| aspect_ratioopt | COMBO | 16:9 | Output aspect ratio. |
| shot_typeopt | COMBO | intelligence | Type of shot. Customize is for customization and intelligence is for intelligence. |
| multi_shotopt | BOOLEAN | true | Whether to generate multi-shot video. |
| api_configopt | BIZYAIR_OPENAPI_CONFIG | 单次请求覆盖base_url和api_key | |
| skip_erroropt | BOOLEAN | false | 开启后遇到错误不中断工作流,输出对应类型的错误占位符 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| request_id | STRING | — |
| urls | STRING | — |