Superside Ideogram Upscale
Ideogram Upscale without the Ideogram tab — a generative upscaler for your ComfyUI graph
- image
- IMAGE
Ideogram's upscale model, wrapped up so it lives inside your ComfyUI graph instead of on their website. It's a generative upscaler, which is the key thing to understand before you wire it in: this isn't Lanczos with extra steps. It looks at your image, then re-renders it bigger while inventing plausible detail that was never there. That's exactly what you want when a portrait needs real pores at print size, and it's a liability when you just need a logo twice as big and identical.
The whole "more pixels vs. more detail" split is the mental model here. If your source already has the detail you want, a pixel upscaler (ESRGAN, Lanczos) is free, instant, and can't hallucinate. If your image is soft or small and you want a model to rebuild it, you want something like this. Ideogram's take on the job is a single call to fal-ai/ideogram/upscale on fal.ai, which means no VRAM and no model download on your side - but also a per-call price and your image leaving the machine, the standard trade of every API node in this pack.
The inputs that matter
Connect an image and paste your key, and it runs. There are only three things you'll actually touch after that:
resemblance(1–100, default 50) - how hard it sticks to the source versus inventing. Crank this toward 100 for product shots, logos, anything where a faithful reproduction is the point.detail(1–100, default 50) - how much new texture the model is allowed to add. This is the "more detail" dial, and it's the one that makes faces and fabric look crisper at the cost of the model deciding what the extra detail is.prompt(optional) - guide the upscale ("sharp metal edges, fine fabric weave"). Leave it empty if you want it to just enlarge.expand_promptlets the model flesh out that prompt for you.
There's a seed input if you want reproducible runs. Worth knowing: a seed of 0 isn't sent to the API at all - the node treats zero as "unset," so if you're wondering why seed 0 never gives you the same image twice, that's why. Set a real number if you want determinism.
The single output is the upscaled IMAGE, ready to feed a save node or continue down your pipeline.
How it works
Standard Superside machinery: the node uploads your tensor as a PNG to fal, calls the Ideogram upscale endpoint with your resemblance/detail values, and downloads the result back into the graph. Your image is hosted on fal's CDN in between - that's the "data leaves the machine" moment, so keep it in mind for anything under NDA.
Installing it
This ships in the Superside pack, so it installs with everything else:
cd ComfyUI/custom_nodes
git clone https://github.com/Superside/comfyui-superside-nodes
pip install -r requirements.txt
Or just search "comfyui-superside-nodes" in ComfyUI Manager and install from there, then restart. It needs a fal.ai API key pasted into the api_key widget - there's no config file, and the key is never stored in the repo (blank key falls back to a FAL_KEY env var if you've set one).
Where people get burned
The resemblance/detail balance is the main trap - a stock setting of 50/50 on a product logo will happily give you a logo that's not your logo, because generative upscalers rebuild detail rather than copy it. Push resemblance up for anything with text, brand marks, or a face you need to recognize. And remember every run costs fal credits, so the "let me try four settings" habit from local upscalers gets expensive fast. For pure enlargement of an already-sharp image, skip this node and use a local Lanczos resize - save the generative pass for the images that actually need detail rebuilt.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| api_key | STRING | — | |
| promptopt | STRING | — | |
| resemblanceopt | INT | 501–100 | — |
| detailopt | INT | 501–100 | — |
| expand_promptopt | BOOLEAN | false | — |
| seedopt | INT | 0–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |