Nodes/comfyui-stillfront/SF VertexAI Imagen 4 Upscale
ComfyUI Node

SF VertexAI Imagen 4 Upscale

Imagen 4 upscaling without a GPU — but know the 17-megapixel ceiling

By razvanmatei-sf·Created 9 months ago·Updated 7 months ago· 0
SF VertexAI Imagen 4 Upscale
  • image
  • upscaled_image
project_id
locationus-central1
upscale_factor2.0
safety_filter_levelBLOCK_MEDIUM_AND_ABOVE
person_generationALLOW_ADULT
output_formatimage/png

Upscaling is three different jobs wearing the same name - more pixels, more detail, or more frames - and Google's Imagen 4 upscale model does the second one. It's a generative upscaler: it looks at your image and invents plausible detail that was never there, the way SUPIR and SeedVR2 do locally. SF VertexAI Imagen 4 Upscale just points that cloud model at a ComfyUI tensor and hands the result back.

Which means: if your source is already sharp and you only need pixels, this is overkill and you should use a free ESRGAN model locally. If your image is soft, small, or lacking fine texture, this is the "add detail" lever - and it costs money and runs in the cloud instead of on your card.

It's one of the VertexAI nodes in the comfyui-stillfront pack. No model download, no VRAM, but you do need a Google Cloud project.

How it works

The node takes your IMAGE tensor, saves it to a temp file, and sends it to Vertex AI's Imagen 4.0 upscale model. Authentication is standard Google Application Default Credentials - gcloud auth application-default login and a project with Vertex AI enabled. The output aspect ratio matches your input, and the upscaled image comes back as a tensor.

The inputs that matter

  • image - your input tensor. The only required image input; wire in whatever you generated or loaded.
  • upscale_factor - 1.0 to 4.0, default 2. This is the number to actually think about, because of the cap: max output is 17 megapixels. That means a factor that works fine on a small image will silently top out on a big one - a 4K source at 4x would want way more than 17MP, and you'll be capped.
  • project_id and location - your GCP project and region (default us-central1).
  • Optional: safety_filter_level, person_generation, and output_format (image/png or image/jpeg). The first two are flagged "preview feature" in the tooltips, meaning Google is still tuning them on this model.

Output is a single upscaled_image (IMAGE) you can drop into a save or preview node.

Installing it

Same pack as the rest of the collection:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/comfyui-stillfront
cd comfyui-stillfront
pip install -r requirements.txt

Restart ComfyUI, then make sure Vertex AI is set up - enable the API on your project, authenticate with gcloud auth application-default login, and either type the project_id into the node or export GOOGLE_CLOUD_PROJECT.

Troubleshooting

  • Output isn't as big as I asked. The 17-megapixel cap is the usual culprit. Dial the upscale_factor down or start from a smaller source - a 1024×1024 image at 4x lands right around the limit.
  • Auth errors. ADC not set up, or the Vertex AI API not enabled on the project. The error will name it; gcloud auth application-default login fixes the first, the console fixes the second.
  • It's a generative upscaler, so faces change. The upscaling doc's rules apply: every generative rung rewrites identity. If you're upscaling a person you need to keep recognisable, give the face its own pass or use a pixel-only upscaler instead. This node invents detail, it doesn't just resize.

That last point is the one that decides whether this node is right for you. Clean product shots, art, textures - great fit. A face you need to remain the same face - think twice and plan a separate pass.

CategoryStillfront/VertexAI

Inputs (7)

NameTypeDefaultDescription
project_idSTRINGGoogle Cloud project ID
locationSTRINGus-central1Google Cloud region (e.g., us-central1)
imageIMAGEInput image to upscale
upscale_factorFLOAT2.01–4Upscale factor (1.0-4.0). Max output is 17 megapixels.
safety_filter_leveloptCOMBOBLOCK_MEDIUM_AND_ABOVESafety filter strictness level (preview feature)
person_generationoptCOMBOALLOW_ADULTPerson generation policy (preview feature)
output_formatoptCOMBOimage/pngOutput image format

Outputs (1)

NameTypeDescription
upscaled_imageIMAGE