Skip to main content
AI Image Creation

Upscale and Finish a Generated Image

Take a good generation to delivery resolution without inventing detail you did not ask for, and run the finishing passes that separate a demo image from a usable one.

Intermediate16 minBy ToolDix Editorial

Learning objectives

  • Separate resampling from generative upscaling and know when each applies
  • Control how much new detail an upscale is allowed to invent
  • Run finishing passes in an order that does not undo earlier work
  • Judge when an image is finished rather than merely larger

ToolDix original visual

AI Image practice loop
1

Frame

Name the outcome and constraints.

2

Build

Try one bounded workflow.

3

Review

Keep evidence, revise, and share.

A generation at the model's native resolution is rarely the deliverable. Print needs more pixels, hero images need more pixels, and the crop you actually want is usually a portion of the frame. The step between "good generation" and "usable asset" is upscaling, and it is where a surprising number of good images get quietly ruined.

The ruin is specific: generative upscalers invent detail. That is their function. Uncontrolled, they invent detail that contradicts the picture — hair that grows extra strands, fabric that acquires a weave the garment never had, faces that become subtly different people.

Two different operations wearing one name

ToolDix original diagram
Four operations, one word
Resampling
Computes new pixels from old ones. Adds no information, invents nothing. Larger and slightly softer.
Model-based upscaling
Reconstructs plausible detail. Fast and mostly faithful. Tells: over-sharp edges, waxy skin.
Diffusion refinement
Genuinely generating at the larger size. Most powerful, most dangerous -- detail appears that was never there.
Tiled refinement
Reaches very large sizes. Each tile sees the same prompt, so a prompt mentioning a face can grow several.
The working default: model-based upscale for the pixels, then a very low-strength diffusion pass to restore the texture the upscaler flattened.

Resampling — bicubic, Lanczos — computes new pixels from existing ones. It adds no information. The image gets larger and slightly softer, and nothing is invented. For a modest increase, or when fidelity to the original matters more than crispness, this is the right and boring answer.

Model-based upscaling — the ESRGAN family and its descendants — reconstructs plausible detail using a network trained on image pairs. It is fast, deterministic, and mostly faithful, and it has characteristic tells: over-sharpened edges and a slightly waxy texture on skin.

Diffusion refinement — running a low-strength image-to-image pass at the larger size — is the most powerful and the most dangerous, because it is genuinely generating. Detail appears that was never in the original because the model believes it should be there.

Tiled refinement processes the image in overlapping tiles so a large output fits in memory. It is how you reach very large sizes, and it introduces its own failure: each tile is denoised with the same prompt, so a prompt mentioning a face can produce a face in several tiles. Keep tile prompts generic, or use a tiling implementation that carries global context.

The working default for most images is a two-stage approach: model-based upscale to get the pixels, then a very low-strength diffusion pass to restore the texture that the upscaler flattened.

Detail is a budget, not a maximum

ToolDix original diagram
Detail is a budget, spent unevenly
Spend here
  • Eyes and face, masked
  • The subject's focal plane
  • Material where texture is the point
  • Anything at the centre of attention
Withhold here
  • Backgrounds -- softness is the depth cue
  • Out-of-focus foreground
  • Text and logos, always excluded
  • Anything a real lens would blur
Detail everywhere reads as artificial because real optics cannot do it. The strength that flatters a face is too high for the whole frame.

The single most useful idea here is that added detail should be spent where the eye goes and withheld everywhere else. A photograph has a focal plane. Detail everywhere reads as artificial precisely because real optics cannot do it.

Faces and eyes earn the most refinement, and also break the most visibly, so refine them with a dedicated pass at low strength rather than as part of a global one. Backgrounds should stay soft; refining them wastes the budget and flattens the depth cue that made the composition work. Text and logos should be excluded from refinement entirely — anything generative will scramble them, and they should be composited afterwards anyway.

Concretely, this means the refinement strength that looks right on a face is usually too high for the whole image. Masked passes are more work and produce noticeably better results.

The finishing order

ToolDix original diagram
Finishing order, because passes undo each other
1
Fix content
Inpaint defects while the image is small and cheap to iterate.
2
Upscale
To delivery size, or slightly above if you will crop.
3
Refine locally
Masked, low strength, only where it earns its cost.
4
Grade and grain
Grain last: upscaling destroys it and refinement invents its own.
5
Composite and export
Text, logos, real photography -- then the destination's actual spec.
Never carry a known defect into an upscale. You will only be repairing it at four times the size.

Passes interact, and running them in the wrong order means doing work twice.

Fix content first — inpaint the broken hand, remove the artifact — while the image is small and cheap to iterate on. Never carry a known defect into an upscale; you will only be repairing it at four times the size.

Then upscale to the delivery resolution, or slightly above it if you plan to crop.

Then refine locally, masked, at low strength, on the areas that earn it.

Then grade — colour, contrast, and any grain. Grain last, because upscaling destroys it and refinement invents its own.

Then composite any text, logos, or real product photography.

Then export to the actual delivery specification: the colour profile the destination expects, the format and compression it needs, and dimensions that match rather than merely exceed the slot.

Practice

Take one image you already like and produce a delivery-ready version, timing each stage. Do the whole thing twice: once with a single global refinement pass at a strength that makes the face look good, and once with a masked face pass plus an untouched background.

Compare at 100 percent. The difference is usually obvious and is the argument for masked passes. Keep both files and the settings, because these numbers transfer to every subsequent image from the same model.

Common mistakes

Upscaling a flawed image. Every defect gets larger and more expensive to fix. Repair first.

One global refinement pass at a strength tuned for faces. The face looks great and the sweater grows a texture it never had.

Sharpening after compression. Sharpen before export, and export once. Repeated save cycles compound artifacts.

Delivering more pixels than the slot needs. A 6000-pixel hero image on a web page is a performance problem, not a quality advantage. Match the specification.

Sources and license context

These references informed the lesson. ToolDix adds its own explanation, workflow, and practice rather than reproducing source material. Every link below leaves ToolDix and opens the publisher's own site in a new tab.

Keep going

Read these next on ToolDix.

Original lessons that build on what you just read.