Nodes/Comfyui_TTP_Toolset/TTP Smart Tile Prompt Override
ComfyUI Node Runs on cloud

TTP Smart Tile Prompt Override

Rewriting just the tiles you actually care about

By TTPlanetPig·Created 2 years ago·Updated about a month ago· 1,030
TTP Smart Tile Prompt Override
  • tile_set
  • tile_set
  • override_json
  • summary
selector_typelabel
selector
unmatched_modekeep
prompt_modereplace
prompt_text
negative_modekeep
negative_text
find_text

Say your tile set has eight tiles, the QwenVL builder wrote a decent generic caption on all of them, and the only one you actually want to change is the face - you don't want to re-run the whole prompt pass just to fix one tile's wording. That's exactly what Prompt Override is for: pick which tiles to touch, decide how their text changes, and leave everyone else exactly as they were.

How it works

It's a filter followed by a rewrite. First you pick selector_type and selector to decide which tiles match - by index (T3), by name, by the semantic label a tile was given (the README's own example is selector_type=label, selector=face), by prompt_tag, by source, by semantic category or role, by a substring the current prompt contains, or by regex if you need something more surgical. unmatched_mode then decides what happens to everything that didn't match: keep leaves them untouched, and drop_unmatched is for local-edit workflows - you're only running the matched tiles through an edit sampler, and downstream Assemble is expected to pull the rest of the canvas straight from the source image instead of a processed tile.

Once you've got your matched tiles, prompt_mode and negative_mode control the actual edit, each with the same six options: keep, replace, prepend, append, find_replace, or clear. prompt_text/negative_text supply the new text for replace/prepend/append/find_replace, and find_text is the search string when you're doing a targeted find-and-replace instead of a wholesale rewrite.

The inputs and outputs that matter

Required: tile_set, selector_type (default label), selector, unmatched_mode (default keep), prompt_mode (default replace), prompt_text, negative_mode (default keep), negative_text, find_text. There's no optional block - everything about this node is one of those nine fields, and most of them you'll leave at default except selector/prompt_text.

Outputs: tile_set goes onward in the chain - usually into Semantic Rank or straight into Loop Source. override_json is a full dump of what changed, and summary is the quick human-readable version - how many tiles matched and what happened to them. Both are there for debugging, not for wiring anywhere.

Installing it

ComfyUI Manager: search "Comfyui_TTP_Toolset". Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/TTPlanetPig/Comfyui_TTP_Toolset

then restart. Prompt Override is pure text manipulation on the tile set's metadata - no models, nothing extra to download, it just comes along with the rest of the pack.

Where people get tripped up

The single most common mistake is a selector that doesn't match anything, which silently does nothing rather than erroring - if your override doesn't seem to take effect, set selector_type=all temporarily to confirm the node is actually wired into the chain, then narrow the selector back down and check summary to see whether it actually matched tiles this time. find_replace mode needs a non-empty find_text to do anything; if you leave it blank expecting prompt_text to just get appended, use append mode instead. And if you're building a local-edit workflow and the untouched regions of your final image come out wrong, double check you set unmatched_mode=drop_unmatched and that Assemble's own settings are pointed at source_image for the fallback - keep mode will still run the unmatched tiles through your sampler chain, which isn't what you want if the goal was to only touch the face.

CategoryTTP/Smart Tile

Inputs (9)

NameTypeDefaultDescription
tile_setTTP_SMART_TILE_SET
selector_typeCOMBOlabel10 options: all, index, name, label, prompt_tag, source, +4
selectorSTRING
unmatched_modeCOMBOkeep2 options: keep, drop_unmatched
prompt_modeCOMBOreplace6 options: keep, replace, prepend, append, find_replace, clear
prompt_textSTRING
negative_modeCOMBOkeep6 options: keep, replace, prepend, append, find_replace, clear
negative_textSTRING
find_textSTRING

Outputs (3)

NameTypeDescription
tile_setTTP_SMART_TILE_SET
override_jsonSTRING
summarySTRING