ComfyUI Node

GPT 6.1 Sol

Images in, text out, with a reasoning dial that costs money

By felipederosilva·Created 2 months ago·Updated 5 days ago· 3
GPT 6.1 Sol
  • images
  • text
  • raw_json
  • credits_consumed
  • usage_json
  • credits_left
◄prompt►
◄system_prompt►
◄streamfalse►
◄tools_json[]►
◄history_json[]►
◄reasoning_efforthigh►
◄web_searchfalse►
◄max_output_tokens4096►
◄expert_override_json{}►

The most useful LLM node in this pack for image people is the one with an IMAGE socket. GPT 6.1 Sol takes a prompt plus up to a batch of images, thinks about it at whatever effort level you pick, and hands back text. That's the "look at my render and tell me what to change" step - or the reverse, "write me a prompt that would produce this" - and it's the one LLM job that actually improves your images rather than just rewording them.

It's also the node most likely to quietly cost you money, because reasoning_effort defaults to high and nobody reads that widget before hitting run.

How the request is built

KIE exposes this model on an OpenAI responses-style endpoint. The pack packages your prompt as an input_text content item, uploads anything connected to images (re-encoded to PNG first, then hosted by KIE) and attaches each as an input_image item, then appends the request as a user turn after your history_json items. system_prompt maps to the request's instructions field, reasoning_effort maps to reasoning.effort, max_output_tokens caps the reply, and web_search swaps in KIE's web-search tool. The assistant text is then extracted into text.

Because your images are uploaded before the call, treat this as "sending your files to a server", not "asking a model locally". That's fine for a finished render, less fine for anything you consider private.

The inputs

  • prompt - required. Write it as an instruction and a spec: what to look at, what format to answer in.
  • images - optional, one socket, batch-friendly. Multiple images come in as multiple inputs, which is how you get comparison answers ("which of these two has better hands").
  • reasoning_effort - low, medium, high, xhigh; default high. Turn it down for descriptions, up for structured analysis. This is the cost/latency dial that matters most.
  • max_output_tokens - 4096 default, 131072 max. Bump it for long JSON.
  • web_search - off. Enable only when the answer needs something current; it competes with tools_json for the tools slot.
  • system_prompt - instructions. Where you say "reply with only the prompt".
  • history_json, tools_json, stream, expert_override_json - plumbing; defaults are correct for a one-shot graph node.

Outputs: text plus raw_json, usage_json, credits_consumed and credits_left. usage_json is the one to read when you're wondering why a caption cost what it did.

Install and key

cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
cd ComfyUI-KIE-Nodes-Next && pip install -r requirements.txt
# restart ComfyUI

Manager search "KIE.ai Nodes Next" does the same thing. Dependencies: requests, Pillow, numpy, PyYAML - no weight files, no VRAM, so installing this pack costs you nothing but disk. Then one key paste in Settings → KIE.ai Nodes Next → Connection; the pack validates it against KIE before saving, keeps only a masked fingerprint visible, and never writes the key into your workflow.

Traps

The node won't execute unless text feeds something downstream - it's not an output node, so a floating GPT node is skipped with no error and no charge. Confusing the first time.

Local preflight rejects empty prompts, broken JSON in the history/tools/override fields, and out-of-range numbers before any call. What it can't check is the image itself: dimensions, colour space and content are provider-side, so a rejection there arrives as the provider's own message.

And the strategic question: do you need a reasoning model here at all? For "make my prompt longer", no - a local abliterated 8B does it free and uncensored. Use this node when the task is genuinely hard: reading a render and diagnosing what's wrong with it, producing strict JSON for the next node, or answering a question that needs current information. Otherwise you're paying frontier prices for adjectives.

CategoryKIE Next/LLM/OpenAI/GPT

Inputs (10)

NameTypeDefaultDescription
promptSTRINGUser prompt / message.
system_promptoptSTRING—
streamoptBOOLEANfalse—
tools_jsonoptSTRING[]Optional function/tool definitions supported by this model endpoint.
history_jsonoptSTRING[]Optional prior message/input array as JSON.
imagesoptIMAGE—
reasoning_effortoptCOMBOhigh4 options: low, medium, high, xhigh
web_searchoptBOOLEANfalseUse KIE's web-search tool where this endpoint supports it.
max_output_tokensoptINT40961–131072—
expert_override_jsonoptSTRING{}Expert-only request overrides. Normal use does not require this.

Outputs (5)

NameTypeDescription
textSTRING—
raw_jsonSTRING—
credits_consumedFLOAT—
usage_jsonSTRING—
credits_leftFLOAT—