ComfyUI Node

WaveSpeedAI Client

The node every other node in this pack refuses to work without

By razvanmatei-sf·Created 12 months ago·Updated 9 months ago· 0
WaveSpeedAI Client
    • client
    api_key

    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:

    1. The api_key field - if you type a key here, it wins, full stop.
    2. config.ini - if the field is empty, it reads config.ini in the pack folder (copy config.ini.tmp to config.ini, then put your key under [API]).
    3. WAVESPEED_API_KEY env 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.txt is oddly thin (requests, pillow, numpy, torch), but the code imports av, torchaudio, pydantic, and comfy_api at load time, and the pack's __init__.py swallows 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.ini to a public repo - it's gitignored for a reason. Your API key is money.
    CategoryWaveSpeedAI

    Inputs (1)

    NameTypeDefaultDescription
    api_keySTRING

    Outputs (1)

    NameTypeDescription
    clientWAVESPEED_AI_API_CLIENT