π€ Nexa Model Selector
The half of the Nexa duo that finds your models for you
- model_config
This node is half of the pack's Nexa SDK mode - the selector half. Pair it with NexaTextGeneration and you get a local LLM that behaves a lot like calling an API, except the model files are managed by Nexa's own service instead of dumped in a folder by you. If you're already pulling GGUFs with nexa pull, this is the node that connects those models to your ComfyUI graph. If you've never heard of Nexa before, you're not alone - it's a genuinely niche corner of the local-LLM world, and this pack is one of the few places it shows up inside ComfyUI.
For the record: "Nexa" here is Nexa AI's SDK, a local inference service that serves GGUF models over an OpenAI-compatible HTTP API on port 11434. Yes, that's the same port as Ollama. Not a coincidence - the pack treats the two as siblings, and the remote path accepts both.
How it works
When you run the node it creates the pack's Nexa inference engine pointed at base_url, checks the service is alive, asks /v1/models for the list of downloaded models, and bundles everything - the URL, the optional system_prompt, and the model list - into a NEXA_MODEL config. That config is the node's only output, model_config, and it flows straight into NexaTextGeneration. It's a plumbing node, honestly: nothing generative happens here.
The inputs you'll actually touch:
base_url- leave it athttp://127.0.0.1:11434unless your service lives elsewhere.refresh_models- flip this when you've pulled a new model and the downstream dropdown isn't showing it. It forces a fresh list instead of the cached one.system_prompt- optional, but this is where you set the tone for every generation that follows. If you want single-paragraph answers, say so here.
Setup
This is the pack's optional path, and it's genuinely optional - you don't need any of it for local GGUF or Transformers modes. But if you want it:
pip install nexaai
nexa serve
nexa pull mradermacher/Huihui-Qwen3-4B-Instruct-2507-abliterated-GGUF:Q8_0 --model-type llm
The service lands at http://127.0.0.1:11434. Verify with curl http://127.0.0.1:11434/v1/models.
Common issues
The README's troubleshooting is the source of truth here. If the node reports the service isn't available, nexa serve isn't running or the URL is wrong - start it, then curl to confirm. If a downloaded model doesn't show up, run nexa pull, flip refresh_models, and restart ComfyUI. And if nexa list shows weird 0B entries, that's a stale cache: delete ~/.cache/nexa.ai/nexa_sdk/models/local and workspace plus any *.lock files under that models dir, then re-list.
One thing to know before you commit: the pack's Nexa presets skew hard toward abliterated/uncensored Qwen3 variants - that's the author's editorial taste, visible in both the preset list and the pack's model registry. Fine if that's your thing; just don't assume the defaults are the family-friendly picks.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| base_url | STRING | http://127.0.0.1:11434 | Nexa SDK ζε‘ε°ε |
| refresh_models | BOOLEAN | false | ε·ζ°ζ¨‘εε葨 |
| system_promptopt | STRING | η³»η»ζη€Ίθ―οΌε―ιοΌ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_config | NEXA_MODEL | β |