๐ฏ Smart Tile Conditioning
Per-tile prompts, encoded in a single CLIP pass
- clip
- bundle
- conditionings
- negative
- debug_info
This is the node that makes tiled upscaling intentional instead of mechanical. Plain tiled upscaling runs the same prompt on every tile. Smart Tile Conditioning gives each tile its own text prompt - "this tile is the sky", "this tile is the brick wall" - and encodes them all with one CLIP load, then hands the whole list to the sampler. If you've ever wanted to say "detail the water in the lower-right tile but don't touch the clouds," this is the node that makes that sentence real.
It's part of the "Smart Tile" subsystem of ComfyUI-ArchAi3d-Qwen (Amir Ferdos's pack). The per-tile prompts themselves come from the pack's Smart Tile Prompter node (a sibling that writes descriptive prompts for each tile, possibly with position prefixes like "This top-left tile..."). This node is where those strings become conditioning.
Inputs
- clip - the CLIP model. One load, all tiles encoded from it.
- tile_prompts - comma-separated prompts, one per tile in grid order. The tooltip points at Smart Tile Prompter's
tile_prompts_labelsoutput as the intended source. - negative_prompt - one global negative applied to every tile (default: "blurry, low quality, artifacts, distorted"). No per-tile negatives here - that's a reasonable simplification.
- bundle (optional) - a SMART_TILE_BUNDLE from Smart Tile Prompter; connects and it auto-fills
tile_prompts. You don't type anything. - strip_position_prefix (default on) - removes phrases like "This top-left tile..." before encoding. The author's reasoning: position info already lives in the SEGS crop, so the model doesn't need it repeated in text, and the shorter prompt encodes cleaner.
Outputs: conditionings (a CONDITIONING_LIST - one entry per tile, matched by index to the SEGS) and negative (the single negative conditioning). Both feed the Smart Tile Sampler or Detailer.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
cd ComfyUI-ArchAi3d-Qwen
pip install -r requirements.txt
Or ComfyUI Manager โ "ArchAi3d Qwen". No model downloads (it encodes with whatever CLIP you connect). Free for personal use; commercial use needs a license.
The honest take
The single-CLIP-load batching is the quiet win here - encode N prompts without reloading the CLIP N times, which is exactly the kind of slowdown that makes per-tile prompting impractical elsewhere. The catch is that it's only as good as the tile prompts you feed it, and the natural source (Smart Tile Prompter) is a sibling node you'll also need to install along with this pack - it ships in the same repo. If you're hand-writing prompts instead, keep them terse; the strip_position_prefix toggle exists because verbose prefixed prompts mostly just cost you tokens.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | CLIP model for text encoding | |
| tile_prompts | STRING | Comma-separated tile prompts from Smart Tile Prompter (tile_prompts_labels output) | |
| negative_prompt | STRING | blurry, low quality, artifacts, distorted | Global negative prompt applied to all tiles |
| bundleopt | SMART_TILE_BUNDLE | Connect bundle from Smart Tile Prompter (auto-fills tile_prompts) | |
| strip_position_prefixopt | BOOLEAN | true | Remove positional phrases like 'This top-left tile...' for cleaner conditioning |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| conditionings | CONDITIONING_LIST | โ |
| negative | CONDITIONING | โ |
| debug_info | STRING | โ |