Cloud Image Scale By
Rescale a cloud image by a factor without pulling it home
- image
- image
Cloud Image Scale By is the pack's resize knob for images that haven't left the cloud yet. You feed it a CLOUD_IMAGE, pick an interpolation method and a scale factor, and get back a resized CLOUD_IMAGE - with the actual resize happening cloud-side when your chain runs. It mirrors the stock ImageScaleBy exactly, right down to the five upscale_method options.
The honest framing: this is a pixel resize, not a generative upscaler. The five methods - nearest-exact, bilinear, area, bicubic, lanczos - are plain interpolation. If you're resizing because a downstream node demands a particular size (encode this into a latent, feed it to an img2img pass at a different resolution), this is the cheap, correct tool. If you're hoping for "bigger and more detailed," you want a real upscaler - a latent upscale model, a diffusion upscaler, or a dedicated upscale pass - and this node is not that. It's the plumbing, not the magic.
The inputs that matter
- image (
CLOUD_IMAGE) - from a Cloud Empty Image, Cloud VAE Decode, or any cloud image handle. - upscale_method -
nearest-exact(fast, blocky),bilinear,area,bicubic,lanczos(sharpest of the interpolation bunch, a bit costlier). For downscaling,areais the usual recommendation; for upscaling within interpolation,lanczosorbicubic. - scale_by (FLOAT, default 1.0, 0.01–8.0) - the multiplier. 2.0 doubles each dimension; 0.5 halves it.
Output: image (CLOUD_IMAGE) - the resized handle, ready for the next cloud node or a terminal.
How it works
Standard pack mechanics: it appends an ImageScaleBy spec referencing your image handle to the accumulating workflow JSON and returns the new handle. Nothing is resized at build time. When the terminal submits the graph, the cloud interpolates the image, and the resized version is what any downstream cloud node sees - and ultimately what gets fetched home. One practical consequence: the resize is baked into the submitted workflow, so changing scale_by means a fresh cloud submission (and fresh compute time) when you re-run.
How to install
cd ComfyUI/custom_nodes
git clone https://github.com/Dobidop/ComfyUI-CloudAPI-worker
Copy config.json.example to config.json, paste an API key from https://platform.comfy.org/profile/api-keys, restart. Or install via ComfyUI Manager. Dependencies: requests, Pillow, safetensors.
Common issues
- Expecting detail from
scale_by > 1- you'll get a bigger, blurrier image. That's what interpolation does; for real upscaling, chain a proper upscaler instead. - Downscaling to non-multiples of 8 - if the resized image feeds a latent encode downstream, keep dimensions in latent-friendly multiples of 8 or the VAE may complain.
- PoC expectations - a simple utility in an experimental pack; it does its one job cleanly, but don't expect more than the stock node gives you.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | CLOUD_IMAGE | — | |
| upscale_method | COMBO | 5 options: nearest-exact, bilinear, area, bicubic, lanczos | |
| scale_by | FLOAT | 1.000.01–8 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | CLOUD_IMAGE | — |