Nodes/Smart Upscaler - Hallett/Smart Tile Prompt Inspector
ComfyUI Node

Smart Tile Prompt Inspector

Click a tile, read the exact prompt that made it

By HallettVisual·Created about a month ago·Updated about a month ago· 17
Smart Tile Prompt Inspector
  • source_images
  • generated_images
    prompts
    tile_references

    The Smart Upscaler pack's whole debugging philosophy is one sentence: if part of the picture comes out wrong, read that tile's prompt. The SmartTileInspector is the tool for that sentence. It's a review node - it takes the source image, the generated result, and every tile's prompt, and shows them to you side by side so you can click a tile and see exactly what the model was told to make it.

    No outputs, no processing. It's an end-of-graph inspection node, the same family as a Preview Image or a compare slider, and it exists because "the prompt is almost always the reason" only helps if you can actually see the prompt.

    What it does

    Four list inputs, all wired from earlier in the pipeline:

    • source_images - the original tiles (or the enlarged baseline).
    • generated_images - what the sampler produced.
    • prompts - the per-tile prompts from SmartCachedTilePromptGenerator.
    • tile_references - the T001/T002… IDs that keep everything aligned.

    The node's web extension renders the pair clickable, with the tile reference matching the numbering used everywhere else in the pack - the processing grid, the sampler test selector, and the audit log all speak the same T-numbering. See a bad tile in the final stitch, click it here, and you're reading the exact instruction that produced it.

    Because it's an output node, it sits at the end of the graph and always runs, which means it doubles as a convenient place to inspect the full job even when you're not debugging anything.

    The debugging loop it enables

    This is where the pack's honesty contract becomes practical. Every prompt is built from what can actually be seen, and every automatic correction removes an unsupported claim. So when a tile is wrong, the question is which claim was wrong - and the inspector lets you read the answer instead of guessing. The README's sequence is basically:

    1. Spot the bad tile in the output.
    2. Click it in the inspector.
    3. Fix the cause in the Prompt Director (SmartUnifiedPromptGuidance) - usually the instruction, occasionally known_false_detections or tile_detail.
    4. Re-run; the caches make it cheap.

    If the tile's prompt says "cracked, smeared wall," the model faithfully rendered a cracked, smeared wall, and no amount of model-swapping fixes that - the instruction does. That's the single most useful mental model this pack gives you, and the inspector is how you apply it.

    For the deeper record - raw model responses, which corrections fired, cache state - the companion node SmartTilePromptAuditLog writes the JSON, and the log path it prints is what you open when the inspector shows you the prompt but not why the prompt says that.

    Install

    Same pack install as every node here:

    cd ComfyUI/custom_nodes
    git clone https://github.com/HallettVisual/ComfyUI-Smart-Upscaler
    

    or search "ComfyUI-Smart-Upscaler" in ComfyUI Manager, then restart. Grab ComfyUI-KJNodes and rgthree-comfy too for the shipped workflow (rgthree provides the before/after compare sliders this node complements). No Python dependencies; the ~13 GB of models in docs/MODELS.md are the pack's entry cost.

    Gotchas

    • Empty or mismatched prompts - the prompts and tile_references lists must be in the same order and length as the images; if you've hand-wired the pack outside the shipped workflow, broken pairing shows up here first as nonsense prompts on the wrong tiles.
    • The inspector shows the final prompt, not the raw caption. The raw caption, corrections, and cache state live in the audit log's JSON (ComfyUI/output/Smart-Upscaler/logs/). When the prompt itself looks fine but the tile is still wrong, that's where you go.
    • It's a review node, so it only helps after a run. For cheap iteration before committing to the full grid, use SmartSamplerTileSelector's one-tile test and inspect that single result.

    Click, read, fix the instruction, rerun. It's the difference between debugging blind and knowing exactly what you told the model.

    CategorySmart Upscaler/Review

    Inputs (4)

    NameTypeDefaultDescription
    source_imagesIMAGE
    generated_imagesIMAGE
    promptsSTRING
    tile_referencesSTRING

    Outputs (0)

    No outputs