Object Drop Named Image
Placing an image file into the Avatar Graph scene
- BPY_OBJ
- location
- rotation
- scale
- BPY_OBJ
Unlike a lot of the "drop" nodes in this pack, Object Drop Named Image actually works fine outside a real drag-and-drop - it takes a file path directly. It wraps bpy.ops.object.drop_named_image(), the operator Blender runs when you drag an image file into the 3D viewport: it creates a new Empty object with that image displayed on it, positioned wherever you tell it to.
How it works
Give it a filepath and it loads that image as a data-block, then adds an Image-type Empty in the scene at your chosen location/rotation/scale, aligned per align. Functionally that's close cousin to what Object_LoadReferenceImage does - both put an image-backed Empty into the Blender scene, which is why the output here is BPY_OBJ and not something like IMAGE. The difference is which Blender operator you're calling: LoadReferenceImage is the dedicated reference-image tool the README's documented character-loading workflow uses (with its own file-browser filter options); this one is the more general drag-and-drop image operator, useful when you want direct control over exactly where and how the image gets placed rather than following the reference-image flow specifically.
The inputs and outputs that matter
filepath(string) - path to the image file. This is the one setting a beginner actually needs to set.name(string) - the data-block name to give the loaded image; leave blank and Blender names it after the file.relative_path(bool, defaulttrue) - store the path relative to the.blendfile rather than as an absolute path. Matters mainly for portability if you're moving files around; leave it on unless you have a reason not to.align(enum:WORLD,VIEW,CURSOR) - how the new Empty is oriented on creation.location/rotation/scale- its starting transform.session_uuid- drag-session plumbing carried over from Blender's UI operator; harmless to leave at its default0when calling this directly rather than via a real drag.BPY_OBJ(optional) - for chaining onto existing scene context.
Output: a single BPY_OBJ, the new image Empty.
How to install it
ComfyUI Manager: search "Avatar Graph", install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui && python -m pip install -r requirements.txt
Same dependency wall as the rest of the pack: bpy only ships for Python 3.10.x. Windows can grab Avatech's prebuilt Python-3.10 ComfyUI zip; macOS/Linux wants a dedicated conda create --name comfyui python=3.10 rather than an existing newer-Python install. Add --enable-cors-header on restart if you want the live avatar preview reaching editor.avatech.ai (Mac also wants --force-fp16); skip it and you still get full functionality through .glb/.gltf export.
Common issues & troubleshooting
Install failures almost always trace to Python version - check for an import error on bpy in the startup console before suspecting anything else.
Filepath not resolving - with relative_path on, a path saved relative to one machine's .blend location can break if the graph runs somewhere else (say, a different ComfyUI install or a cloud executor). If the image doesn't load where you expect, try an absolute path first to rule that out.
Meant to load a character reference, got a generic image Empty instead - that's this node working correctly, just not the node the README's rigging workflow actually uses. Swap to Object_LoadReferenceImage for the documented open-mouth, 768×768-minimum character-portrait flow; reach for this one when you want more direct placement control over an arbitrary image instead.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| filepathopt | STRING | — | |
| relative_pathopt | BOOLEAN | true | — |
| nameopt | STRING | — | |
| session_uuidopt | INT | 0-2147483648–2147483647 | — |
| 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 | — |