Gemini 3.5 Flash
Gemini 3.5 Flash VLM — the vision node that looks at images and answers with real sampling control
- images
- api_config
- result
- request_id
The 3.5 Flash VLM is the vision sibling of the most controllable text node in the pack - and it inherits all the control. It looks at your images, answers about them, and unlike the 3.1 vision nodes it hands you seed, top_p, top_k, and stop_sequences. That makes it the vision node to use when your captioning or quality-checking loop has to be reproducible and well-behaved: same seed, same images, same question, same verdict.
The workflow idea is the same as every VLM node in this pack - generate, ask the model what it sees, act on the answer - but the extras make it better suited to loops that parse the result. stop_sequences is the quiet MVP there: have the model end its answer at a marker, and your downstream string-splitting never has to guess where the analysis stops.
Inputs and outputs
- images - required, auto-growing (
COMFY_AUTOGROW_V3). One or more images for the model to analyze. - prompt - required. The question about the images.
- system_instruction - optional. The framing and rubric.
- stop_sequences - optional. Halt generation at a marker.
- seed - default 0, for reproducible answers.
- temperature - 0 to 2, default 1.
- top_p - 0 to 1, default 0 (unset convention, like the LLM node).
- top_k - default 0, same.
- max_output_tokens - default 32768.
Outputs: result (STRING) and request_id.
How it works
Images and text serialize up to the gemini-3.5-flash-official/vision endpoint, the cloud runs the analysis, and the text comes back via the standard BizyAir polling loop. Your key comes from BizyAirPlus settings or BIZYAIR_API_KEY unless overridden with a settings node. On failure with skip_error enabled, the result becomes the error text instead of crashing the graph.
The honest take
Between this and the 3.1 Pro VLM: Pro judges, Flash captions. If your loop needs a strict art-director verdict, spend the extra credits on Pro with thinking on. If you're auto-captioning a dataset or doing batch sanity checks where determinism matters more than depth, this node is the better fit - it's cheaper, and the seed lets you lock a consistent answer across reruns. The detail combo the 3.1 vision nodes carry isn't here; the equivalent control is top_p/top_k and the instruction prompt, so set expectations in the system_instruction if you need fine-detail reading.
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. For reproducible captions in a batch loop, this is the vision node to leave wired in - the one you can rerun and trust to say the same thing twice.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| images | COMFY_AUTOGROW_V3 | — | |
| prompt | STRING | The text prompt describing what you want the model to do with the image(s). | |
| system_instructionopt | STRING | Optional system instruction to guide the model's behavior. | |
| stop_sequencesopt | STRING | Sequences that will stop generation when encountered. | |
| seedopt | INT | 0-1–2147483647 | Random seed for reproducible results. |
| temperatureopt | FLOAT | 1.000–2 | Sampling temperature. The higher the value, the more random the result. |
| top_popt | FLOAT | 0.000–1 | Nucleus sampling probability. Lower values focus on more likely tokens. |
| top_kopt | INT | 00–1 | Top-K sampling. Only consider the top K tokens at each step. |
| max_output_tokensopt | INT | 327681–65536 | The maximum length of the generated text, in tokens. |
| api_configopt | BIZYAIR_OPENAPI_CONFIG | 单次请求覆盖base_url和api_key | |
| skip_erroropt | BOOLEAN | false | 开启后遇到错误不中断工作流,输出对应类型的错误占位符 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| result | STRING | — |
| request_id | STRING | — |