Amazing Upscale Node Workflow for DIT Model

This workflow is designed for simple logic amazing upscale nodes in the DIT model. It supports common applications for Flux, Hunyuan, and SD3. The workflow tiles the initial image into smaller pieces, uses an image-interrogator to extract prompts for each tile, and performs an accurate upscale process. This approach minimizes hallucinations and ensures proper condition handling.

We hope you enjoy using it!

What's New

TeaCache Sampler Integration for Hunyuan Video

Thanks to the contributions from the TeaCache code repository (ali-vilab/TeaCache) and code references from facok/ComfyUI-TeaCacheHunyuanVideo, we’ve added support for the TeaCache sampler.

  • How to Use: Replace the samplercustomadvanced node in the official workflow with the TeaCache sampler node. Adjust the acceleration rate as needed to start using it.

  • Performance: In testing with an NVIDIA 4090, rendering a 720×480 resolution video with 65 frames took only 55 seconds using a speedup factor of x2.1. This is approximately twice as fast as the original method.

  • Caution: While the TeaCache sampler significantly accelerates processing, it may reduce image quality and dynamic effects. Use with discretion.

  • Precision Support: Supports bf16 and fp8.

image

https://github.com/user-attachments/assets/af06b9d3-9c84-4a83-ba90-eb4ec4bb2e99


Instructions

Smart Tile Experimental Workflow

The Smart Tile Experimental nodes provide a manual tile workflow that keeps the existing automatic tile nodes unchanged. They are designed for layouts where you want to split the image by visual structure, such as face, hands, subject, clothes, foreground, and background.

The first experimental version uses a large sampling area and a smaller paste area:

  • TTP Smart Tile Layout (Experimental): stores a JSON tile layout.
  • TTP Smart Tile Crop (Experimental): reads the input image directly, crops padded tile images, and outputs tile metadata plus a debug preview.
  • TTP Smart Tile Visual Crop (Experimental): creates a visual/parameter-based crop plan without JSON, using grid controls plus optional focus regions.
  • TTP Smart Tile Assemble (Experimental): assembles sampled tiles back into the final image with feathered weighted blending, priority, and importance weights.

Visual workflow without JSON:

Load Image
  → TTP Smart Tile Visual Crop (Experimental)
  → Preview the plan output and tune grid/focus parameters
  → VAE Encode / Sampler / VAE Decode
  → TTP Smart Tile Assemble (Experimental)
  → Final Image

TTP Smart Tile Visual Crop (Experimental) is the recommended starting point if you want to tune the tile plan visually in ComfyUI instead of editing JSON. It provides controls for grid columns/rows, grid padding/blending, optional full-image coverage, and two optional focus boxes. Connect its preview output to PreviewImage while adjusting parameters.

JSON workflow:

Load Image
  → TTP Smart Tile Layout (Experimental)
  → TTP Smart Tile Crop (Experimental)
  → VAE Encode / Sampler / VAE Decode
  → TTP Smart Tile Assemble (Experimental)
  → Final Image

Example layout:

{
  "defaults": {
    "pad": 128,
    "blend": 48,
    "priority": 50,
    "importance": 1.0
  },
  "tiles": [
    {
      "name": "full_image",
      "x": 0,
      "y": 0,
      "w": 1.0,
      "h": 1.0,
      "pad": 0,
      "blend": 96,
      "priority": 10,
      "importance": 0.5
    },
    {
      "name": "face",
      "x": 0.35,
      "y": 0.08,
      "w": 0.30,
      "h": 0.28,
      "pad": 192,
      "blend": 64,
      "priority": 100,
      "importance": 1.0
    }
  ]
}

Coordinates can be pixel values or normalized values from 0.0 to 1.0. pad expands the crop sent into the sampler, while blend, priority, and importance control how the sampled tile is pasted back.

1. Image Tile Batch Node

This node cuts an image into pieces automatically based on your specified width and height. It also records the necessary information for further processing.

Parameter Description
Width The width of each tile.
Height The height of each tile.
Image The image to be tiled.

Node View:

Image Tile Batch Node


2. Image Assembly Node

This node reassembles image tiles back into a complete image while preventing visible lines between the tiles. It operates in pixel mode.

Parameter Description
Tiles Input the tiled image batch. Replace individual tiles if needed.
Position Paired with the Image Tile Batch Node.
Original Size Paired with the Image Tile Batch Node.
Grid Size Paired with the Image Tile Batch Node.
Padding The padding value used to merge the image pieces.

Node View:

Image Assembly Node


3. Tile Image Size Node

This node calculates the resolution of each tile based on the original image dimensions and your specified width/height factors.

Parameter Description
Width Factor Divides the image width into equal parts.
Height Factor Divides the image height into equal parts.

For example: A width factor of 2 and a height factor of 3 will divide the image into 6 equal tiles.

Node View:

Tile Image Size Node


4. Coordinate Splitter Node

This node converts position information into coordinates and connects them to the corresponding positions.

Node View:

Coordinate Splitter Node


5. Cond to Batch Node

This node converts condition lists into batches. It is reserved for future functionality expansion and connects to the conditions.

Node View:

Cond to Batch Node


6. Condition Merge Node

This node merges all tiled conditions into one and prepares them for building the final image. It connects to the Coordinate Splitter Node and Cond to Batch Node.

Node View:

Condition Merge Node


Examples

Pixel Example Workflow

Latent Example

Latent Example Workflow


ControlNet Tile Integration

This workflow supports ControlNet Tile for enhanced upscaling. Here's an example of using tiles with the Hunyuan DIT model:

Resource Link
Tile Example Hugging Face Tile
Hunyuan 1.2 Download Hunyuan 1.2

Workflow Example:

Hunyuan Example Workflow


Star History

Star History Chart
S
Description
No description provided
Readme MIT
23 MiB
Languages
Python 79.2%
JavaScript 20.8%