Object Call Animation Data Clear
Wiping an object's keyframes clean
- BPY_OBJ
- BPY_OBJ
This is one of a long tail of nodes in Avatar Graph (avatechai/avatar-graph-comfyui) that exist because the pack's node generator wrapped essentially every method on Blender's bpy.types.Object API and turned it into a ComfyUI node. Most of them, ObjectCall_AnimationDataClear included, aren't in the README's own list of things you're meant to use - they're raw plumbing for anyone scripting custom Blender-side logic inside the graph, on top of Avatar Graph's headline feature of rigging a static character portrait into a real-time, blinking, lip-syncing avatar.
How it works
The class name maps directly to Blender's Object.animation_data_clear() - an ID-level method Object inherits, documented as clearing all animation (actions, drivers, NLA tracks) from the object. It's a pure data-wipe: it doesn't touch mesh geometry, shape keys, or materials, only the animation_data block that links the object to whatever's currently animating it.
Why you'd reach for it
Avatar Graph's core trick is driving shape keys at runtime through its "Shape Flow" system. If you're scripting a custom rig-building step that re-runs across graph executions, stale keyframes or drivers left over from a previous pass can linger on the underlying Blender object between runs. Clearing animation data first is the standard "give me a blank slate" move before re-initializing it - typically paired with ObjectCall_AnimationDataCreate right after.
Inputs and outputs
The schema is as bare as it gets: one optional BPY_OBJ input, one BPY_OBJ output - the same object, passed straight through. That's true of essentially every ObjectCall_* node in this batch: the Python method it wraps runs for its side effect, and the node hands you back the object you gave it, not a result value. animation_data_clear() doesn't return anything meaningful in Blender either, so there's nothing lost here - but keep in mind this pattern (object in, object out, no result wire) holds even for the nodes further down this list that do compute something.
Installing it
Avatar Graph pulls in Blender's bpy module as a dependency, which means it's fussier about your Python version than a typical node pack. On Windows, grab the author's bundled Python 3.10 environment (linked in their README), unzip it into your ComfyUI folder, run the .bat, then install "Avatar Graph" through ComfyUI Manager. On macOS/Linux, pin your ComfyUI environment to Python 3.10.x exactly - bpy won't build or import on anything newer at the time this pack was written, and conda is the easiest way to pin it (conda create --name comfyui python=3.10). From there: cd ComfyUI/custom_nodes, git clone https://github.com/avatechai/avatar-graph-comfyui.git (their own README's manual-install command references a different org, avatechgg - that's stale; the repo lives under avatechai). Then cd avatar-graph-comfyui && python -m pip install -r requirements.txt, and restart ComfyUI with python main.py --enable-cors-header (Mac users, also add --force-fp16). That flag opens CORS so the pack's hosted viewer at editor.avatech.ai can exchange character data with your local ComfyUI; skip it if you're exporting .glb/.gltf from Avatar Main Output instead of using the live preview.
Common issues
The Python 3.10 pin is where almost everyone gets stuck first - a mismatched interpreter version means bpy fails to install or import, and nothing downstream works. Specific to this node: it's destructive by design. If the object had a manually-authored Action you wanted to keep, this clears the link to it (the underlying Action datablock can survive orphaned with zero users, but you've lost the connection). And since this corner of the pack has no documentation from Avatech at all - it's not in the README's node table - this write-up is grounded in Blender's own Python API docs for Object.animation_data_clear(), not anything the pack author published.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |