Kwaivgi Kling Video O3 Pro First Last Frame (Channel Edition)
Two images, one considered transition
- first_frame_image
- last_frame_image
- api_config
- video
- request_id
- urls
The first-and-last-frame trick is the closest thing video models have to a director's storyboard: pin the opening image, pin the closing image, and let the model earn its keep on everything in between. This node is Kling O3's Pro tier doing exactly that, through the BizyAir cloud - and of all the FLF nodes in this pack, it's the one with the most control and the highest ceiling.
What it is
Another BizyAirPlus Kling channel node: no local weights, no GPU burn, just an API key and a request. O3 is Kling's current flagship line, Pro is its top quality tier, and FLF2V is first-and-last-frame-to-video. Where the Standard O3 FLF node is the budget version of the same trick, Pro spends the extra credits on tighter prompt adherence, more natural motion, and better audio - worth it for anything that has to look finished.
How it works
The node uploads your two frames as hard conditioning: the first image is where the video starts, the last is where it has to end, and the model generates a sequence that convincingly moves between them. O3's distinctive feature is multi-shot generation - instead of one continuous shot, it can break the transition into several planned shots (multi_shot on by default), each driven by its own prompt in the multi_prompt JSON. That turns FLF from a simple morph into something closer to a tiny edit.
Inputs that matter
- first_frame_image - required. The shot the video opens on.
- last_frame_image - optional, and it's the whole gimmick: the shot the video must land on.
- prompt - required, and it should describe the journey between the frames, including camera movement.
- duration - 3–15 seconds, default 5.
- sound - on by default; O3 generates audio natively.
- multi_shot / multi_prompt / shot_type - the multi-shot controls. Leave
shot_typeat "intelligence" to let the model plan the beats, or switch to "customize" and write per-shot prompts yourself.
api_config and skip_error are the standard pack options.
Outputs
video feeds SaveVideo/preview. request_id is the job id. urls are direct links to the rendered files.
Installing
ComfyUI Manager → search "BizyAirPlus", or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAirPlus.git
cd BizyAirPlus
python -m pip install -r requirements.txt
Restart, flip the BizyAirPlus button to ON, and drop in your BizyAir API key from bizyair.ai (stored at ~/.BizyAirPlus/apikey.ini, or set BIZYAIR_API_KEY).
Where people get burned
The usual FLF failure mode, plus a Pro-tier-specific one. The usual: mismatched endpoint frames - different lighting, different outfit, different framing - and the model will mutate the subject to bridge the gap; generate both frames from the same reference and you're safe. The Pro-specific one: multi-shot defaults are on, so if you don't supply multi_prompt you're paying Pro prices for a model that's improvising your shot list. Set shot_type to "customize" and write the JSON when the edit matters. And remember every frame is metered - validate on a 3-second single shot before you commit to the full cut.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| first_frame_image | IMAGE | First image. | |
| prompt | STRING | Prompts. | |
| duration | INT | 53–15 | Video length in seconds. |
| sound | BOOLEAN | true | Turn sound on or off. |
| last_frame_imageopt | IMAGE | End frame picture, optional. | |
| multi_promptopt | STRING | Multi-shot prompt word configuration, JSON format. | |
| 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 | — |