Nodes/comfyui-budgetpixel/BudgetPixel Cost Estimate
ComfyUI Node

BudgetPixel Cost Estimate

Put a price tag on a run before you spend

By budgetpixel-ai·Created about 17 hours ago·Updated about 12 hours ago· 3
BudgetPixel Cost Estimate
    • estimate
    model
    params_json{}

    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.

    CategoryBudgetPixel/Account

    Inputs (2)

    NameTypeDefaultDescription
    modelCOMBO58 options: clarity-upscaler, dreamactor-m2.0, flux-1.1-pro, flux-2-dev, flux-2-klein, flux-2-pro, +52
    params_jsonSTRING{}Generation params as JSON, e.g. {"num_images": 2, "size": "2K"} — same fields as the model node.

    Outputs (1)

    NameTypeDescription
    estimateSTRING