P-Image Upscale (BudgetPixel)
Cloud upscaling to 32 megapixels while your GPU does something else
- image
- image
P-Image Upscale is the node to reach for when the image needs to get big and you don't want to tie up your GPU for the trip. Pruna's cloud upscaler takes an image and returns it at up to 32 megapixels in seconds, and it's a hosted API call like everything else in the BudgetPixel pack. It's not the best upscaler money can buy - the local heavyweight models like SeedVR2 still win on fine-detail restoration - but it's fast, hands-off, and priced per target tier, which makes it a genuinely useful addition to a ComfyUI graph for the jobs where your own hardware is busy or your source is already clean.
Billing is by target resolution tier, and the node help text is explicit: 4 MP = 10 credits, 8 MP = 15, 16 MP = 30, 32 MP = 60. So the question "how much detail do I actually need?" has a direct credit answer, which is refreshing compared to the per-second video rates elsewhere in the pack.
The inputs
image(required) - the image to upscale, as a normalIMAGEconnection.target- 4 / 8 / 16 / 32 megapixels. The pricing lever. Default 4.enhance_details- default off. Enhances textures and fine detail; the tooltip warns it may increase contrast.enhance_realism- default off. Improves realism, recommended for AI-generated images. If your source is a diffusion output with that telltale plastic sheen, this is the toggle that helps.output_format- jpg (default, recommended), png, or webp. The png warning is worth heeding: at 32 MP a lossless png gets enormous.
Output is a single image socket with the upscaled IMAGE tensor.
How it fits the bigger picture
The community's whole upscaling debate lives on the axis of "more pixels" vs "more detail." P-Image Upscale with enhance_details off is closer to the first - it makes the image larger without inventing much. Flipping enhance_details and enhance_realism on pushes it toward the generative end, where it will add texture but can also wander. The pragmatic move: keep both enhancements off for archival resizing, turn enhance_realism on for AI-generated sources you want to look photographic, and leave 32 MP for the rare job that genuinely needs print-scale output.
Because it's cloud-based, it also composes beautifully: run the pack's Nano Banana 2 at 1K as a draft, upscale the keepers here, and your local GPU never breaks a sweat.
Install and issues
Install via 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, find it under Add Node → BudgetPixel → Upscale, and set your API key via BUDGETPIXEL_API_KEY or a budgetpixel.json file - no key widget, by design.
Pack-wide caveats: a recent ComfyUI for core types, and interrupting a run leaves the server-side job running and billing. The one genuinely annoying edge: at 32 MP the output can be large enough that download and conversion take a moment - don't mistake a slow final step for a hung node.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Image to upscale. A public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. | |
| enhance_detailsopt | BOOLEAN | false | Enhance textures and fine detail (may increase contrast). |
| enhance_realismopt | BOOLEAN | false | Improve realism — recommended for AI-generated images. |
| output_formatopt | COMBO | jpg | Output format (jpg recommended; png files get very large at high megapixel targets). |
| targetopt | COMBO | 4 | Target output resolution in megapixels. Sets the price: 4 MP = 10, 8 MP = 15, 16 MP = 30, 32 MP = 60 credits. |
| force_rerunopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |