Nodes/GenAsset/Load Asset From GenAsset
ComfyUI Node

Load Asset From GenAsset

Load Asset From GenAsset — one load node to rule them all

By steliosot·Created 4 months ago·Updated 3 months ago· 1
Load Asset From GenAsset
    • image
    • asset_id
    • version_id
    • workflow_json
    • metadata_json
    • status_json
    base_urlhttps://genasset.xyz
    tokenComfyUI/user/genasset.json
    asset_id
    version_id

    The pack ships several load nodes, but Load Asset From GenAsset is the general-purpose one you'll reach for when you don't know exactly what you want yet. It's the "give me something from my workspace" node with three modes built into two optional fields. It loads a preview image plus the stored recipe - the workflow_json and metadata_json that Save To GenAsset captured - so you can look at a result and then actually do something with the graph that made it.

    Think of it as the read side of the save node. You saved versions into the cloud; now you want one back on the canvas to edit, re-run, or hand to a teammate. This is the node that answers "show me that asset again."

    How it works

    The node picks a target using a simple priority order, and the README spells it out because people keep getting surprised by it:

    1. If version_id is set, load that exact version.
    2. Else if asset_id is set, load that asset's current/latest version.
    3. Else load the latest updated asset in the whole workspace.

    So with both fields empty, this node does something genuinely useful: it just grabs whatever was most recently touched in your workspace. That's the "recent file" behavior, and it's the reason this node (rather than one of its stricter siblings) is the one you drop in when you're exploring.

    Under the hood it hits the asset or version API, finds the signed preview URL, downloads the image, and returns the stored workflow_json and metadata_json as formatted JSON strings. The status_json output tells you which mode it actually ran (load_mode is version_id, asset_id, or latest) - worth a glance the first few times so you're sure you loaded what you meant to.

    The inputs and outputs that matter

    Both inputs are technically required but both can be empty - that's the quirk. asset_id and version_id are the UUIDs you got back from a save. The tooltips are the contract: asset_id empty means latest asset in the workspace; version_id set overrides everything else.

    The outputs mirror the save node's capture:

    • image - the version's preview, ready to wire into anything downstream.
    • asset_id and version_id - which one you actually got.
    • workflow_json and metadata_json - the recipe. This is the gold. Wire workflow_json into Load Recipe To Widgets to extract editable prompt/model/seed values, or into a display node to inspect the graph.

    workflow_json here is the stored ComfyUI workflow - remember, in this ecosystem the graph travels inside the metadata, and GenAsset just keeps that relationship safe in the cloud instead of relying on PNG chunks that get stripped the moment an image host re-encodes the file.

    Installation

    Same pack, same install: ComfyUI Manager → search GenAsset → install, or

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

    then restart. No extra dependencies. You need a workspace token - best in ComfyUI/user/genasset.json - or you can paste it into the token widget.

    Common issues

    • "No assets found in this workspace" - you left both fields empty but the workspace is actually empty (or the token points at the wrong workspace). Save something first.
    • "Matched version did not include a signed preview URL" - the version exists but the preview URL didn't come back, usually a server-side blip or a bad base_url. Retry, then check the URL.
    • It loaded the wrong version - check load_mode in status_json. If you pasted an asset_id and expected a specific version, remember this node loads the current version unless version_id is set. For one exact historical version, use Load Version From GenAsset instead; for the current version of a known asset, Load Current Version For Asset.

    That last point is the real takeaway: this node trades precision for convenience. It's the one you use when "any recent thing will do," and you let its stricter siblings handle the cases where only one specific version is acceptable.

    Categorygenasset

    Inputs (4)

    NameTypeDefaultDescription
    base_urlSTRINGhttps://genasset.xyz
    tokenSTRINGComfyUI/user/genasset.json
    asset_idSTRINGOptional. Exact asset id. Empty means latest asset in this workspace.
    version_idSTRINGOptional. When set, this exact version id is loaded.

    Outputs (6)

    NameTypeDescription
    imageIMAGE
    asset_idSTRING
    version_idSTRING
    workflow_jsonSTRING
    metadata_jsonSTRING
    status_jsonSTRING