All articles
How to Use HiRes Fix for Sharper AI Character Images

How to Use HiRes Fix for Sharper AI Character Images

A practical guide to using HiRes fix for crisp, detailed character images at high resolution without the blur.

AI-assisted draft. Reviewed and edited by the Phosphene team before publication.

You generated a character at 1024×1024 and it looks great. Then you scale up to print or use it as a hero image — and everything goes soft. Eyes lose their catchlights, fabric texture dissolves, hair turns into a blurry mass. The model that nailed the composition at base resolution suddenly cannot hold detail when you ask for more pixels.

The fix is not generating from scratch at a larger size. The fix is a two-pass upscaling step called HiRes fix.

Why direct high-res generation fails

Diffusion models are trained on specific resolution buckets. SDXL, for example, is optimized around 1024×1024 — or aspect-ratio equivalents like 832×1216 and 1216×832. When you ask the model to generate directly at 1536×1536 or 2048×2048, it leaves its comfort zone. The composition often degrades: duplicated subjects, strange anatomy, or a general loss of coherence.

HiRes fix solves this by splitting the job into two passes.

How HiRes fix works

  1. Pass one — generate at native resolution. The model produces a full composition at its optimal size (e.g. 1024×1024 for SDXL). Composition, anatomy, and lighting are locked in here.
  2. Pass two — upscale and refine. The initial image is upscaled to your target resolution, then a second sampling pass adds detail. The denoise strength controls how much the model is allowed to change the image during this pass.

The result is a high-resolution image that keeps the composition of the first pass while gaining real detail in the second.

Parameters that matter

  • Upscaler: Latent upscalers stay inside the model's latent space and tend to preserve composition better. ESRGAN and similar pixel-space upscalers add crisper texture but can introduce artifacts. Test both on your subject.
  • Upscale multiplier: 1.5× is a safe starting point. 2.0× pushes detail further but increases render time and artifact risk. Avoid going beyond what your output medium actually needs.
  • Denoise strength: This is the single most important dial. Too low (0.1–0.2) and the second pass barely changes anything. Too high (0.6+) and you start rewriting the image, losing the composition you locked in pass one. The sweet spot for character work is usually 0.3–0.45.
  • Steps: The second pass needs fewer steps than the first — 15 to 25 is typically enough. More steps rarely improve detail past a certain point and just add render time.

Lock your seed

When you find a first-pass result you like, save the seed. HiRes fix uses that seed to build the second pass deterministically. This means:

  • You can re-run the upscale with different denoise values and compare side by side
  • You can swap upscalers without losing your base composition
  • Iteration becomes predictable instead of a slot machine

A simple workflow

  1. Generate at native SDXL resolution with your standard settings
  2. Pick the best result and note the seed
  3. Enable HiRes fix with a 1.5× multiplier, denoise at 0.35, and 20 steps
  4. Evaluate. If detail is lacking, nudge denoise up to 0.4–0.45
  5. If artifacts appear, drop the multiplier to 1.25× or reduce denoise

Change one variable per round so you know exactly what improved the output.

Applying this in Phosphene

Phosphene's tag-based prompt system lets you iterate on composition first — get the character, pose, and lighting right at base resolution before worrying about final output size. Once you have a generation worth keeping, the upscale step becomes a clean refinement pass rather than a gamble. Lock the seed, run HiRes fix, and you get a print-ready character image that holds up at any size.

Sources