Object Call Preview Ensure
Object Call Preview Ensure — ComfyUI Node from Avatar Graph
- BPY_OBJ
- BPY_OBJ
This node ships with Avatar Graph, Avatech AI's pack for building real-time interactive 2D avatars out of a single character portrait - think automatic eye blinking and lip sync, driven by Blender's Python engine (bpy) behind the scenes plus Avatech's own "Shape Flow" runtime for live shape-key control. The README's own feature list only covers a handful of nodes - Create Mesh Layer, Create Shape Flow, Avatar Main Output - and Object Call Preview Ensure isn't among them. It's part of a much larger ObjectCall_* family that exposes Blender's bpy.types.Object API almost method-for-method, evidently generated rather than curated, since none of these get an individual write-up anywhere in the repo.
What it wraps is object.preview_ensure() - Blender's call to make sure a preview image (the small thumbnail Blender shows for the object's data in the Outliner, the Asset Browser, and similar UI) actually exists, generating one if it doesn't. It's purely about that thumbnail; it has no effect on the object's actual geometry, shape keys, or animation. In a headless pipeline like Avatar Graph's - where nothing is rendering a Blender UI for a human to browse thumbnails in - this reads as another instance of the full Object API being exposed wholesale rather than something a typical avatar-rigging workflow calls for.
Schema is as minimal as it gets: BPY_OBJ in (optional per the schema, though there's nothing for the node to do without one wired in from upstream) and BPY_OBJ out - same object handle passed straight through, no configuration surface at all, matching the fact that the underlying Blender method takes no arguments of its own.
Installing it means installing the whole Avatar Graph pack. Via ComfyUI Manager: search "Avatar Graph" and install. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then cd avatar-graph-comfyui && pip install -r requirements.txt, and restart ComfyUI. The requirement that'll actually get you: bpy is pinned hard to Python 3.10.x, so the README's recommendation to build a dedicated conda create --name comfyui python=3.10 environment instead of reusing whatever you've got running Flux or SDXL is genuinely worth following rather than skipping. Restart with --enable-cors-header (--force-fp16 too on macOS) so the live avatar preview via Avatech's editor actually works.
Troubleshooting: the failure you're most likely to actually hit has nothing to do with this specific node - it's bpy refusing to import at startup because your ComfyUI Python isn't exactly 3.10.x, a common, recurring problem across Blender-Python-based ComfyUI nodes in general, this one included. Skip --enable-cors-header and the graph still runs and still exports .glb/.gltf from Avatar Main Output - you just lose the live preview panel, which is deliberate per the pack's FAQ, not a bug. This node itself has essentially nothing that can go wrong on its own - it's a thumbnail-generation call with no meaningful failure surface in a headless pipeline - so if something's off, look one step earlier, at whatever's feeding it the BPY_OBJ.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |