WaveSpeedAI Client
The node every other node in this pack refuses to work without
- client
Before you can use a single one of the ~20 WaveSpeed nodes, you need this one. The WaveSpeedAI Client node is the front door to the whole razvanmatei-sf/razv-wavespeed pack: it holds your API key and hands a connection object to every generation node in the pack. No client node, no generation. It's the boring node, but it's the one that decides whether everything else works - and the one beginners trip over most, because it's also where the pack's paid-API reality lives.
Quick reality check before you get invested: this pack does not run models on your machine. Every node it feeds calls the WaveSpeed AI cloud API, and every call is billable. You need a WaveSpeed AI account and an API key. If you came here from a workflow that promised "free video generation," this is where the dream dies - but it's also why you don't need a GPU, which for some people is the whole point.
How it works
The node is a thin key-holder. Type an api_key (or not - see below) and it returns a client object of the custom WAVESPEED_AI_API_CLIENT type. That's the only output, and it's the only thing every other node's client input accepts. The generated client then attaches that key as a Bearer token to requests at https://api.wavespeed.ai, with automatic retry/backoff on SSL hiccups baked into the underlying client.
The key-resolution order matters, and it's a nice touch:
- The
api_keyfield - if you type a key here, it wins, full stop. config.ini- if the field is empty, it readsconfig.iniin the pack folder (copyconfig.ini.tmptoconfig.ini, then put your key under[API]).WAVESPEED_API_KEYenv var - the fallback if both of the above are empty.
If all three are empty, you get a clear error telling you to set a key. There's no silent failure here - which is refreshing.
The input that matters
One input, one job: api_key. A plain single-line string. Leave it blank if you're using config.ini or the env var; fill it in if you want the key visible in your workflow (it will be, in plaintext - that's a consideration if you share workflows publicly).
Install
It's the pack's core node, so install once:
cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed
# restart ComfyUI
Or ComfyUI Manager → search "razv-wavespeed" → Install. Then set up a key by one of the three routes above. The config.ini route looks like:
[API]
api_key = YOUR_WAVESPEED_API_KEY_HERE
Common issues
- "Unauthorized: Invalid API key" - either the key is wrong or it's a 401 from WaveSpeed's side. Double-check which route is actually supplying the key; if you have a stale key in the node field, it overrides your shiny new config.ini.
- Zero WaveSpeed nodes in the menu. The pack's
requirements.txtis oddly thin (requests, pillow, numpy, torch), but the code importsav,torchaudio,pydantic, andcomfy_apiat load time, and the pack's__init__.pyswallows import errors silently. ComfyUI usually ships those - if nothing appears at all, verify they're importable in your Python env. - Name confusion, for real. "WaveSpeed" in ComfyUI circles usually means the acceleration pack that speeds up local Flux/LTX/Hunyuan with first-block caching. That is a different project entirely from WaveSpeed AI the API host. You've got the right one if you're here for cloud generation.
- Don't commit
config.inito a public repo - it's gitignored for a reason. Your API key is money.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — |