NS WaveSpeed Client
The One WaveSpeed Key You'll Paste, Then Forget
- client
Every hosted-image node in this pack's WaveSpeed family - Flux Kontext, ControlNet Union, Qwen, Nano Banana, all of it - needs one thing before it can do anything: a WAVESPEED_AI_API_CLIENT. NSWaveSpeedClient is how you make one. It's a credential node: paste a WaveSpeed API key, it hands back a client object, and you wire that client into every WaveSpeed node in your graph. One key, one node, no repeated pasting.
Let me save you a confusion that tripped me up: the "WaveSpeed" in the community's conversation usually means the local inference engine that speeds up Flux/LTXV generations on your own GPU. That's a different thing. This node wraps the hosted WaveSpeed AI API - image and video models on WaveSpeed's servers, billed per call, keyed with WAVESPEED_API_KEY. Same brand, opposite direction: theirs runs on your card, this runs on their cloud.
How it works
The node reads its api_key input. Leave the field empty and it resolves the key from the pack's settings in order: Settings → Symbiotica → WaveSpeed API key, then the WAVESPEED_API_KEY env var, then a config.ini entry. Whatever resolves becomes a client object on the single client output, which you wire into the client socket on any NSWaveSpeed* node.
That's the entire node. Don't look for more - it's plumbing, and it's deliberately boring so the rest of the family can assume a valid client.
Inputs and output
Required: api_key (leave empty to use Settings/env/config). Output: client of type WAVESPEED_AI_API_CLIENT.
Install and setup
Part of the Symbiotica pack. ComfyUI Manager → search "Symbiotica", or:
cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt
Restart, then get a WaveSpeed API key from their platform and put it in Settings → Symbiotica → API Keys (search "Symbiotica" in Settings). Same advice as every key field in this pack: prefer Settings over the node widget, because a key typed into the widget is saved into the workflow file and travels with it when you share.
Troubleshooting
- The WaveSpeed nodes error with "no client" - you skipped this node or left its output unwired. Every WaveSpeed generation node requires a client on its
clientsocket; there's no silent fallback. - 401/unauthorized from a generation node - the client got no key, or the key is wrong. Check Settings → Symbiotica, then the env var, then that you didn't put a typo in the widget.
- "This is the local speedup engine, right?" - no. If you came here looking for the Flux/LTXV speedup engine by the same name, this is the hosted-API family; different project, different key.
- I wired one client to every node and it works - yes, that's the intended design. One client node per workflow, fanned out, is exactly right.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — |