Futurematrix/GRSAI Chat API
An LLM inside your ComfyUI graph (and it's not picky about where it calls)
- response
First, the truth about the pack: the futurematrix-comfyui README sells a grand vision - "conditional workflow execution," "latent space manipulations," an industrial AIGC automation platform. The actual shipped code is two small nodes: one that calls a chat API, one that calls an image API. That's it. What you're actually getting with Futurematrix/GRSAI Chat API is a thin, honest wrapper around an OpenAI-compatible chat endpoint - and for the thing it does, that's plenty.
So what does it do? It sends your prompt to a language model over HTTP and returns the text answer as a ComfyUI STRING. If you've been reading the community's LLM-assisted prompting writeups, you know why that's useful: LLM-encoded models read natural language, so having a model write your prompt is just translating between two things that speak the same language. The classic wiring: type "a moody night market, cinematic, 35mm" in prompt, and pipe the node's response output into a CLIP Text Encode's prompt input. It's also handy as a plain Q&A node, or for auto-generating prompts from keywords when batching variations.
How it works
The mechanism is about as simple as a network node gets - here's the whole logic, from the source:
- It POSTs to
{host}/v1/chat/completionswith an OpenAI-style body:{"model": ..., "messages": [{"role": "user", "content": prompt}], "stream": false}. - The
api_keygoes in theAuthorization: Bearer ...header. - It grabs
choices[0].message.contentfrom the response and hands that string back out.
That's it. No streaming, no conversation memory - every run is a fresh single-turn call, and the node blocks the queue while the request is in flight. Because it hits the standard OpenAI chat-completions route, it doesn't care who your host is. The default is https://grsaiapi.com (GRSAI, an obscure third-party gateway that serves Google's Gemini models) with model gemini-3-pro, but point host at OpenAI, OpenRouter, or a local LM Studio/Ollama server and it works the same.
The inputs that matter
Of the five fields, a beginner only really touches three:
prompt- the only thing you change run to run. This is what gets sent to the model.api_key- grab one from your host's dashboard. On GRSAI's default endpoint, no key means a 401.model- defaults togemini-3-pro, which is a Google model served through the GRSAI gateway. The string has to match whatever your host actually serves, so if you swap hosts, swap this.
There's one optional: delete_think (off by default). Toggle it on and the node strips <think>...</think> reasoning blocks from the reply - handy because Gemini-style reasoning models love to leak their internal monologue into the output. The only output is response, a STRING you can wire into any text input downstream or into a Show Text node to read it.
Installing it
Easiest route is ComfyUI Manager - search "futurematrix-comfyui" and install. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/day9011/futurematrix-comfyui
Then restart ComfyUI and find it under Futurematrix/GRSAI/Chat API. No model files to download - this is an API client, not a model loader. The pack's requirements.txt is sloppy (it lists re, a stdlib module, plus openai, torch, and numpy this node never touches); in practice the only hard dependency is requests, which ComfyUI already ships. If pip chokes on the requirements file, don't fight it - the node still loads.
Where people get burned
- The README will mislead you. It claims conditional logic, "Dependencies: None," and even gives a placeholder clone URL. None of that describes the real code. Judge the pack by the two nodes in the menu, not the manifesto.
- No error handling in the code. If the API returns anything unexpected, the node blows up with an ugly
KeyErrortraceback in the console. Check the console when it fails - the actual error is usually in there. - Unknown model names fail silently-ish. If you type a model the host doesn't serve, you'll get an API error, not a graceful "no such model."
- It needs a key, full stop. This isn't a local node; you need an account at whatever host you point it at. If you don't have a GRSAI account, that's fine - point
hostat an endpoint you do have and carry on.
For a node that's really just "one HTTP call, one string out," it does the job. It's not the fanciest LLM node in ComfyUI - there are packs with streaming, chat history, and template plumbing - but if you want a no-frills LLM call in your graph, this is five minutes to a working prompt-enhancer.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| host | STRING | https://grsaiapi.com | — |
| model | STRING | gemini-3-pro | — |
| prompt | STRING | — | |
| delete_thinkopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | — |