☁️BizyAir Third-Party VLM API
BizyAir Third-Party VLM API — ComfyUI Node Guide
- images
- string
- bizyair_model_name
"TRD" here just means third-party - this node isn't running a SiliconFlow model, it's proxying calls to Google's Gemini through BizyAir's API layer. If you've wanted a vision-language model in your ComfyUI graph - something that looks at an image and writes about it - this is that node, and it doesn't need its own Google API key, because BizyAir is fronting the request for you.
What it does
Feed it one or more images and a prompt, get text back. That's the core loop, and it covers more ground than "caption this image" - you can ask it to describe composition, call out anatomy errors for a QA pass, extract text visible in an image, or write a prompt you could feed back into a text-to-image node. It's a VLM (vision-language model), not an image generator: the output is a string, always.
Inputs that matter
- model -
gemini-3-pro-previeworgemini-3-flash-preview, default flash. Pro is the more capable, slower option; flash is faster and cheaper on tokens. Start with flash unless you're hitting quality ceilings. - system_prompt / user_prompt - both multiline strings with defaults written in Chinese (unsurprising, given BizyAir is a SiliconFlow product) that translate roughly to "you are an AI assistant that analyzes images, describe it carefully and accurately" and "describe this image's content, and point out anything interesting or unusual." Both are fully editable - swap in English or whatever instructions your workflow needs.
system_promptsets the assistant's general behavior;user_promptis the actual per-run question. - images - the image input. Standard IMAGE type.
- max_tokens - 1 to 65536, default 32768. How long a response you're allowing. You won't need anywhere near the max for a caption; drop it if you want to cap cost and latency for short answers.
- temperature - 0 to 2, default 1, step 0.01. Lower for consistent, literal descriptions (good for captioning pipelines you're running in bulk); higher if you want more varied, creative phrasing.
- detail -
low,medium, orhigh, default high. Controls how much visual detail the model is asked to attend to - this is the same kind of image-detail knob you'll recognize from other vision-API integrations. Higher costs more tokens for a more thorough read of the image. - enable_thinking - boolean, off by default. The node's own tooltip explains it: if the selected model supports a reasoning/thinking mode, this turns it on. Worth trying if you're getting shallow answers from Pro on a genuinely tricky visual question.
- inputcount - 1 to 900, default 1. This is a dynamic input count: bump it up and the node grows extra image slots so you can hand it a whole batch of reference images in one call, per the node's own tooltip ("click Update inputs to refresh"). Handy if you're asking it to compare or summarize across several images at once, rather than one at a time.
Outputs are string (the model's text response) and bizyair_model_name (an internal identifier used to keep the model dropdown consistent under the hood - you generally won't wire anything to it).
How to install it
Full BizyAir install, no extra steps just for this node.
ComfyUI Manager: search "BizyAir," Install, restart.
git clone:
cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAir.git
Set your BizyAir API key on first use - this node specifically also draws on your BizyAir account's usage credits for the underlying Gemini call, so it's billed the same way as BizyAir's other cloud nodes even though the model itself is Google's, not SiliconFlow's.
Common issues
Prompt defaults are in Chinese. If you leave system_prompt/user_prompt untouched, you'll get sensible instructions, just not in English - the model will usually respond in whatever language the prompt is written in. Rewrite both fields if you want English output, or just append "respond in English" to the user prompt.
inputcount doesn't grow automatically. Per the tooltip, changing the number and expecting new image slots to appear requires actually clicking the Update inputs button on the node - bumping the value alone won't reshape the node.
Costs scale with images and detail. Cranking inputcount to feed in dozens of images at detail: high will burn through tokens (and BizyAir credits) fast. If you're running this in a loop over a dataset, drop detail to low or medium first and see if the answers are still good enough.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | gemini-3-flash-preview | 2 options: gemini-3-pro-preview, gemini-3-flash-preview |
| system_prompt | STRING | 你是一个能分析图像的AI助手。请仔细观察图像,并根据用户的问题提供详细、准确的描述。 | — |
| user_prompt | STRING | 请描述这张图片的内容,并指出任何有趣或不寻常的细节。 | — |
| images | IMAGE | — | |
| max_tokens | INT | 327681–65536 | — |
| temperature | FLOAT | 1.000–2 | — |
| detail | COMBO | high | 3 options: low, medium, high |
| enable_thinking | BOOLEAN | false | 如果模型支持思考模式,是否开启 |
| inputcount | INT | 11–900 | 动态控制输入的参考图数量,点击Update inputs按钮刷新 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| string | STRING | — |
| bizyair_model_name | {"gemini-3-pro-preview": "gemini-3-pro-preview", "gemini-3-flash-preview": "gemini-3-flash-preview"} | — |