Geekatplay HyperTile Prompt Composer
Stitch base, tile and texture prompts without the comma mess
- prompt
Every tiled upscale workflow has the moment where you're hand-combining prompts: the base subject description, the per-tile instruction, and the wall of texture keywords you refuse to retype. HyperTilePromptComposer is that moment, boxed. It takes three prompt strings, merges them in the order you want, and dedupes the result so "ultra detailed" appearing twice collapses to once.
How it works
Simple and honest under the hood. It splits each input on commas into segments, normalizes whitespace and case, drops exact duplicates (case-insensitively) when dedupe is on, and joins the survivors back with commas. merge_mode decides the order:
append- base, then tile, then quality (the default)prepend- tile, then base, then qualitytile_only- tile + quality, for when you're past the base prompt entirely
Inputs
base_prompt- your main subject description.tile_prompt- the per-tile instruction. Usually thepromptoutput from HyperTile Caption Tiles, or a manual "this tile contains X".quality_prompt- defaults to "ultra detailed, high frequency texture, realistic micro details, seamless tile transitions, no ghosting, no duplicate features". It's a genuinely good default; the "no ghosting, no duplicate features" half is aimed straight at the classic tiled-upscale failure where a feature repeats across tile seams.merge_mode- append / prepend / tile_only.dedupe- on by default.
Output
One prompt (STRING). Wire it into a CLIP Text Encode node and you're done. That's the whole job.
Install
Part of GeekatplayStudio/ComfyUI-UltimateUpsacaler. Install via Manager - search "ComfyUI-UltimateUpsacaler" or just "Geekatplay" - or clone:
cd ComfyUI/custom_nodes && git clone https://github.com/GeekatplayStudio/ComfyUI-UltimateUpsacaler
Then restart. The node itself needs nothing beyond the pack's base requirements (numpy, Pillow); the captioning extras only matter if you use it with Caption Tiles.
Common issues
Two things are worth knowing, and both are about expectations rather than bugs:
- Dedupe eats repeats. It's case-insensitive, so "Detailed" and "detailed" collapse, and repeated keywords collapse too. If you're trying to emphasize a keyword by listing it twice, this node silently removes that emphasis - do weighting at encode time with the CLIP encoder's own syntax, not here.
tile_onlydrops the base prompt entirely. If your output suddenly lost your subject, check you didn't leavemerge_modeon tile_only.
Beyond that there's not much to break. It's a string-join utility, not a conditioner: it can't hurt you, but it also won't fix a weak base prompt. That's the deal, and for a node that does one thing it does it cleanly.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| base_prompt | STRING | — | |
| tile_prompt | STRING | — | |
| quality_prompt | STRING | ultra detailed, high frequency texture, realistic micro details, seamless tile transitions, no ghosting, no duplicate features | — |
| merge_mode | COMBO | 3 options: append, prepend, tile_only | |
| dedupe | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |