ComfyUI Node

Gemini 3 Flash

An LLM in your graph, no API account of your own

By Runware·Created 2 years ago·Updated about a month ago· 140
Gemini 3 Flash
  • messages
  • images
  • text
seed0
numberResults1
includeUsagefalse
settings.maxTokens4096
settings.systemPrompt
settings.temperature1.00
settings.thinkingLevelhigh
toolChoicefalse
toolChoice.name
toolChoice.type(default)
settings.topP0.95
outputFormatTEXT
advanced_json

Gemini 3 Flash is the budget workhorse of the pack's text models: Google's small fast model, hosted by Runware and exposed as a node that takes messages and returns text. The whole point is that the LLM becomes a first-class citizen of your ComfyUI graph - prompt rewriting, captioning, JSON structuring, workflow decisions - without you standing up a separate LLM server or wiring a second API key into everything.

The real draw is the messages input, which comes from the Runware Messages builder: you build role/content pairs (system, user, assistant) and chain them, so this node does multi-turn conversations, not just one-shot completions. That turns it into a genuinely useful automation part: a system prompt that imposes a format, a user message that carries your input, and a text output that feeds a parser or a prompt processor downstream.

What you set

  • messages (required) - the conversation, from the Messages builder. Each entry is role + content; chain them for multi-turn.
  • images - optional IMAGE input, which makes this vision-capable: ask the model to describe or caption what's in a frame.
  • settings.systemPrompt - the global instruction for behavior and output style.
  • settings.maxTokens - up to 65536, default 4096.
  • settings.temperature (0–2, default 1) and settings.topP (0.95) - the creativity dials.
  • settings.thinkingLevel - minimal/low/medium/high, how much internal reasoning before answering.
  • toolChoice - gated tool-calling: auto/any/tool/none, with a tool name when you force one.
  • includeUsage - include token stats in the response.

Output is text, a STRING. advanced_json covers the gaps: extra audio/document/video inputs, stop sequences, tools.

How it works

Standard pack flow: taskType: textInference over REST through the Runware SDK, and the model's reply comes back as a string (joined across results). All the heavy lifting happens on Google's/Runware's side - no local model, no VRAM, cost on the title bar. Because it's a hosted call, each text out is a fresh inference; keep your context in the Messages chain, not in your head. For the price of a local setup you get a model that's been through a generation of improvements you'd never see by running the same checkpoint for months.

Installing

ComfyUI Manager → search Runware → install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

No model downloads; deps are runware-sdk, pillow, soundfile. API key via Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.

Troubleshooting

Empty or truncated output usually means maxTokens is cutting the answer off - bump it. Model rambling off-format? Put the format contract in settings.systemPrompt, where it belongs, rather than begging in the user turn. If you need heavier reasoning for a hard task, the family scales up: Gemini 3.1 Flash Lite is the cheaper sibling, Gemini 3.1 Pro is the brainier one.

CategoryRunware/Text/google

Inputs (15)

NameTypeDefaultDescription
messagesRUNWARE_MESSAGES
imagesoptIMAGE
seedoptINT00–4294967295Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
includeUsageoptBOOLEANfalseInclude token usage statistics in the response.
settings.maxTokensoptINT40961–65536Maximum number of tokens to generate in the response.
settings.systemPromptoptSTRINGSystem-level instruction that guides the model's behavior and output style across the entire generation.
settings.temperatureoptFLOAT1.000–2Controls randomness in generation. Lower values produce more deterministic outputs, higher values increase variation and creativity.
settings.thinkingLeveloptCOMBOhighControls the depth of internal reasoning the model performs before generating a response.
toolChoiceoptBOOLEANfalseEnable to set toolChoice. Off uses the model's default.
toolChoice.nameoptSTRINGName of the specific tool the model must call. Required when type is `tool`.
toolChoice.typeoptCOMBO(default)Strategy the model uses to decide when and which tools to call.
settings.topPoptFLOAT0.950–1Nucleus sampling parameter that controls diversity by limiting the probability mass. Lower values make outputs more focused, higher values increase diversity.
outputFormatoptCOMBOTEXTOutput format for the generated text.
advanced_jsonoptSTRINGOptional JSON merged into the request. For: inputs.audios, inputs.documents, inputs.videos, settings.stopSequences, tools

Outputs (1)

NameTypeDescription
textSTRING