ComfyUI Node

Gemini 3.5 Flash

The one that searches the web and answers in JSON

By Runware·Created 2 years ago·Updated about a month ago· 140
Gemini 3.5 Flash
  • messages
  • images
  • text
seed0
numberResults1
includeUsagefalse
settings.frequencyPenalty0.00
settings.maxTokens65535
providerSettings.google.mediaResolution(default)
settings.presencePenalty0.00
providerSettings.google.searchfalse
providerSettings.google.searchLatitudefalse
providerSettings.google.searchLatitude_value-90.00
providerSettings.google.searchLongitudefalse
providerSettings.google.searchLongitude_value-180.00
settings.systemPrompt
settings.temperature1.00
settings.thinkingLevelhigh
providerSettings.google.thoughtSignature
toolChoicefalse
toolChoice.name
toolChoice.type(default)
settings.topP0.95
outputFormatTEXT
advanced_json

Gemini 3.5 Flash is the newest, most feature-packed text node in the pack, and the two features that earn it a place in serious workflows are in its name and its settings: web search grounding and structured JSON output. This is the model you pick when an LLM in your graph needs to be right about the real world - current events, product info, anything that changes - instead of hallucinating from training data. Flip providerSettings.google.search on and the model grounds its answer in live web results.

The second killer feature is outputFormat: JSON. For automation, a plain-text reply you have to parse is friction; a JSON reply with a jsonSchema in advanced_json is a contract. That combination - grounded, structured, machine-readable output - is what makes this node the natural endpoint for building real pipelines instead of toy demos.

What you set

  • messages (required) - from the Runware Messages builder: role + content, chained for multi-turn.
  • images - optional IMAGE input for vision tasks.
  • providerSettings.google.search - live web search grounding, off by default. Costs extra tokens; worth it when recency matters.
  • providerSettings.google.searchLatitude / searchLongitude - gated; location-biased search for "near me"-style queries.
  • outputFormat - TEXT or JSON. Pick JSON and pair it with jsonSchema in advanced_json.
  • settings.thinkingLevel - off/minimal/low/medium/high (the only text node that lets you turn thinking off entirely).
  • providerSettings.google.thoughtSignature - pass the encrypted reasoning context from a previous response to keep multi-turn reasoning continuity.
  • settings.frequencyPenalty / presencePenalty (-2 to 2) - token-level variety controls.
  • providerSettings.google.mediaResolution - token budget for images/video frames.
  • settings.maxTokens - up to 65535, default 65535. includeUsage for token stats.

Output is text (STRING). advanced_json covers audios/documents/videos inputs, stop sequences, jsonSchema, and tools.

How it works

Standard pack machinery: taskType: textInference over REST via the Runware SDK. The grounding and JSON features are request-level flags that Runware forwards to the model. Web-grounded runs pull live context before answering - that's the extra cost and the extra correctness. The thoughtSignature field is the interesting one for multi-turn work: feed a previous response's signature back in and the model keeps its reasoning thread across calls instead of starting fresh.

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

A grounded run that's slow or pricey is normal - search tokens add up; if you don't need recency, turn search off. JSON mode misbehaving? Validate your jsonSchema locally first; a malformed schema produces flaky output and the node won't tell you why. Thinking continuity not working across calls? Check you're actually passing the thoughtSignature through from the previous result. And if all you need is cheap chat, the older Gemini 3 Flash is still there.

CategoryRunware/Text/google

Inputs (24)

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.frequencyPenaltyoptFLOAT0.00-2–2Penalizes tokens based on their frequency in the output so far. A value of 0.0 disables the penalty.
settings.maxTokensoptINT655351–65535Maximum number of tokens to generate in the response.
providerSettings.google.mediaResolutionoptCOMBO(default)Controls the token budget allocated to images and video frames. Higher values preserve more detail at the cost of additional tokens.
settings.presencePenaltyoptFLOAT0.00-2–2Encourages the model to introduce new topics. A value of 0.0 disables the penalty.
providerSettings.google.searchoptBOOLEANfalseEnable live web search grounding to incorporate real-world, up-to-date information into image generation.
providerSettings.google.searchLatitudeoptBOOLEANfalseEnable to set providerSettings.google.searchLatitude. Off uses the model's default.
providerSettings.google.searchLatitude_valueoptFLOAT-90.00-90–90Latitude for location-biased Google Search grounding.
providerSettings.google.searchLongitudeoptBOOLEANfalseEnable to set providerSettings.google.searchLongitude. Off uses the model's default.
providerSettings.google.searchLongitude_valueoptFLOAT-180.00-180–180Longitude for location-biased Google Search grounding.
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.
providerSettings.google.thoughtSignatureoptSTRINGEncrypted reasoning context returned from a previous response. Pass it back to maintain multi-turn reasoning continuity.
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, jsonSchema, tools

Outputs (1)

NameTypeDescription
textSTRING