Object Call Shape Key Remove
Object Call Shape Key Remove — ComfyUI Node from Avatar Graph
- BPY_OBJ
- key
- BPY_OBJ
Avatar Graph, Avatech AI's pack for building real-time interactive 2D avatars from a single character portrait, runs on shape keys - eye blinks, mouth shapes, whatever "Shape Flow" is driving live at playback time all comes down to shape key values getting animated on a Blender mesh under the hood. This node is the scalpel version of shape-key cleanup, sitting alongside Shape Key Add and the all-at-once Shape Key Clear in the pack's large ObjectCall_* family of auto-generated Blender-Object-API wrappers - none of which get their own write-up in the README, but this trio is directly relevant to what the pack actually does, unlike most of its siblings.
It wraps object.shape_key_remove(key) - remove exactly one named shape key from the object, leaving every other key (and the Basis) untouched. That specificity is the whole point of reaching for this node instead of Shape Key Clear: you made a test key, an accidental duplicate, or a key that's since been superseded by a better one, and you want it gone without nuking the rig you've already built.
The input worth noting is key, whose type in the schema is literally key - one of this node family's recurring code-gen quirks, where a Blender argument that isn't a simple string (Blender's shape_key_remove actually takes a ShapeKey object reference, not just its name) got left as a placeholder type rather than mapped to a normal ComfyUI string widget. In practice that means you feed it a value wired in from elsewhere in the graph - most plausibly whatever reference Shape Key Add handed back, or another node in the pack that can look up a shape key by name - rather than typing a name directly into this node. BPY_OBJ is the other input (optional per the schema, functionally required), and output is BPY_OBJ, the same object passed through minus the one key you removed.
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, restart. bpy needs Python 3.10.x exactly, so the README's advice to build a dedicated conda create --name comfyui python=3.10 env instead of reusing an existing Flux/SDXL setup is worth taking seriously. Restart with --enable-cors-header (--force-fp16 too on macOS) for the live avatar preview.
Troubleshooting: bpy failing to import because ComfyUI's Python isn't exactly 3.10.x is the wall you're most likely to actually hit, a common, recurring problem across Blender-Python-based ComfyUI nodes generally. The node-specific one is about the key input's odd type - since it's not a plain string field, if nothing sensible is wired into it, the removal is likely to silently target the wrong key or fail to resolve at all; double-check what's actually flowing into that socket before assuming the node itself is broken. Skipping --enable-cors-header just costs you the live preview panel - the graph and its .glb/.gltf export off Avatar Main Output still work.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| keyopt | key | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |