Mira ITU Pipeline Combine
Pack the tile-grid numbers into the descriptor the Mira nodes actually eat
- mira_itu_pipeline
Every Mira tiled-upscale node wants one thing in common: the mira_itu_pipeline descriptor, the custom object that carries the tile-grid math (full dimensions, tile dimensions, overlap, feather rate, pixel alignment) so the crop, sample, and merge stages stay consistent with each other. Normally the crop nodes hand this to you for free. Mira ITU Pipeline Combine is for when you want to build that descriptor yourself, by hand.
Why would you ever do that? The realistic case: you upscaled your image after cropping, so the dimensions changed, and you need the downstream nodes to know the new canvas size without re-cropping. Or you're composing a tiled pipeline programmatically - you know the numbers you want, you just need them wrapped in the type the merge nodes accept. It's a plumbing node, pure and simple. It has no opinion about your image; it just packages seven numbers.
The inputs
All seven are required ints/floats, no defaults:
- full_width / full_height - the full image dimensions (max 65536).
- tile_width / tile_height - the tile dimensions (max 8192).
- overlap - the overlap in pixels (max 2048).
- overlap_feather_rate - the feather multiplier (max 8).
- pixel_alignment - the alignment grid for tile math (max 256).
One output: mira_itu_pipeline, ready to feed OverlappedImageMerge, OverlappedLatentMerge, or MiraITUPipelineExtract.
How it works
From the source it's the shortest node in the pack: it returns a tuple of your seven values in exactly the order the other nodes unpack. (full_width, full_height, tile_width, tile_height, overlap, overlap_feather_rate, pixel_alignment). There's zero computation - which is the point: it's a typed constructor for the pipeline object, so you can build it from any upstream ints (math nodes, calculators, a text node that parses numbers).
Install
cd ComfyUI/custom_nodes
git clone https://github.com/mirabarukaso/ComfyUI_MiraSubPack
or search "MiraSubPack" in ComfyUI Manager and restart. No extra dependencies.
When to reach for it - and when not to
Reach for it when your graph genuinely needs a hand-built descriptor: you resized mid-pipeline, you're parameterizing tile size from a widget, or you're stringing a pipeline together without a crop node in the path. Skip it when a crop node is already producing a descriptor - ImageCropTiles and ImageCropTilesByPixels output the real thing computed from your actual image, and hand-rolling the same numbers is a great way to introduce a mismatch.
The one hard rule: the numbers must match reality. Get tile_width/height wrong relative to the actual tiles you're merging and the merge will place tiles in the wrong slots, silently. If your pipeline suddenly produces a scrambled image after adding this node, this is the first place to look. That's exactly why the pack also ships the inverse - MiraITUPipelineExtract - so you can pull a descriptor apart, modify one number, and rebuild it with this node.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| full_width | INT | Full image width. | |
| full_height | INT | Full image height. | |
| tile_width | INT | Tile width. | |
| tile_height | INT | Tile height. | |
| overlap | INT | Overlap pixels. | |
| overlap_feather_rate | FLOAT | Overlap feather rate. | |
| pixel_alignment | INT | Pixel alignment for tile calculations. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| mira_itu_pipeline | mira_image_tiled_upscaler_pipeline | — |