Nodes/Avatar Graph/Object Call Asset Mark
ComfyUI Node

Object Call Asset Mark

Tagging a Blender object as a reusable asset

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Call Asset Mark
  • BPY_OBJ
  • BPY_OBJ

ObjectCall_AssetMark sits in the same corner of Avatar Graph (avatechai/avatar-graph-comfyui) as ObjectCall_AssetGeneratePreview - a raw Blender API method exposed as a node because the pack's generator wrapped the entire bpy.types.Object/ID surface, not because it's part of the documented avatar-rigging workflow that makes this pack worth installing in the first place (rigging a still character image into a live, blinking, lip-syncing 2D avatar).

How it works

It maps to ID.asset_mark(), which Blender's own docs describe as: "enable easier reuse of one specific data-block through the Asset Browser, with the help of customizable metadata (like tags)." Calling it attaches an asset_data block to the object - the structure that holds tags, a description, and a catalog entry, and is what unlocks the object showing up in Blender's Asset Browser as a reusable asset rather than plain scene data.

Why you'd reach for it

For Avatar Graph's own use case - generating and rigging avatars headlessly, then previewing them in a browser or exporting .glb/.gltf - this node does essentially nothing useful. The Asset Browser it feeds into is a Blender-UI feature, and this pack never shows Blender's UI. It's meaningful only if you're bending the pack's Blender plumbing toward a different goal: for instance, building a library of avatar rigs you intend to catalog and reopen later inside an actual Blender install, where asset-marking and its companion preview-generation would then matter.

Inputs and outputs

Bare-bones, like the rest of this family: one optional BPY_OBJ input, one BPY_OBJ output, object passed straight through. No tags field, no description field, no way to set the asset catalog from the node - Blender's real asset_mark() doesn't take those as arguments either, they're set separately via the resulting asset_data struct, which this node's schema doesn't expose a way to touch.

Installing it

Avatar Graph's dependency on Blender's bpy module makes it fussier to install than a typical node pack - it needs a specific Python version, full stop. On Windows, the path of least resistance is the author's bundled Python 3.10 environment (linked in their README), unzipped into your ComfyUI folder and launched via the included .bat, then install "Avatar Graph" through ComfyUI Manager. On macOS/Linux, pin your ComfyUI environment to Python 3.10.x exactly (bpy requires it) - conda is the cleanest way (conda create --name comfyui python=3.10). Then cd ComfyUI/custom_nodes, git clone https://github.com/avatechai/avatar-graph-comfyui.git - their own README's manual-install command points at a stale org (avatechgg); the repo actually lives under avatechai. cd avatar-graph-comfyui && python -m pip install -r requirements.txt, then restart with python main.py --enable-cors-header (Mac: add --force-fp16 too). That flag lets the hosted viewer at editor.avatech.ai exchange data with your local ComfyUI; you can skip it if you're happy exporting .glb/.gltf from Avatar Main Output.

Common issues

The install almost always fails on Python version first - anything but 3.10.x and bpy won't build. Beyond that, this specific node has no bearing on anything Avatar Graph's documented templates do, so if you're trying to get a rigged avatar working and stumbled onto this node expecting it to matter, it's safe to ignore - the README's own node table (Create Mesh Layer, Join Meshes, Create Shape Flow, Avatar Main Output, and a few others) is the actual list of nodes the pack's workflow depends on, and this isn't on it.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ