Civitai Chat (Simple)
A chat LLM inside your graph without writing a line of JSON
- image
- api_config
- text
- workflow_id
- raw_json
You want an LLM to rewrite your prompt, caption an image, or summarize something - and you don't want to hand-write an OpenAI messages array to do it. That's the whole job of Civitai Chat (Simple). It's the friendly front door to the pack's full CivitaiChatCompletion node: one prompt in, one text string out, no JSON scaffolding.
What it is
A single-turn chat completion that runs on Civitai's cloud (via the same orchestration API the rest of the pack uses), so there's no model download, no VRAM, and no Ollama server to babysit. You pay per call in Buzz. The default model is openai/gpt-oss-120b, and you can swap in any model the API serves by typing its name.
This is the "LLM as a tool in the graph" pattern from the KB's LLM-in-ComfyUI essay: a language model doing a job that isn't diffusion - prompt enhancement, captioning, structured rewriting - sitting before or alongside your sampler rather than inside it.
The inputs that matter
user_prompt- your instruction. The thing you actually type.system_prompt- optional framing ("You are a prompt engineer for FLUX").image- anIMAGEsocket. Drop in an image and the model reads it (vision), which makes this a one-node captioner or img2img prompt-seeder. This is the sneaky-good feature; most people don't notice it's there.model- defaults toopenai/gpt-oss-120b.temperatureandmax_tokens(default 1024) - the two dials you'll touch.
Outputs: text (the reply, a plain STRING), plus workflow_id and raw_json for debugging and cost inspection - every pack node returns those last two.
How it works under the hood
Wire text into whatever wants a prompt string downstream. The classic setup: this node → a Prompt input on one of the pack's cloud image nodes. Since the model is hosted, the response lands back in your graph as if a local node had produced it - the same illusion every API-wrapper node in this pack trades on (see the KB's external-api-nodes essay for the honest tradeoffs of that pattern).
Where people use Simple instead of the full ChatCompletion node: when they want one shot, no conversation memory, no tool calls. It's deliberately opinionated. If you need roles, multi-turn history, JSON output, or function calling, step up to CivitaiChatCompletion - this node is the 80% case.
Install & gotchas
Install the pack once and you get this node with it:
- ComfyUI Manager → search Civitai Comfy Nodes (publisher
civitai) → Install → restart. - Or
comfy node registry-install civitai-comfy-nodes. - Or clone
https://github.com/civitai/civitai-comfy-nodesintocustom_nodesandpip install -rits requirements (justrequests).
Three things bite beginners:
- There's no conversation memory. Each run is stateless. For a chatbot you have to chain calls yourself, feeding the previous
textback into the nextuser_prompt. Simple is for single-turn jobs - that's the point of the name. - Every call costs Buzz. It's metered, and a verbose LLM churning through a big image-caption loop adds up fast. The KB's cost warning about API nodes ("a local generation is free after the electricity; a cloud call is metered every time") applies in full.
- No credentials → a brick wall. You need the
CIVITAI_API_TOKENenv var, a stored OAuth login, or a wiredCivitai Authnode feedingapi_config. Without one you'll get a "No Civitai credentials" error before anything runs.
One light take: for pure prompt enhancement, plenty of people prefer a local uncensored model for the privacy and zero marginal cost. This node's edge is when you want a hosted frontier-class model and vision in one node with zero setup. Both are legitimate; pick by whether the prompt leaves your machine is a problem for you.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | STRING | openai/gpt-oss-120b | — |
| user_prompt | STRING | — | |
| system_promptopt | STRING | — | |
| imageopt | IMAGE | Optional image to include in the user message | |
| temperatureopt | FLOAT | 1.000–2 | — |
| max_tokensopt | INT | 10241–131072 | — |
| api_configopt | CIVITAI_CONFIG | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |