Multi-Pass Rendering

Chain multiple diffusion passes with different models and settings in a single render

Last updated: 2026-02-19

Multi-Pass Rendering

Multi-pass rendering lets you chain multiple diffusion passes in a single render. Each pass can use a different model, template, and diffusion settings — and the output of one pass feeds directly into the next through GPU memory.

This is useful when a single diffusion pass isn't enough to achieve the look you want. For example, you might run a coarse pass with a fast model at high strength to establish the composition, then follow it with a refinement pass using a higher-quality model at low strength to add detail.

How It Works

Each render can have one or more passes. A pass is a complete set of hextile and diffusion settings — model, template, strength, prompts, ControlNet, LoRAs, and everything else. When you render with multiple passes:

  1. Pass 1 runs on your input image using its own settings
  2. The output is kept in GPU memory (no disk round-trip)
  3. Pass 2 uses that output as its input, with its own independent settings
  4. This continues for as many passes as you've defined
  5. The final pass output becomes the finished render

Each pass produces its own intermediate output that you can inspect individually after the render completes.

The Pass Panel

Multi-pass is controlled through the Pass Panel — a floating layer panel on the left side of the interface.

Enabling Multi-Pass

  1. Click the Multi-Pass toggle in the header toolbar
  2. The Pass Panel appears on the left with a single pass ("Pass 1")
  3. All existing settings are captured as Pass 1's configuration

Adding a Pass

Click the + button at the bottom of the Pass Panel. A new pass is created with a copy of the current settings. You can then modify it independently.

Switching Between Passes

Click any pass pill in the panel. The entire settings UI — model, template, strength, prompts, ControlNet, LoRAs — switches to that pass's configuration. Any changes you make are saved to the active pass automatically.

Managing Passes

  • Rename: Hover over a pass pill and click the pencil icon
  • Remove: Hover over a pass pill and click the trash icon
  • Reorder: Passes execute in the order shown, top to bottom

Per-Pass Settings

Each pass has its own independent copy of:

Setting Example Use
Model Pass 1: SD 3.5 Turbo (fast), Pass 2: SDXL Inpaint (quality)
Template Pass 1: Hextile_20_2K (coarse), Pass 2: Hextile_44_4K (detailed)
Strength Pass 1: 0.85 (heavy restyle), Pass 2: 0.25 (subtle refinement)
Prompts Different text prompts per pass
ControlNet Enable only on specific passes
LoRAs Apply style LoRAs on one pass, detail LoRAs on another

Common Workflows

Coarse-to-Fine

The most common multi-pass workflow. Use a fast model at high strength for the first pass to block out the composition, then refine with a higher-quality model at low strength.

Pass 1 Pass 2
Model SD 3.5 Medium SDXL Inpaint
Template Hextile_20_2K Hextile_44_4K
Strength 0.85 0.25
Purpose Establish composition Add fine detail

Style Transfer Chain

Apply a strong style transformation first, then use a second pass to preserve detail and correct artifacts.

Pass 1 Pass 2
Model SDXL Inpaint SD 3.5 Large
Strength 0.70 0.15
LoRA Style LoRA enabled None
Purpose Apply style Clean up and refine

Progressive Detail

Start with a low-tile template for speed, then increase tile count for sharpness in subsequent passes.

Pass 1 Pass 2 Pass 3
Template Hextile_20_2K Hextile_32_3K Hextile_44_4K
Strength 0.80 0.40 0.20
Purpose Base composition Mid detail Final sharpness

GPU Memory

Intermediate pass outputs are kept in GPU memory (via CuPy) rather than written to disk between passes. This avoids JPEG compression artifacts and keeps the pipeline fast. The final output of each pass is also saved to disk so you can inspect intermediate results after the render completes.

Each pass creates its own output directory (pass_0/, pass_1/, etc.) alongside a passes.json manifest describing what settings each pass used.

Progress Tracking

During a multi-pass render, the progress display shows:

  • Which pass is currently running (e.g., "Pass 1 of 2")
  • Per-pass progress bar
  • Pass-aware ETA based on the total tile count across all passes

Comparing Pass Results

After a multi-pass render completes, you can visually compare the output of each pass using drag-to-cycle — a click-and-hold + drag-up gesture that works in three places:

How to Use

  1. Click and hold on a tile, the 2D preview image, or the 360 viewer's eye button
  2. Drag upward to cycle through versions: Original → Pass 1 → Pass 2 → ... → Final Render
  3. Release to snap back to the current view

A floating badge shows which version you're viewing as you drag. The further up you drag, the later the pass.

Where It Works

Context Element What It Shows
Tile grid Any processed tile That tile's output at each pass
2D preview The main preview image Full render output at each pass
360 viewer The eye button (peek control) 360 panorama texture at each pass

For single-pass renders, the gesture toggles between the original input and the render output (same as before).

Tips

  • Start with 2 passes. Most workflows only need a coarse pass and a refinement pass. Adding more passes increases render time proportionally.
  • Use low strength on later passes. The refinement pass should enhance, not overwrite. Strength 0.15–0.30 is typical for a second pass.
  • Mix models intentionally. Different models have different artistic character. A fast model for structure + a detailed model for refinement is a powerful combination.
  • Save your configs. Multi-pass configurations export and import with the standard config file, so you can save and reuse your favorite pass setups.
  • Compare passes while tuning. Use drag-to-cycle to see exactly what each pass contributed. If a later pass isn't improving the result, adjust its strength or remove it.
Esc
Searching...
No results found.
Type to search the documentation
Navigate Select Esc Close

We use cookies for analytics to understand how visitors use our site. Privacy Policy