All Prompts Viewer + Log
Every tile prompt, on screen and on disk, so a bad tile doesn't stay a mystery
- prompt_system
- all_prompt_text
- json_log_path
- readable_log_path
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(theprompt_auditstrings 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
.txtis 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_statusin 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 thevision_model_id/cache_tagfor.
Run it, read it, and a bad tile becomes a fixable question instead of a shrug. That's the whole value proposition.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| tile_instructions | STRING | — | |
| positive_prompts | STRING | — | |
| negative_prompts | STRING | — | |
| prompt_audits | STRING | — | |
| tile_references | STRING | — | |
| cache_status | STRING | — | |
| prompt_system | SMART_PROMPT_SYSTEM | — | |
| global_instruction | STRING | — | |
| global_context | STRING | — | |
| combined_instructions | STRING | — | |
| log_label | STRING | tile-prompts | A JSON log and readable text log are saved for every queued run. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| all_prompt_text | STRING | — |
| json_log_path | STRING | — |
| readable_log_path | STRING | — |