Google Veo3.1 Text To Video (Official Edition)
The standard text-to-video Official Edition
- api_config
- video
- request_id
- urls
This is the plain one, and by "plain" I mean the one that does what you think "Veo 3.1 in ComfyUI" should do. No Fast suffix, no Lite suffix, no Pro label - just "Google Veo3.1 Text To Video (Official Edition)," the standard tier of the flagship model, with the standard control set.
In a pack that ships the same schema across three tiers, the name is the spec sheet. Fast trades fidelity for speed, Lite trades fidelity for price, and this one is the default Veo 3.1 experience: prompt, resolution (720p default), duration (default 4), generate_audio (default true), plus optional negative_prompt, aspect_ratio (16:9), and seed. If you have no reason to pick a tier, pick this one.
Why you'd reach for it
Because "the standard one" is a legitimate answer to "which node should I use?" The Official Edition's control set is the real deal - seed for reproducibility, negative_prompt for steering away from the artifacts you keep hitting, generate_audio defaulting on so you actually get Veo's native audio instead of a silent clip. And 3.1's improved i2v, audio, and editing behavior is exactly what the community credited the 3.1 release with, so this is the node that shows all of it off. It's the one I'd reach for when a prompt finally feels right and I want to see what the model itself thinks of it.
How it works
Required: prompt, resolution, duration, generate_audio. Optional: negative_prompt, aspect_ratio, seed. The node submits through BizyAir's channel to Veo 3.1, polls until the render completes, and returns video (VIDEO - wire it to Save Video or a preview node), request_id (STRING - trace/usage ID), and urls (STRING - clip location). Nothing runs locally; the whole render happens on Google's hardware.
The api_config (BIZYAIR_OPENAPI_CONFIG) input overrides base_url and api_key for a single request, and skip_error makes a failed call output a placeholder instead of aborting the workflow.
Install and setup
Same one-time install as every node in this 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 downloads - the bizyair-cloudberry and bizytrd pip packages auto-install on startup. Click the BizyAirPlus button in the action bar to ON, create an account at bizyair.ai, enter the API key when prompted (or in Settings > BizyAirPlus > API Key), and queue.
Common issues
- Same prompt, different clip every time -
seedis at 0 by default, which most such APIs treat as "random." Pin an explicit seed when you need a repeatable shot. - Recurring artifacts - that's the
negative_promptinput's whole job. Name the specific failure, not a generic tag list. - Silent when you wanted sound - check
generate_audio; it defaults on, so if a clip is silent, someone turned it off. Native audio is the reason Veo exists in a lot of workflows.
Pack caveat, stated once for this pack's articles: BizyAir auto-installs and sends your prompts to the cloud. It's a legitimate SiliconFlow product, but keep the switch OFF for local-only sessions and be deliberate about what you send up.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Prompts | |
| resolution | COMBO | 720p | Resolution |
| duration | COMBO | 4 | Video duration |
| generate_audio | BOOLEAN | true | Audio |
| negative_promptopt | STRING | Back prompts | |
| aspect_ratioopt | COMBO | 16:9 | Aspect ratio |
| seedopt | INT | 0-1–2147483647 | Seeds |
| 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 | — |