GPT 5.6 Sol
The Node That's There Before the Catalog Sync
- images
- text
- raw_json
- credits_consumed
- usage_json
- credits_left
Why this one is special (mildly)
Most nodes in this pack don't exist until you restart ComfyUI and the pack syncs KIE's live API catalogue. GPT 5.6 Sol is one of the handful the pack ships polished and offline, so it's on the menu immediately after installation, before any network sync runs. When someone's first message is "I installed the pack and there's only five nodes," this is one of the five.
That's the whole practical distinction. It's still a hosted text model reached over the network through KIE: no weights, no VRAM, no free tier, billed per call.
What it's for
It's an LLM stage in a graph. The three jobs people actually use these for: expanding a scrap of an idea into a full prompt before a local sampler; captioning an image you connected to the images input; and producing structured text - variants, a shot list, a JSON prompt object - for a parser downstream. Sol is a GPT 5.6-family variant, which is the newer half of the pack's GPT catalogue, so it's the sort of node you try when the older models' writing has stopped being the bottleneck.
Keep the local-versus-API question honest though. For mechanical prompt rewriting, an 8B model on your own GPU is free, uncensored and instant, and the hosted path wins only on writing quality. If that's not the thing you're short on, you're paying per call for nothing.
One caveat about the name
"Sol" is a KIE catalogue label, not something you can go read an OpenAI model card for. The pack's LLM folder contains several of these - Sol, Luna, Terra among the 5.6 entries, more in the 6 family - and they're named the way the reseller names them, with the node's display name taken from KIE's own documentation title. So treat the name as a SKU, not a spec. The measurement that tells you anything is your own: same prompt through two of them, then compare the text, the token counts in usage_json, and credits_consumed.
The mechanism
Node classes are generated from KIE's published API documentation when the server starts, which is why the class id is KIE_Next_GPT_5_6_Sol_c2a9f766 - a derived slug plus an eight-character hash computed from the operation and model, so a workflow you save now still resolves later. (Where the offline bootstrap and the live catalogue disagree, the live one wins and the node list refreshes - the pack rebuilds its node mappings in place and asks the frontend to reload.)
These LLM nodes use a direct transport: one HTTP call to the documented endpoint, one response, no polling loop - unlike the pack's image and video nodes, which create a KIE task and poll until it finishes. Text comes back as a STRING, and the untouched provider response is preserved in raw_json.
Inputs and outputs
prompt is the only required field. system_prompt is where you enforce output discipline, and it's the field that turns an assistant into a function: "output only the final prompt, no preamble."
reasoning_effort - low, medium, high, xhigh - defaults to high, which is slower and pricier than most prompt work needs. Drop it to medium for rewriting and raise it only when the model has to genuinely reason about a brief.
max_output_tokens spans 1 to 131072, default 4096. Set it too low and output truncates silently, mid-sentence, looking like a bad answer instead of a capped one.
images is one optional IMAGE socket; the pack uploads it and passes the URL along. web_search enables KIE's web-search tool where the endpoint supports it. tools_json takes function definitions; history_json is a JSON array of prior messages, and since the node keeps no memory between executions, it's the only way to continue a conversation. expert_override_json merges raw JSON into the request as a last resort.
Out come text (wire it to your text encoder or a file saver), raw_json, usage_json for token accounting, and credits_consumed / credits_left, which also show as a receipt on the node after each successful run.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
pip install -r requirements.txt
Restart. Set the key once at Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key; the pack validates it before saving and shows only a masked fingerprint thereafter. Headless installs can set KIE_API_KEY, which takes precedence. Requirements: requests, Pillow, numpy, PyYAML. No CUDA, no checkpoints, nothing downloaded. Manager install is described in the README as "prepared" rather than live - if the pack doesn't show up in Manager's search, clone it or drop a ZIP from dist/ into custom_nodes.
Before you batch it
Cost is per call, and a graph that executes this node for every image in a batch executes a paid API request per image. Put a text node and a save in front of big runs until you're confident the prompt it writes is the one you want. And open raw_json when output looks strange - it shows the refusal, the tool call, or the response shape the extractor read differently than you assumed.
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 | — |