Kwaivgi Kling V3.0 Std First Last Frame (Channel Edition)
Kling V3 Std first-and-last-frame video
- images
- api_config
- video
- request_id
- urls
If you've got a beginning and an end already decided, you don't want a model inventing them - you want it to bridge them. That's what this node is for: feed Kling V3.0 Std your first frame and your last frame, and it generates the motion in between. It's the FLF (first-last-frame) mode, and it's the most underrated trick in the video toolbox for shots that need to land on a specific beat.
What it is
Another entry in BizyAirPlus's Kling channel - the "Std" tier of Kling V3.0, reached as a cloud model rather than local weights (Kling never shipped open). Where the T2V sibling starts from nothing but a prompt, this one starts from two images. The generation itself happens on BizyAir's cloud: no GPU load, no model files, just an API key from bizyair.ai and a request.
The workflow that shines here: generate your opening frame and your closing frame as images (Kling V3.0 supports image-to-image, or use any image model you like), then let FLF turn the space between into video. Character stays consistent because the model isn't guessing what the start looks like - it's interpolating with both endpoints pinned.
How it works
First-last-frame is a conditioning problem: the video model gets the start frame as a hard condition and the end frame as a target, then generates the sequence that plausibly moves from A to B. The catch, and it's a real one, is that plausibly is doing a lot of work - if your two frames disagree on lighting, wardrobe, or framing, Kling will happily mutate the subject to make the journey work. Keep the endpoints visually compatible and you'll get clean transitions; throw in a costume change and you'll watch the model do increasingly desperate things to reconcile it.
Inputs that matter
- images - your endpoint frames. The widget accepts a stack; the system adapts to the image ratio, so don't overthink resolution.
- duration - 3–15 seconds, default 5. Longer gives the motion more room but more chances to drift.
- prompt - describe the movement between the frames. "Camera pushes in, she turns to the window" beats leaving it blank.
- seed - lock it to reproduce a take;
-1for random. - sound - on by default; Kling V3 generates audio with the clip.
api_config and skip_error are the same as every BizyAir node: per-request credential override, and fail-with-placeholder instead of aborting the workflow.
Outputs
video feeds your SaveVideo/preview chain. request_id is the job id for billing or support. urls gives direct download links if you want the file outside ComfyUI.
Installing
ComfyUI Manager → search "BizyAirPlus", or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAirPlus.git
cd BizyAirPlus
python -m pip install -r requirements.txt
Restart, then turn the BizyAirPlus button ON and enter your API key when prompted (stored at ~/.BizyAirPlus/apikey.ini, or via BIZYAIR_API_KEY).
Where people get burned
Endpoint drift is the #1 complaint with any FLF node - mismatched frames make the model contort. Fix it upstream: generate the two frames from the same seed/character reference. Also note this is the paid Std tier; each request costs credits, so lock a seed and validate your prompt on short durations before committing to the full 15-second version. If a job errors with no visible cause, the console usually has the real reason - network or key issues top the list.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| images | COMFY_AUTOGROW_V3 | — | |
| duration | INT | 53–15 | Video length, in seconds, range 3-15 seconds |
| promptopt | STRING | Prompt words for video generation | |
| aspect_ratioopt | COMBO | 9:16 | Aspect ratio of video. When uploading the first frame, the system will automatically adapt the image ratio, this parameter is optional. |
| seedopt | INT | 0-1–2147483647 | Random seed, -1 means automatically generated |
| soundopt | BOOLEAN | true | Whether to turn on sound effects |
| 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 | — |