Nodes/Avatar Graph/Object Armature Add
ComfyUI Node

Object Armature Add

Dropping a bone rig into an Avatar Graph scene

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Armature Add
  • BPY_OBJ
  • location
  • rotation
  • scale
  • BPY_OBJ
radius1.00
enter_editmodefalse
align

Worth saying up front: this isn't the node the pack's own demo templates lean on. Avatar Graph's headline feature - the eye-blink and lipsync avatars in its README - are driven by shape keys through the "Shape Flow" runtime, not by a bone skeleton. Object_ArmatureAdd exists because it's part of Blender's object toolkit, exposed the way most of this pack's Object_* nodes are, not because bone rigging is the pack's primary workflow.

What it is and why you'd reach for it

This wraps Blender's bpy.ops.object.armature_add() directly - Avatar Graph embeds real Blender via bpy inside ComfyUI, and this node, like Object_Add, is a thin passthrough to a scene-object-creation operator. It adds a new armature object - Blender's term for a skeleton, made of bones - to the scene, starting with a single default bone.

If your project actually needs bone-based deformation (say, limb or body movement beyond facial shape keys) rather than the blend-shape-driven blink/lipsync the pack ships templates for, this is where you'd start - add the armature, then build out the bone hierarchy and parent your mesh to it, all of which happens outside what this particular node does on its own.

Inputs and outputs that matter

  • BPY_OBJ (optional) - an object from upstream, if chaining.
  • radius (float, default 1) - the initial size of the starting bone.
  • enter_editmode (bool, default False) - whether the new armature opens directly in edit mode, where you'd add and position further bones.
  • align (enum: WORLD, VIEW, CURSOR) - how the armature's initial orientation is set.
  • location / rotation / scale (each a 3-value vector) - the armature's starting transform.

Output: a single BPY_OBJ - the new armature object, with its one starting bone, ready for further editing or for parenting a mesh to it (steps outside this node itself).

Installing Avatar Graph

bpy only ships wheels for Python 3.10.x, and the whole pack depends on it - pin your environment to that version before anything else.

ComfyUI Manager: search avatar-graph-comfyui, install, restart. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui.git
cd avatar-graph-comfyui
python -m pip install -r requirements.txt

Restart with python main.py --enable-cors-header (--force-fp16 too on Mac). Windows gets a prebuilt Python 3.10 environment from the README; macOS/Linux is pointed at a dedicated conda create --name comfyui python=3.10.

Common issues

Expected a full rig, got one bone. That's correct behavior - this node only creates the armature object with its default starting bone, the same as Blender's own Add → Armature menu item. Building out a full bone hierarchy (and parenting a mesh to it) is a separate step this pack doesn't have a dedicated node for in this list.

Not sure whether to use this or shape keys for animation. For Avatar Graph's actual purpose - 2D character images rigged for real-time blink and lipsync - shape keys (Object_AddShapeKeys plus the pack's shape-key posing nodes) driven by Shape Flow is the documented, demoed path. Reach for an armature only if your project genuinely needs bone-based movement beyond that.

Nodes not loading in ComfyUI. Check python --version is exactly 3.10.x - bpy fails to import outside that range and the whole pack won't register.

No live avatar preview. Needs --enable-cors-header at launch to reach the embedded editor.avatech.ai panel. Without it, export via right-click → Save File on Avatar Main Output instead.

Categoryblender

Inputs (7)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
radiusoptFLOAT1.000–999999995904
enter_editmodeoptBOOLEANfalse
alignoptCOMBO3 options: WORLD, VIEW, CURSOR
locationoptB_VECTOR3
rotationoptB_VECTOR3
scaleoptB_VECTOR3

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ