Nodes/Groq Nodes/Groq Chat
ComfyUI Node

Groq Chat

The fastest LLM in your workflow, and it needs zero VRAM

By brayevalerien·Created 10 months ago·Updated 10 months ago· 1
Groq Chat
    • text
    • usage_info
    • conversation_history
    promptIn a single sentence, describe the moon using the kawaii neko style.
    modelllama-3.3-70b-versatile
    temperature1.0
    max_tokens1024
    top_p1.00
    api_key
    system_prompt
    conversation_history[]
    seed-1

    Your GPU is busy diffusing, and the LLM that's supposed to improve your prompts is asking for another 20GB of VRAM. That's the classic ComfyUI squeeze: the graph is all about local inference, but a decent chat model is the one thing you can't fit. Groq Chat is the escape hatch. It's a node that sends your text to Groq's hosted models over the API and gets answers back at speeds that make a local Llama feel like it's running on a potato.

    Groq is the inference provider known for absurd token throughput - its whole pitch is "extremely fast responses," and it's had a free API tier for years, which is why so many ComfyUI LLM packs have been built on it since 2024. The catch is that every call is a round trip to their servers, so you need an API key from console.groq.com and an internet connection. No key, no node.

    What you'd actually use it for

    The LLM-in-the-loop jobs that make ComfyUI workflows dramatically better: expanding a three-word idea into a real prompt, generating negative prompts, filling wildcards, rewriting captions before they hit the text encoder. Wire text into a Show Text node (or a text-loader node) and the output feeds straight into CLIPTextEncode. If you've ever seen a workflow that "runs everything through an LLM first," this is that node.

    How it works

    Under the hood it's one chat.completions.create call, but with a few ComfyUI-friendly touches. It builds the message array from three places - an optional conversation_history (a JSON array of prior messages), an optional system_prompt, and your current prompt - then sends it off with three retries and exponential backoff baked in. On success you get three outputs: text (the answer), usage_info (token counts, which matters if you're paying per token), and an updated conversation_history as JSON. Loop that last one back into the conversation_history input and you've got multi-turn chat without a single extra node. Neat trick.

    The inputs that matter

    You'll mostly touch these:

    • prompt - your message. Multiline, so paste freely.
    • model - defaults to llama-3.3-70b-versatile; the dropdown also has llama-3.1-8b-instant (the speed pick), the OpenAI gpt-oss-120b / gpt-oss-20b models, Groq's agentic groq/compound pair, and even meta-llama/llama-guard-4-12b. The model list is read from configs/models.json, so if Groq ships something new you can just add it there.
    • temperature (0–2) and top_p (0–1) - the usual randomness knobs. Default temperature is 1; drop toward 0 when you want consistent structured output.
    • max_tokens - cap on the response length, up to 32768.
    • seed - set a non-negative value and Groq will try to make the output reproducible, if the model supports it.

    Optional api_key and system_prompt round it out. Leave api_key empty and it falls back to the GROQ_API_KEY environment variable or a .env file.

    Installing it

    From ComfyUI Manager, search "Groq Nodes" and install, or do it by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/brayevalerien/ComfyUI-GroqNodes
    cd ComfyUI-GroqNodes
    pip install -r requirements.txt
    

    Then restart ComfyUI. The dependencies are light - groq, aiohttp, Pillow, numpy, python-dotenv - and there are no model files to download; everything runs on Groq's side. That's the whole point.

    Common issues

    The node returns error strings in text rather than failing loudly, so check the output: "Groq API key not found…" means you haven't set the key anywhere. The .env route works but only if load_dotenv() finds the file from wherever ComfyUI is launched, which can be surprising - the env var or pasting the key into the node is the more reliable setup. Expect occasional 429 rate-limit errors on the free tier, and remember this is a small, young pack: it runs arbitrary Python on your machine like any custom node (the ecosystem has a history there), so install from the real repo and keep it updated.

    Categorygroq/language

    Inputs (9)

    NameTypeDefaultDescription
    promptSTRINGIn a single sentence, describe the moon using the kawaii neko style.
    modelCOMBOllama-3.3-70b-versatile7 options: llama-3.3-70b-versatile, llama-3.1-8b-instant, openai/gpt-oss-120b, openai/gpt-oss-20b, groq/compound, groq/compound-mini, +1
    temperatureFLOAT1.00–2
    max_tokensINT10241–32768
    top_pFLOAT1.000–1
    api_keyoptSTRING
    system_promptoptSTRING
    conversation_historyoptSTRING[]
    seedoptINT-1-1–2147483647

    Outputs (3)

    NameTypeDescription
    textSTRING
    usage_infoSTRING
    conversation_historySTRING