Nodes/Symbiotica/NS LLM Chat
ComfyUI Node

NS LLM Chat

One node, four providers — the all-in-one LLM chat for your graph

By symbiotica-ai·Created 6 months ago·Updated about 12 hours ago· 2
NS LLM Chat
  • image
  • response
api_key
modelclaude-opus-5
prompt
max_tokens4096
temperature0.70
seed1
timeout500
model_override
system_prompt

NS LLM Chat is the swiss-army text node in symbiotica-ai/comfyui-nodes: a single-shot chat completion that routes to Claude, Gemini, GPT, or Grok from one dropdown, returns a plain STRING, and can even take an image for vision prompts. If you've ever built a workflow that needed an LLM to write a prompt, caption an image, or summarize something, this is the node that keeps you from installing four separate provider packs.

It sits firmly in the "LLM as a tool in the graph" pattern from docs/knowledge/llm-in-comfyui.md - it's not the encoder inside your checkpoint, it's a bolted-on writer that runs before or alongside generation. The model dropdown picks the provider and the model: claude-opus-5, gemini-3.5-flash, gpt-5.5, grok-4.5, and eight more. One node, the whole frontier roster.

The key resolution (the part that usually surprises)

One api_key widget, but it's provider-aware. Leave it empty and the node picks the right key from the pack's Settings UI (search "Symbiotica" - stored in your local settings, never in the workflow) or the environment, matched to whatever model you chose:

  • Claude → ANTHROPIC_API_KEY
  • Gemini → GEMINI_API_KEY / GOOGLE_API_KEY
  • GPT → OPENAI_API_KEY
  • Grok → XAI_API_KEY / GROK_API_KEY

So you can keep all four keys in Settings and never touch a key widget again. But remember: no key for the provider you picked = a clear error naming the missing variable, not a fallback to another provider.

Inputs and outputs

  • model - the dropdown. Default claude-opus-5.
  • prompt (multiline) - required. The actual ask.
  • system_prompt (multiline, optional) - for steering the voice. This is where you'd set "you are a UGC scriptwriter".
  • image (optional, IMAGE) - wire an image and the call becomes multimodal (vision). Huge for captioning and image-to-prompt.
  • max_tokens (default 4096, up to 200k) and temperature (0–2, default 0.7) - the standard dials.
  • seed - works for Gemini, Grok and OpenAI (reproducible); Claude ignores seeds, so don't chase reproducibility on Claude. -1 = random.
  • timeout - default 500s. Bump it for long generations.
  • model_override (optional) - the input for NS LLM Model Selector: connect one and a single central dropdown controls this node's model.

One output: response (STRING) - the model's answer, ready to wire into a prompt encoder, a text display, or another LLM.

Install

Part of symbiotica-ai/comfyui-nodes - ComfyUI Manager search "Symbiotica", or clone + pip install -r requirements.txt. No ffmpeg, no model downloads. Restart after install.

Gotchas

It's a paid-API node, so every run costs something - and a max_tokens of 200k is not a suggestion, it's a bill. Watch the two failure modes the KB warns about for LLM-in-the-graph nodes (docs/knowledge/llm-in-comfyui.md): LLMs return chat-shaped noise ("Here is your enhanced prompt:") unless you constrain them, so write prompts that demand bare output; and subject drift - a loose prompt will add detail you never asked for. For structured jobs, tell it the exact format, like the Hypereel nodes do with their line contracts. And if you get an empty or refused reply, that's the model declining - an API error isn't a workflow error, so check the console before rewiring your whole graph.

Categoryneuralsins/LLM

Inputs (10)

NameTypeDefaultDescription
api_keySTRING
modelCOMBOclaude-opus-511 options: claude-fable-5, claude-opus-5, claude-sonnet-5, claude-haiku-4-5, gemini-3.1-pro-preview, gemini-3.5-flash, +5
promptSTRING
max_tokensINT40961–200000
temperatureFLOAT0.700–2
seedINT1-1–18446744073709550000Random seed for reproducible results. -1 for random seed. Note: Works with Gemini, Grok, and OpenAI models. Claude doesn't support seeds.
timeoutINT50010–3600Request timeout in seconds. Increase for large text processing (default: 500s)
model_overrideoptSTRINGConnect an NS LLM Model Selector to control the model from a single node.
system_promptoptSTRING
imageoptIMAGE

Outputs (1)

NameTypeDescription
responseSTRING