OpenRouter Studio · Status
The status node that checks your key and credits before you spend a cent
- key configured
- key source
- catalogue JSON
- credits JSON
Before you drop real money on a generation, wouldn't it be nice to know your API key actually works, your catalogue is current, and you have credits left? That's the entire job of this node. It's the diagnostics node of the OpenRouter Studio pack: no generation, no prompt, and - unless you flip one switch - no network calls at all.
It answers four questions in one go. Is a key configured? Where did it come from? Which catalogue source is active, and how many models does it hold? And (optionally) what does OpenRouter say your balance is? If you're setting the pack up for the first time or debugging "why did that generation fail", running Status is the fastest smoke test you'll get.
How it works
The node reads the pack's local state - the credential file and the catalogue - and renders it as outputs. Everything is read-only on the local side. The one input, check_credits (default false), is the only thing that makes an outbound call: a read-only authenticated credits GET to OpenRouter. It never submits a generation. Leave it off in workflows you save and share; flip it on when you actually want a balance check, because on a saved workflow it fires a network call on every run.
The outputs:
- key configured (
BOOLEAN) - is a usable key present. - key source (
STRING) - where it came from: the stored file, theOPENROUTER_API_KEYenvironment variable (which has priority), or a referenced shared key file. No secret content, just the origin. - catalogue JSON (
STRING) - which catalogue source is active (live fetch, last cache, or the bundled snapshot), when it was fetched, and the image/video model counts. - credits JSON (
STRING) - the credit response when check_credits is on, or{"checked": false}when it isn't.
That catalogue-source output is genuinely useful, not just ceremony. If OpenRouter was unreachable at startup, the pack silently falls back to its last cache and then its bundled snapshot - and this node is how you find out which one you're actually running on. A snapshot or stale cache is your cue to right-click any OpenRouter Studio node and choose Refresh OpenRouter catalogue before a production run.
Why the key-safety angle matters
This pack's signature move is that the API key never enters a workflow - no widget, no prompt, no JSON. It's stored in your ComfyUI user directory at __openrouter_studio/credentials.json, with the pack refusing to read it on macOS/Linux if group or other users can read it. Status gives you the confirmation without exposing the secret: it tells you a key is configured and where it came from, never what it is. Given that the whole category of API-wrapper nodes carries a real security history - one credential-stealing node in this ecosystem ended in a federal prosecution - a node that reports on key state without ever printing the key is a small thing done right.
Install and use
Same shared install as the rest of the pack: ComfyUI 0.28.0+, ComfyUI Manager → search OpenRouter Studio → Install → restart → paste your key on the first-run screen. No model downloads.
To use it, drop Status on the canvas, wire the outputs into text display nodes (or just read them in the node's widgets after a run), and hit go. If key configured is false, run the first-run setup again or set the environment variable. If the credits check reports an error, it says so in the JSON rather than lying - so a "no key configured" or a failed GET is something you can act on before a real job, not discover mid-bill.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| check_credits | BOOLEAN | false | Performs a read-only authenticated credits GET; never submits generation. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| key configured | BOOLEAN | — |
| key source | STRING | — |
| catalogue JSON | STRING | — |
| credits JSON | STRING | — |