ElevenLabs User Info (Credits)
Your credit balance as a ComfyUI node
- user_info
Before you complain that a generation failed, check this node. It tells you your account's tier, how many characters you've used this cycle, how many you have left, and whether your plan can even do the thing you're trying to do. Every error in this pack traces back to one of four causes - bad key, wrong tier, out of credits, dead endpoint - and this node diagnoses the first three in one run.
How it works
It GETs https://api.elevenlabs.io/v1/user with your api_key and formats the subscription payload into a readable text block: your email, subscription tier and status, character count vs. limit (with remaining computed), reset date, instant voice cloning availability, professional cloning limits, and API access status. All of it is displayed and echoed to the console.
Inputs
api_key- your key.refresh- a boolean, default false, labeled "Refresh Now" vs "Use Cache." Honest note: the node's code fetches live data every run regardless, so this toggle is more about intent than behavior. Don't rely on it to save you a request.
Output: a user_info STRING with the formatted account summary - or an error string if the key is missing or rejected (it'll tell you if api_key is empty straight away, which is handy).
Install
Identical to the rest of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/karthikg-09/Elevenlabs-ComfyUI.git
cd ElevenLabs-ComfyUI && pip install -r requirements.txt
or ComfyUI Manager → "Elevenlabs-ComfyUI" → restart. Under Add Node → ElevenLabs.
The practical play
This node is the pack's support desk. When Voice Clone fails with a 4xx, the first question is whether your tier includes cloning - can_use_instant_voice_cloning answers it. When TTS says you're out of credits, character_limit - character_count tells you exactly how much runway you have left and when it resets. It's also the cheapest possible sanity check on a fresh API key: run this once, and if it returns a clean account summary, your key is valid and your graph failures are somewhere else.
One honest caveat: it's a read-only utility with a string output, so it has no role in an actual audio pipeline - this is a debugging node you drag in when things break, not a stage you keep in a workflow. Think of it as a health check you run next to the Refresh Voices node whenever an ElevenLabs call misbehaves.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| refresh | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| user_info | STRING | — |