Nodes/Pseudocomfy/Load Model Snapshot
ComfyUI Node

Load Model Snapshot

The JSON reader that feeds the whole Pseudocomfy graph

By Pseudotools·Created 2 years ago·Updated 19 days ago· 4
Load Model Snapshot
    • json_data
    string_path

    Every Pseudocomfy workflow starts the same way: with a JSON file that describes the whole render - the scene prompt, the style, the negative, and a list of material prompts each with its own mask and optional reference image. That file is a "model snapshot," and Load Model Snapshot is the front door. It reads one of those JSON files and hands it to the rest of the graph as a single json_data DICT.

    It's not a checkpoint loader and it doesn't touch any .safetensors. The name throws people - "model" here means the scene model (the 3D-design intent) as captured in a snapshot, not a diffusion model. Once you're past that, the node is pleasantly simple: one input, one output.

    The one input: string_path

    Give it a path and it decides what to do based on what the path looks like:

    • A URL (anything starting http or https) - it does an HTTP GET and parses the response as JSON. Handy when your snapshots live on a server or in cloud storage.
    • A local directory - it lists every *.json in the folder, sorts by modification time, and loads the most recently modified one. Drop new snapshots into a folder, re-run the graph, and it picks up the newest without you editing anything.

    The pack ships an example at custom_nodes/Pseudocomfy/snapshots/example-farmhouse-txt-only.json, so pointing string_path there is the fastest way to see the whole pipeline move.

    What it outputs and what it's for

    The single json_data output (a DICT) is meant to plug directly into PseudoUnpackModelSnapshot, which tears the snapshot into lists of material texts, images, and masks plus the environment prompts. The pair is the pipeline's entry point: Load brings the JSON in, Unpack turns it into things ComfyUI's conditioning nodes can eat.

    Two behaviors are worth knowing before you blame the node for strange results:

    • It re-runs every time. The node's IS_CHANGED returns a fresh hash on every execution, so ComfyUI never caches its output. That's deliberate - snapshots are meant to change - but it means anything downstream recomputes on every queue run, even if you changed nothing.
    • It does zero validation. Garbage in, garbage out: a malformed JSON raises whatever Python's json.load throws, and a folder with no JSON files raises FileNotFoundError with a clear message.

    Install is the pack standard - git clone https://github.com/Pseudotools/Pseudocomfy into custom_nodes and restart, or search "Pseudocomfy" in ComfyUI Manager. If you're coming from a plain ComfyUI habit of hardcoding prompts, this node (and its Unpack sibling) is the entire reason the workflow is reproducible: swap the snapshot, re-run, get the new scene.

    CategoryPseudocomfy/IO

    Inputs (1)

    NameTypeDefaultDescription
    string_pathSTRING

    Outputs (1)

    NameTypeDescription
    json_dataDICT