Claude Opus 4.7
Claude Opus 4.7 — the reasoning tier for when the graph has to think
- messages
- images
- text
Opus is the top shelf of Anthropic's lineup, and 4.7 is where that shelf now has a thinking dial that goes past "high" - all the way to max, xhigh, and adaptive. In ComfyUI terms, this node is for the workflow decisions that actually need a brain: planning a multi-step image pipeline, critiquing a batch of generations, resolving a prompt that keeps producing the wrong thing. It's the node you route the hard cases to, not the one you wire into every image.
It's served through Runware's cloud, so the "Opus" price is per-call, not per-GPU - no local model to manage, and the model id (anthropic:[email protected]) stays out of sight. The trade is that this is the most expensive text node in the pack, and its whole skill set (long, deep reasoning) is also its whole cost problem.
What you set
messages is required (RUNWARE_MESSAGES socket). The inputs that matter:
settings.thinkingLevel-off/low/medium/high/max/xhigh/adaptive. This is the node's superpower and its trap.xhighgenuinely buys better answers on hard problems and genuinely burns tokens doing it.settings.systemPrompt- the role/context for the reasoning.settings.maxTokens- up to 128000, default 4096. For long reasoning chains, 4096 may genuinely be too small - Opus will start thinking, hit the cap, and answer truncated. Raise it when the task is real reasoning; keep it low for short decisions.images-IMAGEsocket; Opus reads images for high-stakes visual analysis.toolChoice- gated toggle +type/name, withadvanced_jsonfortoolsandinputs.documents.settings.cache.scope/settings.cache.ttl- caching a large system prompt between Opus calls is the one move that makes this node affordable in a batch workflow.
Output is text (STRING). includeUsage turns on token reporting.
Installing
Part of the Runware/ComfyUI-Runware pack.
ComfyUI Manager: search Runware, install, restart.
Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Deps are runware-sdk, pillow, soundfile. Runware API key from runware.ai/api-keys (Settings panel or RUNWARE_API_KEY).
Where people get burned
Every dollar you spend on Opus is a dollar Sonnet could have spent. Before you wire Opus into a loop, ask whether the decision really needs it - and if you do use it, be deliberate: adaptive thinking, a task-sized maxTokens, and prompt caching. The people who complain this node is too expensive are almost always the ones leaving it at xhigh with the max token ceiling for a tagging job.
Inputs (14)
| 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.cache.scopeopt | COMBO | system+history | Controls which parts of the request are cached. |
| settings.systemPromptopt | STRING | System-level instruction that guides the model's behavior and output style across the entire generation. | |
| settings.thinkingLevelopt | COMBO | (default) | 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. |
| settings.cache.ttlopt | COMBO | 5m | Time-to-live for the cache. |
| advanced_jsonopt | STRING | Optional JSON merged into the request. For: inputs.documents, settings.stopSequences, tools |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |