Gemini 3.7 Flash
The newest flash node, and why the folder keeps growing
- text
- raw_json
- credits_consumed
- usage_json
- credits_left
If you installed this pack a while ago and the Gemini folder looked shorter, that's the feature working. The pack doesn't ship a frozen list of models - it reads KIE's live API documentation at startup, turns every callable model page into its own ComfyUI node, and re-checks the catalog at most once a day. New KIE models become nodes without waiting for a plugin release, which is how a Flash node like this one (and the 3.8 already listed beside it) got here.
The flip side is that the catalog is a moving target on purpose. KIE adds and retires models - you'll find community threads where a model that used to work just isn't available any more - so a node occasionally behaves differently than it did last month, and a fresh one sometimes arrives before its documentation page is machine-readable.
How it works, and what it is
It's a chat completion through KIE. Your prompt goes out as a messages array, the reply comes back parsed into one text string. No local weights, no VRAM, one metered call per run. Text in, text out.
Where it belongs in a graph is the same place every Flash-tier node belongs: rewriting and reformatting. A caption into a prompt, notes into a paragraph, a paragraph into structured JSON, a prompt in German into a prompt in English. High volume, short outputs, low stakes per call.
Inputs
prompt - required. The user message, and for this kind of work it should carry the actual content you want transformed.
system_prompt - the role and the constraints. What the model is, what it must not do, and what the output must look like. If you want JSON, ask for JSON here; if you want no preamble, say so, because a preamble arriving in a prompt field is a real and common failure.
history_json - a prior messages array, forwarded as-is. Multi-turn is possible if you maintain the array yourself. It's the only multimodal path on this node, since the pack declares no image input for the Gemini family.
tools_json - OpenAI-schema function definitions; [] is correct when you're not using tools.
stream - off by default, and not a live-typing feature here: the pack normalises a streamed response back into a single string before you see it.
expert_override_json - a raw request override for fields KIE hasn't documented. Expert-only, per its tooltip.
Outputs
text is the one to wire. raw_json is the full provider response and the first thing to read when an output looks wrong. usage_json is token accounting. credits_consumed and credits_left are floats - the node also writes both onto itself after a run, so spend is visible without opening a billing page.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
Or install through ComfyUI Manager ("KIE.ai Nodes Next") and restart. Dependencies: requests, Pillow, numpy, PyYAML. Then the one-time key - Settings → KIE.ai Nodes Next → Connection - which is validated against KIE before the pack saves it over a working key, lives in Comfy's user config rather than your workflows, and only ever reaches the frontend as a masked fingerprint. For headless installs, KIE_API_KEY in the environment takes priority over the saved key.
Notes
- Prefer the
(openai)variant if the menu shows two of the same model. KIE publishes a native-format page and an OpenAI-compatible one per Gemini model; the native pages sometimes ship unresolved and error out until a catalog refresh fills them in. The(openai)routes resolve from first launch, and for text rewriting you lose nothing. - Reasoning dials live elsewhere. Reasoning effort and web-search toggles appear on the pack's OpenAI/Codex-style nodes, not on the Gemini family. Here you get prompt, system prompt, history and tools.
- The list will change under you. That's not instability, it's the sync. If a node vanishes or a new one appears, run the catalog refresh and carry on.
- Everything is metered, including the retries. A Flash node is cheap per call and expensive per thousand; put it behind a bypass when you're iterating on the image side of the graph.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | User prompt / message. | |
| system_promptopt | STRING | — | |
| streamopt | BOOLEAN | false | — |
| tools_jsonopt | STRING | [] | Optional function/tool definitions supported by this model endpoint. |
| history_jsonopt | STRING | [] | Optional prior message/input array as JSON. |
| expert_override_jsonopt | STRING | {} | Expert-only request overrides. Normal use does not require this. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| usage_json | STRING | — |
| credits_left | FLOAT | — |