ComfyUI Node

SF LLM Chat

One node, every frontier LLM — Claude, Gemini, and GPT-5 right in your graph

By razvanmatei-sf·Created 9 months ago·Updated 7 months ago· 0
SF LLM Chat
  • image
  • response
  • token_usage
api_key
modelclaude-sonnet-4-5
prompt
max_tokens4096
temperature0.70
seed1
timeout500
system_prompt

You know the workflow pattern: generate an image, then wish you had a caption, an alt-text, a style analysis, or a "what went wrong here" note without leaving ComfyUI. SF LLM Chat is the node for that. It's one block that talks to Claude, Gemini, or the GPT-5 family, takes an optional image along with your prompt, and hands you back a string you can pipe into a text box, a filename token, or another node. No local model, no VRAM, no GPU - just an API key and a few cents of tokens.

This is one of the "stillfront" nodes - part of the comfyui-stillfront pack, all prefixed SF. The pack splits cleanly into API-backed nodes, and this is the text brain of the bunch.

How it works

The node makes a plain HTTP call to a frontier LLM API. Feed it an image and it converts the tensor to a base64 PNG and sends it as a vision block alongside your text - handy for "describe this render" or "what's wrong with this face" loops.

One thing the README glosses over, and the dropdown hides: the routing is simpler than the 11-model list suggests. Gemini models go to Google's API; everything else - including the GPT-5 entries - currently goes through the Anthropic path. So treat the GPT-5 dropdown options as aspirational for now and pick Claude or Gemini for actual work.

Worth knowing before you reach for the knobs:

  • seed only actually does anything on Gemini models. The tooltip is blunt about it: Claude doesn't support seeds, so the field exists for UI consistency and does nothing there.
  • max_tokens defaults to 4096 but goes to 200,000 if you're dumping a long transcript or big text file through it.
  • temperature is the usual 0–2, default 0.7.
  • timeout defaults to 500 seconds - increase it if you're doing large-text processing and the call keeps dying on the wire.

The inputs that matter

Most of what you'll set is the obvious stuff: api_key, prompt, system_prompt (optional, for role-pinning the model), and model. The dropdown has 11 entries spanning the frontier: claude-opus-4-5, claude-sonnet-4-5, claude-haiku-4-5, gemini-3-pro-preview, gemini-3-flash-preview, and the GPT-5 line from gpt-5.2 down to gpt-5-nano. For a captioning job, Haiku or Flash is plenty and cheap; for real reasoning about a workflow, the big ones earn their price.

It outputs two strings: response (the actual answer) and token_usage (a usage report you can wire to a display node or log). Wire response into a text display, a prompt encoder, or anything that eats a STRING.

Installing it

The pack is comfyui-stillfront. Easiest route is ComfyUI Manager - search "comfyui-stillfront" (or "Stillfront Custom Nodes") and install. Manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/comfyui-stillfront
cd comfyui-stillfront
pip install -r requirements.txt

Then restart ComfyUI. No models download - everything is API calls, which is the whole point.

Troubleshooting

  • "API key is required" errors. Leave api_key blank and the node falls back to env vars - ANTHROPIC_API_KEY for Claude models, GEMINI_API_KEY for Gemini. Setting either env var once beats pasting keys into every workflow.
  • Picked a GPT-5 model and got an Anthropic error. As noted above, the GPT-5 entries currently route through the Anthropic API, so they'll fail or behave oddly until the pack finishes wiring OpenAI. Use Claude or Gemini for now.
  • Same output every run with Claude. Not a bug - that's the seed thing above. Claude ignores seeds.
  • Timeouts on long jobs. Bump timeout; the default 500s is generous but a 200k-token request on a slow provider can still blow past it.

It's not going to beat a purpose-built prompt-refiner node at any one job. But as a general "ask a frontier model anything, mid-graph" block, it's hard to beat for the price.

CategoryStillfront/LLM

Inputs (9)

NameTypeDefaultDescription
api_keySTRING
modelCOMBOclaude-sonnet-4-511 options: claude-opus-4-5, claude-sonnet-4-5, claude-haiku-4-5, gemini-3-pro-preview, gemini-3-flash-preview, gpt-5.2, +5
promptSTRING
max_tokensINT40961–200000
temperatureFLOAT0.700–2
seedINT1-1–18446744073709550000Random seed for reproducible results. -1 for random seed. Note: Only works with Gemini models, Claude doesn't support seeds.
timeoutINT50010–3600Request timeout in seconds. Increase for large text processing (default: 500s)
system_promptoptSTRING
imageoptIMAGE

Outputs (2)

NameTypeDescription
responseSTRING
token_usageSTRING