Gemini 3.1 Pro (Preview)
Gemini 3.1 Pro VLM — the preview-tier vision node for judging your own output like a harsh reviewer
- images
- api_config
- result
- request_id
Some vision jobs deserve more than a glance. The Flash-Lite VLM node is fine for "caption this," but when the task is judging - checking a character's anatomy against a spec, deciding whether an edit actually honored the instruction, quality-routing a batch of renders - you want the model that reasons about what it sees. This is Gemini 3.1 Pro doing that, hosted by Google, paid through your BizyAir key, inside a single ComfyUI node. The "(Preview)" label is Google's, and it's accurate: this is the flagship vision tier in a preview window.
The workflow shapes are the fun part. Generate → wire into this node with a strict rubric → get a pass/fail verdict → branch the graph on the result. That's a genuinely different way to run ComfyUI than generating until you eyeball something you like, and it's the kind of automation the community keeps reaching for.
Inputs and outputs
- images - required, auto-growing (
COMFY_AUTOGROW_V3), up to 900 per request. Multiple reference frames in one call is fine. - system_prompt - required. Set the rubric: "You are a strict art director. List every deviation from the reference."
- user_prompt - required. The judgment task.
- detail - combo, default
low. Set high for fine-detail checks (fingers, text, small objects). The tooltip says it plainly: it's the level of detail in the picture. - temperature - 0 to 2, default 1.
- max_tokens - default 32768.
- enable_thinking - default false. For judging tasks, thinking on is usually the whole point - Pro's reasoning is why you're paying for Pro.
Outputs: result (STRING) and request_id.
How it works
Images and prompts serialize up to the gemini-3.1-pro-official/vision endpoint, the cloud runs the vision pass, and the text comes back. Standard BizyAir polling. Nothing runs locally, which is the trade: this is a judgment call paid per image, so it's for the batches and the quality gates, not for idle curiosity about every frame.
Gotchas
detaillow defeats the purpose. A quality judge that can't read the fine details is just a vibe-checker. Set it high for anything that hinges on specifics.- Thinking off by default. Pro VLM without reasoning is a pricier Flash-Lite. Turn it on for judging; leave it off only if you're just captioning.
- Failure returns the error text as
resultwhenskip_erroris on - the console has the real message.
Install
With the pack:
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, confirm BizyAirPlus is ON and keyed, then build the loop: generate, judge, re-roll the failures. It's the closest thing to an art director living inside your workflow, and it only works because the vision tier is sharp enough to be trusted with the verdict.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| images | COMFY_AUTOGROW_V3 | — | |
| system_prompt | STRING | System prompt words. | |
| user_prompt | STRING | User prompts. | |
| detail | COMBO | low | Level of detail in the picture. |
| temperature | FLOAT | 1.000–2 | Sampling temperature. The higher the value, the more random the result. |
| max_tokens | INT | 327681–65536 | The maximum length of the generated text, in tokens. |
| enable_thinking | BOOLEAN | false | If the model supports thinking mode, whether to enable. |
| api_configopt | BIZYAIR_OPENAPI_CONFIG | 单次请求覆盖base_url和api_key | |
| skip_erroropt | BOOLEAN | false | 开启后遇到错误不中断工作流,输出对应类型的错误占位符 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| result | STRING | — |
| request_id | STRING | — |