Nodes/BizyAirPlus/Google Veo3.1 Fast First Last Frame (Official Edition)
ComfyUI Node

Google Veo3.1 Fast First Last Frame (Official Edition)

Veo 3.1 Fast first-last-frame video, Official Edition — full control, fast tier

By siliconflow·Created 5 months ago·Updated about a month ago· 20
Google Veo3.1 Fast First Last Frame (Official Edition)
  • first_frame_url
  • last_frame_url
  • api_config
  • video
  • request_id
  • urls
prompt
resolution720p
duration4
generate_audiotrue
negative_prompt
aspect_ratio16:9
seed0
skip_errorfalse

Read the display name carefully, because it's the whole story: "Google Veo3.1 Fast First Last Frame (Official Edition)." The class says I2V, but this is the first-last-frame variant - you give it a starting frame and an ending frame, and the Fast tier fills in the video between them, with the full Official Edition control set on top.

That control set is what separates this from the Channel Edition FLF nodes: duration, generate_audio, negative_prompt, seed, and aspect_ratio are all exposed. So you're not just "start here, end there" - you're start here, end there, over this many seconds, with this audio toggle, pushed away from these artifacts, reproducibly seeded. For a specific tier of job - storyboard transitions, loopable b-roll, a two-pose character shot - this is arguably the most useful node in the entire Veo family.

Why you'd reach for it

Because FLF is the mode where you have the most control over the outcome, and the Official Edition is where you have the most control over the FLF. The Fast tier keeps it quick and affordable enough to iterate on. Set a seed to lock a transition you like, use negative_prompt to kill the flicker or warping that keeps showing up, and leave generate_audio on - native audio is Veo's signature capability and there's no reason to throw it away by default.

How it works

Required: first_frame_url (IMAGE - the opening frame), prompt, resolution (720p default), duration (default 4), generate_audio (default true). Optional: last_frame_url (IMAGE - the destination frame), negative_prompt, aspect_ratio (16:9 default), seed. Note the inputs are named for what the provider's API expects - a URL - but you wire in normal IMAGE tensors and the node handles the hosting side.

On queue the node uploads both frames, submits to Veo 3.1 Fast through BizyAir's channel, polls, and returns video (VIDEO - preview or save like any local render), request_id (STRING), and urls (STRING). The optional api_config (BIZYAIR_OPENAPI_CONFIG) overrides base_url/api_key per request; skip_error swaps a failed call for a placeholder so the workflow survives.

Install and setup

One-time install, identical across the pack:

cd 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). No model files - the bizyair-cloudberry and bizytrd pip packages auto-install on startup. Click the BizyAirPlus button to ON, get an API key from bizyair.ai, enter it, and queue.

Common issues

  • Transition doesn't match the frames - FLF bridges plausibly, not deterministically. Mismatched lighting or composition makes the middle invent a jarring bridge; make the frames agree.
  • Last frame ignored - if last_frame_url is unconnected, you've silently got plain image-to-video. Check the wire.
  • Audio shows up unwanted - generate_audio defaults on; turn it off for silent drafts.

Pack caveat: BizyAir auto-installs and sends your images to the cloud. Legitimate SiliconFlow product, but keep the switch OFF for local-only sessions.

CategoryBizyAirModelServices/BizyTRD/Veo

Inputs (11)

NameTypeDefaultDescription
first_frame_urlIMAGEFirst image
promptSTRINGPrompts
resolutionCOMBO720pResolution
durationCOMBO4Video duration
generate_audioBOOLEANtrueAudio
last_frame_urloptIMAGEEnd frame picture
negative_promptoptSTRINGBack prompts
aspect_ratiooptCOMBO16:9Aspect ratio
seedoptINT0-1–2147483647Seeds
api_configoptBIZYAIR_OPENAPI_CONFIG单次请求覆盖base_url和api_key
skip_erroroptBOOLEANfalse开启后遇到错误不中断工作流,输出对应类型的错误占位符

Outputs (3)

NameTypeDescription
videoVIDEO
request_idSTRING
urlsSTRING