Ino Save Json
Stop hand-editing JSON config files — let the workflow write them
- success
- message
- rel_path
- abs_path
Some nodes generate pixels. Others generate metadata, and once you have metadata you eventually want it on disk. Ino Save Json is the pack's "write this JSON string to a file" node - the persistence step for anything in your graph that produces or mutates a JSON string, from a model config to an API response to a batch summary. It's an output node, the kind you hang at the end of a branch to capture state rather than transform it.
If you're not working with JSON strings in ComfyUI yet, this may look pointless. Once you've built a workflow that carries a config blob around - this pack's model-config system does exactly that - you'll want a way to snapshot it. This is that way.
What you set
Only a handful of inputs matter, and they follow a pattern the whole Ino pack uses:
json_string- the JSON text to write. Defaults to{}.parent_folder- a dropdown ofinput,output, ortemp. Pickoutputif you want the file to survive and be visible in the UI;tempif it's scratch.folder- an optional subfolder under the parent.filename- defaults todata.json.
The enabled toggle is on every Ino node and works as a master switch: flip it off and the node returns skipped: not enabled without touching the disk.
How it works
Under the hood it resolves the parent folder to ComfyUI's real directories (your input/output/temp folders), creates any missing subdirectories, then hands the string to the pack's JSON helper, which validates it before writing. That's the part worth knowing: this isn't a dumb text dump. If json_string isn't valid JSON, the write fails and the node reports it instead of silently writing garbage you'll debug later.
The outputs are the pack's standard file-operation report: success, message, and both rel_path (relative to the ComfyUI folder) and abs_path (full filesystem path). Wire success into a downstream gate if you only want the next step to run when the write actually worked - that's the idiomatic use here.
Installing Ino Nodes
One install covers every node in the pack. Via ComfyUI Manager, search for "ComfyUI Ino Nodes" and install, then restart ComfyUI. From the terminal:
cd ComfyUI/custom_nodes
git clone https://github.com/nobandegani/ComfyUI-InoNodes.git
cd comfyui_ino_nodes
pip install -r requirements.txt
Restart after installing. The one real gotcha: requirements.txt pins the pack's inopyutils library, and it has to install into the same Python environment that runs ComfyUI - install into the wrong venv and every node in the pack fails to import. No models download for this; it's pure utility.
Where people get burned
The classic mistake is writing to temp and then hunting for the file later - temp gets cleared and ComfyUI considers it scratch. Use output for anything you care about. Also remember the validation: feed it a half-built JSON string and you get a clean failure, not a file. That's a feature, even when it's annoying.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | — |
| json_string | STRING | {} | — |
| parent_folder | COMBO | 3 options: input, output, temp | |
| folder | STRING | — | |
| filename | STRING | data.json | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| success | BOOLEAN | — |
| message | STRING | — |
| rel_path | STRING | — |
| abs_path | STRING | — |