Nodes/Embeddr ComfyUI Extension/Embeddr Load Artifact (V2)
ComfyUI Node

Embeddr Load Artifact (V2)

How you actually get your library's images back into the graph

By embeddr-net·Created 9 months ago·Updated 5 months ago· 0
Embeddr Load Artifact (V2)
  • artifact_id
  • image
  • mask
  • artifact_id_out
  • artifact_info
manual_artifact_id
use_cachetrue
auth_ticket

Load Artifact is the on-ramp: it's how an image that lives in your Embeddr library becomes an IMAGE tensor inside ComfyUI. Every workflow that starts from something you already own starts here - a saved generation you want to img2img, a reference you want to feed an IP-Adapter, a masked edit you want to continue. If the Embeddr pack had one node to call its flagship, it's this.

The node takes a single artifact by its UUID and pulls it down from your server. The good part for beginners: you don't have to wire anything. Type the UUID into the manual_artifact_id field and it just works - the manual field is used when no artifact_id input is connected, so you can start bare and convert the field to a wired input later (right-click, "convert to input") once you're driving IDs dynamically from other nodes.

The inputs that matter

  • manual_artifact_id - the UUID string, used if nothing is connected to artifact_id. This is what you'll actually set as a beginner.
  • artifact_id - the pack's custom EMBEDDR_ARTIFACT_ID input. Wire this from another Embeddr node's ID output (Load Artifacts, Split IDs, the search nodes) and it overrides the manual field.
  • use_cache - defaults to true. The node keeps a class-level cache of loaded artifacts, so re-running a workflow that loads the same IDs doesn't re-download them every time. Leave it on; flip it off only if you're chasing stale-content weirdness.
  • auth_ticket - an optional ephemeral auth ticket for per-user access, for setups where ownership matters. Most single-user setups never touch it.

Outputs - and the mask is the hidden gem

  • image - the loaded image tensor.
  • mask - an MASK output. This is the one people discover late and love: if the artifact carries a mask (say, a cutout or an inpainted region), you get it for free, ready to wire into any compositing or inpainting node. If there's no mask, you get an empty one.
  • artifact_id_out - the ID echoed back out, so you can pass it onward for lineage without re-typing it.
  • artifact_info - the full metadata object, the companion to the Extract Artifact Info node's input. Wire this if you need parents, tags, or the raw JSON.

Mechanically it's a resolve-then-fetch: the node asks your server for /api/v1/artifacts/{id}/resolve?variant=original&proxy=1, follows the returned URL (proxying through the server if the content lives elsewhere), and decodes the bytes into a tensor.

Install & troubleshooting

Pack install, shared: run embeddr serve first (the README's opening warning exists for a reason), install via ComfyUI Manager or a release download into custom_nodes, restart ComfyUI. Only requests beyond the host environment.

The dominant failure mode is trivial and annoying: the server isn't running, or the URL/port is wrong, and the node errors on the resolve call. Check that embeddr serve is up, and if your backend isn't on the default http://localhost:8003, set embeddr_url in the pack's config.json or EMBEDDR_BACKEND_URL in the environment. A 404 means the ID doesn't exist - double-check the UUID. One quirk: with use_cache on, a previously-failed load can linger in the cache, so if a load "mysteriously" works after you deleted the artifact, that's the cache talking; clear it by restarting ComfyUI or toggling use_cache off.

CategoryEmbeddr

Inputs (4)

NameTypeDefaultDescription
manual_artifact_idSTRINGManual UUID string (used if input not connected)
use_cacheBOOLEANtrue
artifact_idoptEMBEDDR_ARTIFACT_IDUUID of the artifact to load
auth_ticketoptSTRINGEphemeral auth ticket for per-user access

Outputs (4)

NameTypeDescription
imageIMAGE
maskMASK
artifact_id_outEMBEDDR_ARTIFACT_ID
artifact_infoEMBEDDR_ARTIFACT_INFO