Object Text Add
ComfyUI Node Guide
- BPY_OBJ
- location
- rotation
- scale
- BPY_OBJ
Object Text Add does exactly what it says: it drops a new text object into your scene, the same as hitting Add > Text in Blender's viewport. It's part of Avatar Graph, Avatech's node pack that turns ComfyUI into a rigging tool for real-time 2.5D avatars - you segment a character image, build mesh layers, and wire up a shape-key runtime so it can blink and lipsync live. This particular node is less about the avatar mesh itself and more general-purpose scene setup, since Avatar Graph wraps a huge chunk of Blender's own object-creation API alongside its avatar-specific tools.
Under the hood it's a direct pass-through of bpy.ops.object.text_add - a real Blender operator, not something Avatech wrote custom. Avatar Graph embeds bpy (Blender's Python API, packaged as a library) inside ComfyUI, and many of its nodes, this one included, just expose a Blender operator's own parameters as ComfyUI widgets.
What it produces is a Font/Text object - a 3D-capable text element you can position, scale, and later convert to a mesh if you need actual polygon geometry out of it (that's what the pack's Object Convert node is for). In an avatar context this could be used for on-canvas labels, or as a building block if a workflow wants to bake text into part of a character's scene.
The inputs, all fairly self-explanatory:
- radius - controls the initial size of the text object. Default is 1.
- location, rotation, scale - the standard 3D transform vectors for where the new object spawns and how it's oriented.
- align -
WORLD,VIEW, orCURSOR. This controls what the initial rotation is aligned to: world axes, the current viewport camera, or the 3D cursor's orientation.WORLDis the sane default if you're driving everything programmatically rather than interactively. - enter_editmode - whether the object is created already in text-edit mode. In a scripted graph context you'll almost always want this off, since there's no interactive session to type into.
Output is a fresh BPY_OBJ representing the new text object, ready to feed into whatever comes next in your graph - transforms, conversion to mesh, or further Blender operations.
Installing it: there's no standalone install for a single node here - you get the whole Avatar Graph pack. Easiest route is ComfyUI Manager, searching "Avatar Graph" or avatar-graph-comfyui. Manual install: cd ComfyUI/custom_nodes, then git clone https://github.com/avatechai/avatar-graph-comfyui, cd into it, pip install -r requirements.txt, restart ComfyUI.
The install snag that actually gets people: Avatar Graph needs Python 3.10.x exactly, because its bpy dependency only ships wheels for that version. Running ComfyUI on a newer Python - the default for most fresh installs these days - means this install just fails. The README's own fix is a dedicated conda environment: conda create --name comfyui python=3.10, activate it, install ComfyUI's requirements, then this pack's. If you want the live preview in Avatech's web-based avatar editor, also launch with --enable-cors-header (Mac users add --force-fp16 too); without that flag everything still runs, you just lose the live in-browser update and export .glb/.gltf files instead.
Since text objects aren't the pack's core use case, don't be surprised if this node feels a little underused compared to the mesh and UV tools - it's there because the whole Blender object-creation surface got wrapped, not because avatar rigging specifically needs text.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| radiusopt | FLOAT | 1.000–999999995904 | — |
| enter_editmodeopt | BOOLEAN | false | — |
| alignopt | COMBO | 3 options: WORLD, VIEW, CURSOR | |
| locationopt | B_VECTOR3 | — | |
| rotationopt | B_VECTOR3 | — | |
| scaleopt | B_VECTOR3 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |