JSON Reader
Seed, prompts, all of it
- Seed
- Positive Prompt
- Negative Prompt
If you've ever dug through a folder of ComfyUI outputs trying to remember which seed made the good one, this node is for you. JSON Reader (class JSONReaderNode) is the read side of the pack's JSON pair: point it at a folder, give it a file name, and it hands back the seed and both prompts that were saved there. It's the natural companion to the pack's JSON node, which writes those files in the first place.
This is a "reconstruct the past" node. The workflow that made an image is already embedded in the PNG, but that's locked away in metadata you can't easily drag into a KSampler. A JSON receipt is plain text on disk - and with this node, the seed and prompts come back out as typed outputs you can wire straight into a new generation.
How it works
Two inputs, three outputs. That's the whole node:
folder_path- where the JSON files live (the default isD:/Default_Folder/, which should tell you the author is on Windows - change it)name- the file name to read, defaulting tometadata
The outputs are exactly what the writer saved:
Seed(INT) - wire this into a KSampler's seed input to reproduce the generationPositive PromptandNegative Prompt(STRING) - wire into your CLIP Text Encode nodes
So the loop becomes: batch render with JSON nodes logging every pass, then pick any JSON, read it back, and you're re-running that exact generation in seconds.
Where it fits
The obvious use is reproducibility - dig up what you actually generated weeks ago and rebuild it. But it's also a batch-processing tool. If you're walking a folder of saved generations and re-encoding them, upscaling them, or feeding them through a second pass, this node gives you the original settings alongside, so nothing about the source is lost in the pipeline.
One honest note: this is not a generic JSON parser. It reads the schema the pack's JSON node writes, and it extracts those three specific fields. If you want to pull an arbitrary key out of a file, the pack's JSON Value Finder is the more general tool.
Installing it
The pack is deprecated and unmaintained; the README points users to the successor repo ComfyUI-CoCoTools_IO, and as of August 2026 the original GitHub URL 404s. Install via ComfyUI Manager (search ComfyUI-CoCoTools) if it resolves, or clone manually into custom_nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/Conor-Collins/coco_tools
Then install requirements (from the python_embeded/ folder on the Windows portable build):
python.exe -m pip install -r ./ComfyUI/custom_nodes/ComfyUI-CoCoTools/requirements.txt
Restart ComfyUI after installing.
Gotchas
- The
namefield has to match the file the writer produced. The default ismetadata- if you saved JSONs under a different name or into a subfolder, this node won't find them and you'll get an empty read. folder_pathis a raw string input, so paste the full path; don't expect a file browser.- Watch the seed type on the way out - it's an INT, and some KSampler seed widgets expect the same. Usually a direct wire just works.
- It's abandoned software. The JSON files themselves are the safe, permanent thing - the node is just a convenience for reading them.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| folder_path | STRING | D:/Default_Folder/ | — |
| name | STRING | metadata | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| Seed | INT | — |
| Positive Prompt | STRING | — |
| Negative Prompt | STRING | — |