RunNode LLM API Pro Node
26 models, nine reference images, one string out
- ref_image1
- ref_image2
- ref_image3
- ref_image4
- ref_image5
- ref_image6
- ref_image7
- ref_image8
- ref_image9
- video
- response
The Pro version of the pack's LLM node, and the difference is mostly in the ergonomics. Instead of typing a model name into a text field, you get a dropdown of 26 named models - Kimi-K2.5, Qwen2.5 and Qwen3 family, DeepSeek-V4/R1/V3, GLM-4/5, MiniMax, even PaddleOCR-VL. Instead of one reference image socket, you get nine. And instead of a blank key field that gets you half way to an auth error, you get a node that will flatly refuse to run until you've configured an endpoint.
Under the hood it's the same story as the plain RN LLM API: an OpenAI-compatible API call, nothing local, no model download. The dropdown name maps to a real model id via a table in the source, and the node then goes hunting for that model's config - base URL, API key, temperature - by scanning the pack's config/ JSON for a matching model entry. The priority is: whatever you typed on the node wins, then environment variables, then the model-specific config block, then the global config. Up to nine reference images get base64-encoded as WebP (batched images are split per-frame), a video input gets sampled into up to max_video_frames keyframes, and the whole thing goes out as one multimodal chat request. response - a plain string - is what comes back, ready to wire into any text input or display node.
The inputs you'll actually touch:
model- the dropdown, default Kimi-K2.5. If the API complains "not a multimodal model" when you attach images, the node even catches that error and tells you to pick a vision model instead of dying silently. Nice touch.role,prompt,temperature(0.6) - the system prompt and the ask.ref_image1throughref_image9,video,max_video_frames(1–20, default 5) - the visual payload.seed- set it to anything you like; the code never actually sends it to the API. It's decoration.
The gotcha that catches everyone: unlike the base LLM API node, Pro has no apiBaseUrl or apiKey fields at all. You cannot set your endpoint on the node. If no base URL is found anywhere, it returns ERROR: No API base URL configured. Please check your configuration. To make this node work you must either set environment variables or drop a config file in place. The example ships as config/comfyui_rn_prompter-config.example.json; copy it to comfyui_rn_prompter-config.json, put your key and endpoint in the provider block, and the node becomes useful.
cd ComfyUI/custom_nodes/ComfyUI_rn_prompter/config
cp comfyui_rn_prompter-config.example.json comfyui_rn_prompter-config.json
Install is otherwise the same as the rest of the pack: ComfyUI Manager → search "RunNode Prompter", or git clone https://github.com/SF-Runnode/ComfyUI_rn_prompter into custom_nodes, restart. No model files. It does need the openai Python package - there's no requirements.txt in the pack, so if you see a module error on startup, pip install openai in your ComfyUI venv.
The honest framing: this is an API-wrapper node from a pack that looks like an internal tool that got published - zero impressions on comfy.icu, zero community threads about it, and default config endpoints that only make sense inside the org that built it. It's handy once you've pointed it at your own OpenAI-compatible endpoint, and the nine-image input is genuinely useful for comparing reference angles. Just don't expect it to work out of the box, and remember a node that holds a key and makes network calls by design deserves a quick check of where that endpoint actually is.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | Kimi-K2.5 | 26 options: Kimi-K2.5, Kimi-K2-Thinking, Qwen2.5-32B-Instruct, Qwen2.5-72B-Instruct, Qwen2.5-VL-32B-Instruct, Qwen2.5-VL-72B-Instruct, +20 |
| role | STRING | You are a helpful assistant | — |
| prompt | STRING | Hello | — |
| temperature | FLOAT | 0.60 | — |
| seed | INT | -1 | — |
| ref_image1opt | IMAGE | — | |
| ref_image2opt | IMAGE | — | |
| ref_image3opt | IMAGE | — | |
| ref_image4opt | IMAGE | — | |
| ref_image5opt | IMAGE | — | |
| ref_image6opt | IMAGE | — | |
| ref_image7opt | IMAGE | — | |
| ref_image8opt | IMAGE | — | |
| ref_image9opt | IMAGE | — | |
| videoopt | VIDEO | — | |
| max_video_framesopt | INT | 51–20 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | — |