GPT-5.5
The newest model in the pack, JSON-native and thinking by default
- messages
- images
- text
When a new GPT lands, the first question is "what's it actually for?" GPT-5.5's answer, at least as Runware ships it: a current-generation reasoning model that defaults to thinking at medium depth, can be told not to think at all, and - the genuinely useful part for ComfyUI - hands you a JSON output mode plus a jsonSchema escape hatch. If you're building workflows where the LLM's answer has to slot into the graph as data, not prose, this is the node to try first.
How it works
A textInference node calling GPT-5.5 through the Runware cloud. Required messages input is a RUNWARE_MESSAGES socket from the Runware Messages builder (Runware/Params).
The control surface is the reasoning-model layout (no temperature/topP - locked, like the Pro):
settings.thinkingLevel- defaults tomedium, and unlike the 5.4 nodes there's a realnoneoption alongsidelow/medium/high/xhigh. Want fast, non-reasoning output for a classification job? Setnoneand save the money.outputFormat- TEXT or JSON. JSON mode is the headline: set it and the model returns valid JSON you can actually parse downstream.advanced_json- takes JSON forjsonSchema(pin the exact response shape) andtools(function calling). Combined with JSON output, this turns the node into a proper structured-data endpoint.settings.systemPrompt,settings.maxTokens(default 4096, up to 128k),images(IMAGE) for vision,toolChoice/toolChoice.type/toolChoice.name,numberResults, andincludeUsage.
Output is a text STRING - with JSON mode on, that string is parseable JSON, so wire it into a JSON parser node or a text consumer that can split it.
Install
Ships in ComfyUI-Runware:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart (or ComfyUI Manager → search "Runware"). Cloud model, no downloads. API key: Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.
Gotchas
Thinking at medium by default means the cost baseline is higher than the small models - if you only need a quick yes/no, drop thinkingLevel to none or switch to a Mini/Nano node. JSON mode is reliable but not a magic wand: pair it with a jsonSchema in advanced_json for anything with nested structure, or you'll still get surprises. And the usual statelessness rule applies - no conversation memory between executions.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| messages | RUNWARE_MESSAGES | — | |
| imagesopt | IMAGE | — | |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| includeUsageopt | BOOLEAN | false | Include token usage statistics in the response. |
| settings.maxTokensopt | INT | 40961–128000 | Maximum number of tokens to generate in the response. |
| settings.systemPromptopt | STRING | System-level instruction that guides the model's behavior and output style across the entire generation. | |
| settings.thinkingLevelopt | COMBO | medium | Controls the depth of internal reasoning the model performs before generating a response. |
| toolChoiceopt | BOOLEAN | false | Enable to set toolChoice. Off uses the model's default. |
| toolChoice.nameopt | STRING | Name of the specific tool the model must call. Required when type is `tool`. | |
| toolChoice.typeopt | COMBO | (default) | Strategy the model uses to decide when and which tools to call. |
| outputFormatopt | COMBO | TEXT | Output format for the generated text. |
| advanced_jsonopt | STRING | Optional JSON merged into the request. For: jsonSchema, tools |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |