Nodes/GenAsset/Compare Two GenAsset Versions
ComfyUI Node

Compare Two GenAsset Versions

Compare Two GenAsset Versions — settle the 'which one was better?' argument

By steliosot·Created 4 months ago·Updated 3 months ago· 1
Compare Two GenAsset Versions
    • left_image
    • right_image
    • diff_json
    • status_json
    base_urlhttps://genasset.xyz
    tokenComfyUI/user/genasset.json
    left_version_id
    right_version_id

    Every ComfyUI user has had the moment: you've got version 4 and version 7 of a generation, you think they differ in seed and prompt, but you can't remember which is which. Compare Two GenAsset Versions is built for exactly that. Give it two version UUIDs and it loads both previews side by side and produces a JSON diff of the recipe fields - so you see the two images and a change log of what differs between them in one go.

    It's the "git diff" of the pack, aimed at the approval step of a real workflow. Whether you're checking your own history or comparing before a teammate signs off, the node replaces "I'll open both files and squint" with "here's what actually changed."

    How it works

    The node takes left_version_id and right_version_id (left/older, right/newer, per the tooltips), fetches both version payloads from the api/v1/versions/{id}/load endpoint, downloads both previews, and returns them as left_image and right_image. Then it builds diff_json with three sections: the left and right recipe values (prompt, negative prompt, model, seed, sampler, scheduler, steps, cfg, denoise), and a changed map of booleans flagging which of those fields actually differ between the two.

    That changed map is the quietly brilliant part. It's not a wall of JSON - it's an answer: "seed changed, prompt changed, steps identical." You can wire diff_json into a display node or read it straight from the node's UI output. Note the diff is field-level, not a full metadata compare - it focuses on the recipe knobs that matter for reproduction, which is the right scope for "what was different about this run?"

    Inputs and outputs that matter

    Four required inputs: base_url, token, left_version_id, right_version_id. The two id fields are the only ones you'll actually think about - and yes, both must be real version UUIDs, so grab them from a save node, List Asset Versions In GenAsset, or the web UI. If either is empty, the node errors out rather than guessing.

    Outputs:

    • left_image / right_image - the two previews, ready to wire into a side-by-side viewer or your own comparison logic.
    • diff_json - the recipe diff described above.
    • status_json - ok, the two ids, and the token source.

    Installation

    In the steliosot/ComfyUI-GenAsset pack. ComfyUI Manager → search GenAsset → install, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/steliosot/ComfyUI-GenAsset.git
    

    Restart after installing. No extra dependencies; just need a workspace token (widget, GENASSET_WORKSPACE_TOKEN, or ComfyUI/user/genasset.json).

    Common issues

    • "Paste both left_version_id and right_version_id." - straightforward; one of the fields is empty. The node won't assume anything.
    • The diff shows everything changed, or nothing changed - the node compares a fixed set of recipe fields, so a metadata-only difference (notes, tags) won't show up, and if you loaded two versions with the same seed/prompt/settings, the changed map is honestly all false. The images still tell you the rest.
    • This isn't an image-pixel diff - worth setting expectations. It compares recipe metadata, not pixels. If you want "how different are these two pictures," you'll need a visual-diff node; this one answers "what settings differ."

    Use it as the last step before you promote a version to current. Load the candidate, load the incumbent, compare, and promote only when the diff matches what you actually changed. That discipline is what turns a pile of versions into a history you can trust.

    Categorygenasset

    Inputs (4)

    NameTypeDefaultDescription
    base_urlSTRINGhttps://genasset.xyz
    tokenSTRINGComfyUI/user/genasset.json
    left_version_idSTRINGLeft/older version id.
    right_version_idSTRINGRight/newer version id.

    Outputs (4)

    NameTypeDescription
    left_imageIMAGE
    right_imageIMAGE
    diff_jsonSTRING
    status_jsonSTRING