Gemini 3.5 Flash
Gemini 3.5 Flash LLM — the mid-tier text node with real sampling controls
- api_config
- result
- request_id
Look at the input list on this node and you'll notice something the other Gemini LLM nodes don't give you: top_p, top_k, seed, and stop_sequences. The 3.5 Flash LLM node is the one with actual sampling knobs, which makes it the text node you reach for when you want deterministic, controllable completions - not just "send prompt, get text." If you're building a prompt pipeline that has to reproduce its output, or a loop where generation must stop at a marker, this is the one.
It's the hosted Gemini 3.5 Flash, billed through your BizyAir key like the rest of the family. Flash-class speed and price, with a schema that exposes the levers power users actually pull.
Inputs and outputs
- prompt - required. The task.
- system_instruction - optional. The framing and rules. "You are a prompt engineer" goes here.
- stop_sequences - optional. Strings that halt generation when the model emits them. Great for forcing JSON-ish or list-structured output to end cleanly.
- seed - optional, default 0. Here's the reproducibility win: same seed, same prompt, same settings, same completion. The other nodes in this family can't promise that.
- temperature - 0 to 2, default 1.
- top_p - 0 to 1, default 0 (0 meaning "let the model decide," not "no sampling" - treat it as the nucleus knob you can leave alone).
- top_k - default 0, same convention.
- max_output_tokens - default 32768, up to 65536.
Outputs: result (STRING) and request_id.
How it works
The standard BizyAir API flow: serialize prompt, system instruction, and all the sampling settings, submit to the gemini-3.5-flash-official/large-language-models endpoint, poll, return the text. api_config overrides base URL and key per request; skip_error swaps a crash for a placeholder on failure.
The honest take
Where this node fits in the lineup: Flash-Lite is the cheap workhorse, Pro is the flagship, and 3.5 Flash is the controllable one. The seed and stop_sequences inputs are the whole story - they make text generation composable in a way the one-shot nodes aren't. If you've ever rerun a workflow and gotten a different prompt back for the same input, you know why reproducibility matters here. Use the seed for deterministic batches; use stop_sequences when the output has to terminate at a structural boundary so your downstream parsing never chokes.
One trap: top_p and top_k default to 0 with the "0 = unset" convention. Don't read that as "no randomness" - if you want tighter sampling, set them explicitly rather than assuming 0 means the model is being conservative.
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, and set your seed. The first time a workflow reruns and produces the identical prompt, you'll get why this node exists.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The text prompt describing what you want the model to generate. | |
| 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 | — |