Nodes/ComfyUI-UltimateUpsacaler/Geekatplay HyperTile Prompt Composer
ComfyUI Node

Geekatplay HyperTile Prompt Composer

Stitch base, tile and texture prompts without the comma mess

By GeekatplayStudio·Created 5 months ago·Updated 5 months ago· 7
Geekatplay HyperTile Prompt Composer
    • prompt
    base_prompt
    tile_prompt
    quality_promptultra detailed, high frequency texture, realistic micro details, seamless tile transitions, no ghosting, no duplicate features
    merge_mode
    dedupetrue

    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 quality
    • tile_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 the prompt output 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_only drops the base prompt entirely. If your output suddenly lost your subject, check you didn't leave merge_mode on 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.

    CategoryGeekatplay HyperTile/Captioning

    Inputs (5)

    NameTypeDefaultDescription
    base_promptSTRING
    tile_promptSTRING
    quality_promptSTRINGultra detailed, high frequency texture, realistic micro details, seamless tile transitions, no ghosting, no duplicate features
    merge_modeCOMBO3 options: append, prepend, tile_only
    dedupeBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    promptSTRING