BudgetPixel Cost Estimate
Put a price tag on a run before you spend
- estimate
The scariest part of an API-node pack like this one isn't the nodes - it's the moment a video job eats your whole credit balance and you didn't see it coming. BudgetPixel Cost Estimate exists so that moment doesn't happen. Drop it next to any model node, and it tells you exactly what a generation will cost before you queue it, with your account's discounts already applied.
It's not a generator and it produces no image or video. It's a meter, and that's fine - it's the cheapest node in the pack precisely because it only phones the API to ask the price.
How it works
The node calls POST /v1/cost with the model id and a JSON blob of generation params, and the server replies with the credit cost for that exact combination. "Discount-aware" means it reflects whatever deal your plan has, not the sticker price in the node help text - so a run that looks expensive on paper may be cheaper in practice.
Two required inputs, both boring on purpose:
- model - a dropdown of every model id the pack has loaded (the same ids as the model nodes, like
flux-2-pro,kling-3.0-standard,clarity-upscaler). - params_json - a JSON string matching that model's fields, e.g.
{"num_images": 2, "size": "2K"}.
The single output, estimate, is a STRING - something like kling-3.0-standard: ~850 credits. It's for your eyes and your logs; it doesn't plug into a sampler or gate anything. There's no "charge me" button and no way to accidentally spend credits here.
Why you'll actually use it
Video pricing in this pack is per-second, so a five-second clip at a 170-credits-per-second model is a different number than a two-second clip. That's the killer use case: include length_seconds (and resolution where it matters) in params_json and the estimate stops being a guess. Same for the image models with quality tiers - {"quality": "high", "resolution": "4K"} on a GPT-Image node is where sticker shock lives.
Pair it with the sibling BudgetPixel Credits node to see both sides: what you have, and what the next run takes.
Install
Same as the rest of the pack - ComfyUI Manager (search "BudgetPixel") or:
cd ComfyUI/custom_nodes
git clone https://github.com/budgetpixel-ai/comfyui-budgetpixel.git
pip install -r comfyui-budgetpixel/requirements.txt
Restart, then set BUDGETPIXEL_API_KEY (or a budgetpixel.json with {"api_key": "bpx_live_..."} inside the pack folder). It's a BudgetPixel API node through and through: no local model, no GPU, just the key.
Gotchas
params_json must be valid JSON - the node raises a clear "not valid JSON" error otherwise. And the enum values have to match the model node's, because the API validates them; {"size": "2K"} is fine on a model that offers 2K, and a hard error on one that doesn't. Don't expect it to be free forever, either: it's a real API call, so a graph full of cost-estimate nodes does hit the API each run. Keep a couple around the expensive branches of your workflow, not one on every node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 58 options: clarity-upscaler, dreamactor-m2.0, flux-1.1-pro, flux-2-dev, flux-2-klein, flux-2-pro, +52 | |
| params_json | STRING | {} | Generation params as JSON, e.g. {"num_images": 2, "size": "2K"} — same fields as the model node. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| estimate | STRING | — |