Vidu Q3 Pro Start End To Video (Channel Edition)
Vidu Q3 Pro first-last-frame, the cheap channel edition — bookend your shots
- first_frame_image
- last_frame_image
- api_config
- video
- request_id
- urls
Vidu Q3 is the API-only video model that has the community reaching for superlatives about character expressions, and the Pro tier is the quality one. This node is the "Start End To Video" flavor in the Channel (Base) edition - the leaner, typically cheaper route to the same model, with the knobs trimmed to just what a shot needs.
What this node does
BizyTRD_Vidu_Q3_Pro_Base_FLF2V_API animates between a first and last frame. You hand it a start image, an end image, and a prompt, and it invents the motion in between - the tool for match cuts, locked-in shot endings, and storyboard in-betweening. The Channel edition keeps this focused: no seed control, no recommendation-prompt upsell, no off-peak mode. Just the shot.
It's cloud execution like every BizyTRD node: flip the BizyAirPlus button ON, the model runs on BizyAir's servers, and ComfyUI streams back the clip. Nothing runs on your GPU.
The inputs that matter
first_frame_image/last_frame_image- the two bookends, both required.prompt- 1–4000 characters describing the motion between them.resolution- 720P by default.duration- a combo, 1–16 seconds.style-generalby default, with options for different looks.movement_amplitude-autoby default; dial it down if the model is getting too twitchy between your anchors, up if it's too stiff.audio- on by default. Q3 syncs dialogue and sound effects to the video; flip off for silent.
Shared BizyAir extras: api_config (per-request endpoint/key override) and skip_error (error placeholder instead of workflow abort).
Outputs
video- the finished clip; wire into a preview or save node.request_id- cloud task ID for logs and support.urls- hosted URLs for the result.
How to install
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAirPlus.git
cd BizyAirPlus
python -m pip install -r requirements.txt
Restart ComfyUI (or install "BizyAirPlus" via ComfyUI Manager). Deps: bizyair-cloudberry and bizytrd; no model files. First run: account at bizyair.ai → API key → enter when the ON button prompts (Settings > BizyAirPlus > API Key; key at ~/.BizyAirPlus/apikey.ini).
Where people get burned
First-last-frame is the most sensitive mode to mismatched anchors: if your start and end frames are wildly different, the model has to invent a bridge and it usually shows. Keep the two frames visually related - same subject, related composition - and let the prompt carry the transition.
The other one is pricing. The Channel (Base) edition exists to be the cheaper route, but remember every queue is a billed cloud task; if you're iterating on the motion, iterate at low resolution and short duration first. And the pack gotcha: BizyAir's malware reputation is leftover from a 2025 ComfyUI Manager auto-install bug - it's a legitimate SiliconFlow pack, and if you remove it, do it with pip uninstall bizyair-cloudberry bizytrd, not by deleting the folder.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| first_frame_image | IMAGE | Input the first frame picture as the start frame of the video generation | |
| last_frame_image | IMAGE | Enter the last frame picture, as the end of the video generated frame | |
| prompt | STRING | Video generation prompts, 1-4000 characters | |
| resolution | COMBO | 720P | Output resolution |
| duration | COMBO | 5 | Video length, in seconds, q3-pro available range 1-16 seconds |
| style | COMBO | general | Style of video generation |
| movement_amplitude | COMBO | auto | The range of motion of an object in a picture |
| audio | BOOLEAN | true | Whether audio and video synchronization generation is enabled. True: outputs video with dialogue and sound effects; false: outputs silent 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 | — |