Generated reference · ComfyUI workflow · Utility & post

Image Upscale & Enhance

Upscale and enhance images with AI-powered quality improvement

Utility & post12nodesGPU A5000out image~45sv1.0.0

On this page
12Graph nodes
11Node classes
13Inputs
4Models

Tags: upscaleenhancequalityrestorationimprovement

Inputs (13)#

The typed parameter surface callers bind when they request this workflow. Enum options and numeric bounds are the values the workflow document declares.

input_imageimagerequired
Image to upscale and enhance
upscale_factorenumdefault 4x
Upscale multiplier
options: 2x4x8x
upscale_modelenumdefault RealESRGAN_x4plus
Upscaling model to use
options: RealESRGAN_x4plus4x-UltraSharp
enhancement_typeenumdefault general
Type of AI enhancement to apply
options: nonegeneralfaceartphoto
enhancement_strengthfloatdefault 0.3min 0.0max 1.0
How strongly to apply enhancement (0.0-1.0)
denoise_strengthfloatdefault 0.1min 0.0max 1.0
Noise reduction strength
sharpenbooleandefault true
Apply sharpening
sharpen_amountfloatdefault 0.5min 0.0max 2.0
Sharpening intensity
color_correctionbooleandefault false
Apply automatic color correction
preserve_detailsbooleandefault true
Prioritize detail preservation
output_formatenumdefault png
Output format
options: pngjpgwebp
seedintegerdefault -1
Random seed (-1 for random)
checkpointenumdefault dreamshaper_8
SD1.5 checkpoint: DreamShaper 8 finetune (default, baked VAE) or base 1.5
options: dreamshaper_8sd15_base

ComfyUI node graph (12)#

The executable ComfyUI prompt graph: 12 nodes across 11 distinct node classes, wired by 15 data dependencies. Nodes tinted green come from a custom node pack this workflow declares; the rest are ComfyUI core / baked-community classes.

flowchart TD n0["1: LoadImage"] n1["2: UpscaleModelLoader"] n2["3: ImageUpscaleWithModel"] n3["4: CheckpointLoaderSimple"] n4["5: VAEEncode"] n5["6: CLIPTextEncode"] n6["7: CLIPTextEncode"] n7["8: KSampler"] n8["9: VAEDecode"] n9["10: ImageSharpen"] n10["11: ColorCorrect"] n11["12: SaveImage"] n1 -->|upscale_model| n2 n0 -->|image| n2 n2 -->|pixels| n4 n3 -->|vae| n4 n3 -->|clip| n5 n3 -->|clip| n6 n3 -->|model| n7 n5 -->|positive| n7 n6 -->|negative| n7 n4 -->|latent_image| n7 n7 -->|samples| n8 n3 -->|vae| n8 n8 -->|image| n9 n9 -->|image| n10 n10 -->|images| n11 classDef custom fill:#12b886,stroke:#0b6b4f,color:#04110c; class n10 custom;
Data-flow DAG — scroll to zoom, drag to pan.

Nodes (12)#

1LoadImagecore
image = {{input_image}} tmpl
outputs: IMAGEMASK
2UpscaleModelLoadercore
model_name = {{upscale_model}}.pth tmpl
outputs: UPSCALE_MODEL
3ImageUpscaleWithModelcore
upscale_model = ◂ node 2 · out[0]image = ◂ node 1 · out[0]
outputs: IMAGE
4CheckpointLoaderSimplecore
ckpt_name = {{checkpoint_files[checkpoint]}} tmpl
outputs: MODELCLIPVAE
5VAEEncodecore
pixels = ◂ node 3 · out[0]vae = ◂ node 4 · out[2]
outputs: LATENT
6CLIPTextEncodecore
text = {{enhancement_prompts[enhancement_type]}}, high quality, detailed, sharp, professional tmplclip = ◂ node 4 · out[1]
outputs: CONDITIONING
7CLIPTextEncodecore
text = blurry, low quality, artifacts, noise, pixelated, compressed, distortedclip = ◂ node 4 · out[1]
outputs: CONDITIONING
8KSamplercore
model = ◂ node 4 · out[0]positive = ◂ node 6 · out[0]negative = ◂ node 7 · out[0]latent_image = ◂ node 5 · out[0]seed = {{seed}} tmplsteps = 20cfg = 5.0sampler_name = eulerscheduler = normaldenoise = {{enhancement_strength}} tmpl
outputs: LATENT
9VAEDecodecore
samples = ◂ node 8 · out[0]vae = ◂ node 4 · out[2]
outputs: IMAGE
10ImageSharpencore
image = ◂ node 9 · out[0]sharpen_radius = 1sigma = {{sharpen_amount}} tmplalpha = {{sharpen_amount}} tmpl
outputs: IMAGE
11ColorCorrectcustom pack
image = ◂ node 10 · out[0]auto_exposure = trueauto_white_balance = true
outputs: IMAGE
12SaveImagecore
images = ◂ node 11 · out[0]filename_prefix = upscaled_enhanced

Parameter banks (2)#

The prompt / configuration lookup tables this workflow keys into from its inputs — the vocabulary that turns a style / palette / preset selection into graph parameters.

enhancement_prompts (5)#

none
general
enhanced quality, improved clarity, refined details, professional finish
face
enhanced face details, clear skin texture, defined features, portrait quality
art
enhanced artistic quality, refined brushwork, improved color depth, gallery quality
photo
enhanced photograph, improved exposure, balanced colors, professional photography

upscale_factor_map (3)#

2x
2
4x
4
8x
8

Models & dependencies#

Custom node packs (1)#

The non-core ComfyUI node classes this graph requires; the RunPod worker image the workflow runs on must bake or install a pack that provides every one of them.

ColorCorrect

Checkpoint aliases (2)#

dreamshaper_8
DreamShaper_8_pruned.safetensors
sd15_base
v1-5-pruned-emaonly.safetensors

Models required (4)#

4x-UltraSharp.pth
DreamShaper_8_pruned.safetensors
RealESRGAN_x4plus.pth
v1-5-pruned-emaonly.safetensors

Output contract#

What a successful run of this workflow returns.

type
image
format
{{output_format}}
channels
4

Taxonomy & routing#

How the control plane classifies this workflow — from the committed workflow-taxonomy-registry.json. It drives the consistency / control surface the agentic director can exercise over the workflow.

assetFamily
mkt-print-ooh-asset-pack
outputPackageProfile
image-single-profile
controlModalities
color-script-lockcontrolnet-tilemodel-lockprompt-template-locksampler-scheduler-lockseed-lockstyle-lock
consistencyDimensions
color-script
notes
Auto-mapped from utility defaults