Nodes/Smart Upscaler - Hallett/All Prompts Viewer + Log
ComfyUI Node

All Prompts Viewer + Log

Every tile prompt, on screen and on disk, so a bad tile doesn't stay a mystery

By HallettVisual·Created about a month ago·Updated about a month ago· 17
All Prompts Viewer + Log
  • prompt_system
  • all_prompt_text
  • json_log_path
  • readable_log_path
tile_instructions
positive_prompts
negative_prompts
prompt_audits
tile_references
cache_status
global_instruction
global_context
combined_instructions
log_labeltile-prompts

The SmartTilePromptAuditLog ("All Prompts Viewer + Log") is the pack's black box. Every queued run writes a readable text report and a structured JSON log of everything the prompt pipeline did: what each tile was told, the raw vision-model responses, which corrections fired, the cache state, the whole-image context. You look at it when a tile is wrong and the SmartTileInspector showed you the prompt but not why the prompt says what it says.

Unlike the inspector, this is a terminal node: it collects the entire run's prompt trail and pushes it both to the screen and to disk. The README's diagnosis line is blunt - that JSON is how you diagnose a bad tile without re-rendering anything.

What it takes in

Everything the pipeline knows, so it can record it all:

  • tile_instructions, positive_prompts, negative_prompts, prompt_audits, tile_references - the per-tile trail from SmartCachedTilePromptGenerator (the prompt_audit strings carry the raw captions and corrections).
  • cache_status - per-tile cache state, so you can tell a HIT from a WRITE and spot stale-cache problems.
  • prompt_system, global_instruction, global_context, combined_instructions - the master contract and scene brief from the Prompt Director and whole-image analysis.
  • log_label - the label used in the filename; default tile-prompts. A JSON and a readable text log are saved for every queued run.

What it puts out

Three outputs: all_prompt_text (the whole record as one string, viewable in the node or via a text preview), json_log_path, and readable_log_path - the on-disk locations of the two logs.

Reports land under ComfyUI/output/Smart-Upscaler/logs/. The .txt is the readable summary - it shows the shared task/global text once, then one final prompt per tile, so you can skim a 90-tile job without drowning. The .json keeps everything: the exact instruction each tile received, the raw model response, which corrections fired, and the cache state. tile_prompt_audit_latest.* is overwritten atomically each run; timestamped copies stay around for comparison, which is how you check whether a tweak actually changed what tiles were told.

Why the JSON matters

The prompt trail is the pack's answer to the eternal "it came out wrong and I don't know why." The corrections system is deliberate - every automatic fix removes an unsupported claim rather than inventing content, and each has an escape hatch in the tile's own pixels or your known_false_detections box. When the final prompt still looks wrong, the JSON shows the raw model response and the correction that fired, which tells you whether the vision model misread the crop or the validation caught it. That's the difference between guessing at a fix and knowing the pipeline's reasoning.

Install

Same pack install as the rest of the set:

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

or search "ComfyUI-Smart-Upscaler" in ComfyUI Manager, then restart, plus ComfyUI-KJNodes and rgthree-comfy for the shipped workflow. No Python dependencies; the ~13 GB of models in docs/MODELS.md are the pack's cost of entry.

Gotchas

  • The .txt is a summary, not the whole story. If you're debugging a subtle correction, open the .json - the readable log deliberately omits the raw model responses.
  • Don't replace the final saver with an arbitrary JPEG writer. The architecture notes are specific: the pack's logs assume Comfy's normal PNG save flow (which embeds the workflow for drag-and-drop recovery), and the audit trail is written alongside it.
  • Stale-looking prompts after a change - check cache_status in the log. If tiles are showing HITs when you expected regenerated prompts, the cache is doing its job and hiding a model change you didn't bump the vision_model_id / cache_tag for.

Run it, read it, and a bad tile becomes a fixable question instead of a shrug. That's the whole value proposition.

CategorySmart Upscaler/Review

Inputs (11)

NameTypeDefaultDescription
tile_instructionsSTRING
positive_promptsSTRING
negative_promptsSTRING
prompt_auditsSTRING
tile_referencesSTRING
cache_statusSTRING
prompt_systemSMART_PROMPT_SYSTEM
global_instructionSTRING
global_contextSTRING
combined_instructionsSTRING
log_labelSTRINGtile-promptsA JSON log and readable text log are saved for every queued run.

Outputs (3)

NameTypeDescription
all_prompt_textSTRING
json_log_pathSTRING
readable_log_pathSTRING