Nodes/ComfyUI Ino Nodes/Ino Save Json
ComfyUI Node

Ino Save Json

Stop hand-editing JSON config files — let the workflow write them

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino Save Json
    • success
    • message
    • rel_path
    • abs_path
    enabledtrue
    json_string{}
    parent_folder
    folder
    filenamedata.json

    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 of input, output, or temp. Pick output if you want the file to survive and be visible in the UI; temp if it's scratch.
    • folder - an optional subfolder under the parent.
    • filename - defaults to data.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.

    CategoryInoJsonHelper

    Inputs (5)

    NameTypeDefaultDescription
    enabledBOOLEANtrue
    json_stringSTRING{}
    parent_folderCOMBO3 options: input, output, temp
    folderSTRING
    filenameSTRINGdata.json

    Outputs (4)

    NameTypeDescription
    successBOOLEAN
    messageSTRING
    rel_pathSTRING
    abs_pathSTRING