Grok 4.7
The newest Grok node, and how to swap between versions without rewiring
- images
- text
- raw_json
- credits_consumed
- usage_json
- credits_left
What it is
The newest of the four Grok chat nodes in this pack, sitting at KIE Next / LLM / xAI / Grok. Same request surface as 4.3, 4.5 and 4.6 - prompt, system prompt, history, image input, reasoning effort, web search, token cap - because the pack generates each node from KIE's documentation for that model version and KIE documents the same interface for the line.
Which raises the obvious question: if all four nodes look identical, which one do you plug in?
Which Grok version to actually use
Honest answer: nothing in the pack tells you. There's no benchmark table in the schema, and "is 4.7 better than 4.6 at writing prompts" is not something you should take from a blog post. What you can do is exploit the fact that the nodes are drop-in interchangeable: duplicate the graph, swap only the LLM node, run the same prompt through two versions, and compare what matters to you - the caption, the shot list, the rewritten prompt. Five minutes, and better evidence than any leaderboard, because your prompt is the only prompt that counts.
My working rule for this family, given cost scales with version: the cheapest Grok that reliably follows your formatting instruction for bulk grunt work (rewriting one-liners, making tags legible), and up a version when you're asking for judgement. Start new graphs on the newest and move down if the price-per-output isn't earning its keep.
How it behaves
Submit-and-poll, like every media node in the pack: the node POSTs your message, waits (polls every few seconds, backing off to 15s), extracts text, and hands back a string. Nothing streams into the node even though the stream widget exists; it's there because the endpoint documents it.
Inputs, briefly. prompt is required. system_prompt lands as the request's instructions and is where you enforce "no preamble, one paragraph, don't describe the camera". history_json takes prior input items as JSON if you're driving a multi-turn loop. images turns the node into a vision chat - the pack uploads the tensor as PNG and sends it as an image reference. reasoning_effort defaults to high; for prompt-rewriting that's overspending, drop it to low. web_search flips on KIE's search tool where the endpoint supports it. max_output_tokens defaults to 4096 and can go to 131072. expert_override_json merges raw keys into the payload - {} unless you're chasing a doc change.
Outputs: text (forward it), raw_json (debug), usage_json (tokens), credits_consumed and credits_left (cost and balance, also drawn on the node after a run).
Why a version-specific node at all
Because this pack's whole design decision is one node per documented model, no model dropdown. The upside is a graph that's readable - you can see at a glance which Grok wrote your prompts - and stable node IDs when the catalog updates. The cost is the version treadmill: 4.3 through 4.7 all exist as separate nodes in the same folder because that's what KIE's catalog listed at sync time, and new versions will land as new nodes rather than replacing these.
Is a new version a new node ID? Yes - and that matters if you're maintaining shared workflows. A graph built on Grok 4.6 keeps working when 4.7 ships, because the old node doesn't disappear. What can break is the node you pinned if KIE retires the model upstream; then you re-point to the newer node and everything downstream (a CLIPTextEncode, a save-text node) is unaffected.
Install
ComfyUI Manager → KIE.ai Nodes Next, or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
python -m pip install -r ComfyUI-KIE-Nodes-Next/requirements.txt
Four light requirements, no weights, no GPU cost - the compute is rented. Restart ComfyUI, then do the one-time key step: Settings → KIE.ai Nodes Next → Connection, paste the key, and wait for the ✅ confirmation and the masked fingerprint. KIE_API_KEY in the environment works for headless installs.
The one install quirk worth knowing: on first launch the pack reads KIE's API docs index, generates its node library from that, and reloads the frontend once. It then checks for catalog changes at most daily. A freshly-released Grok version can therefore appear as a node without you updating the pack - and conversely, a node you can't find is a catalog-sync question, not a reinstall question.
Gotchas
- Reasoning by default.
highis the default and it's the wrong default for small text jobs. You'll pay for tokens you didn't need. - The output is prose by default. Constrain it in
system_prompt; downstream nodes will happily encode "Sure! Here's your enhanced prompt:" whatever you do. - Token cap. 4096 is plenty for a caption, not for "write me a 20-shot sequence". Long responses silently truncate at the cap.
- No key →
No KIE API key configured.One-time Settings fix. - It filters. Hosted model, provider policy; if you need uncensored text work, that's a local Ollama node's job, not this one's.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | User prompt / message. | |
| system_promptopt | STRING | — | |
| streamopt | BOOLEAN | false | — |
| tools_jsonopt | STRING | [] | Optional function/tool definitions supported by this model endpoint. |
| history_jsonopt | STRING | [] | Optional prior message/input array as JSON. |
| imagesopt | IMAGE | — | |
| reasoning_effortopt | COMBO | high | 4 options: low, medium, high, xhigh |
| web_searchopt | BOOLEAN | false | Use KIE's web-search tool where this endpoint supports it. |
| max_output_tokensopt | INT | 40961–131072 | — |
| expert_override_jsonopt | STRING | {} | Expert-only request overrides. Normal use does not require this. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| usage_json | STRING | — |
| credits_left | FLOAT | — |