Nodes/Avatar Graph/Load Image From Request
ComfyUI Node

Load Image From Request

ComfyUI Node Guide

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Load Image From Request
  • image
  • image
nameface.png

Unlike most of the nodes in Avatar Graph - which are direct Blender operator wrappers - Load Image From Request is Avatech's own creation, built specifically for how their pack talks to the outside world. Avatar Graph is the node pack that turns ComfyUI into a rigging tool for real-time interactive avatars: you feed it a character illustration, it segments the image, builds mesh layers, and wires up shape keys so the result can blink and lipsync live. This node is the entry point for that image, but with a twist that trips people up if they don't know it's there.

The regular "Load Image" node most ComfyUI users know reads a file from ComfyUI's local input folder. This node instead pulls an image handed over from Avatech's own web-based editor (editor.avatech.ai), which talks to your local ComfyUI instance over a postMessage bridge - the README calls this out directly in its FAQ. When you run a workflow from inside their editor, character data (like a face image you've uploaded there) gets sent across that bridge, and this node is what receives it into the graph rather than reading from disk.

The inputs and output:

  • name - a required string, defaulting to "face.png". This is the filename identifier for the incoming image, matching what the sending side (Avatech's editor) is expected to label it.
  • image - an optional IMAGE input. This looks like it functions as a fallback: if you're not actually running inside the editor bridge and just want to test the rest of your graph, you can likely wire a normal image source into this slot instead of relying on the request-driven path.
  • image (output) - the resulting IMAGE, which then flows into the rest of the pipeline the same way any loaded image would: segmentation, mesh-layer generation, and so on.

The practical thing to understand is that this node is context-dependent. It's built to work specifically when ComfyUI is launched with --enable-cors-header and the workflow is actually being driven from Avatech's own web editor. Run the workflow standalone through the regular ComfyUI UI or via the API without that bridge in play, and there's nothing feeding the request side - you'd want a normal Load Image node instead, or make sure the optional image input is supplying something.

Installing it: this node comes bundled with the whole Avatar Graph pack - no standalone install. Simplest route is ComfyUI Manager, search "Avatar Graph" or avatar-graph-comfyui. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then cd in and pip install -r requirements.txt, then restart.

The install detail that actually matters here more than most nodes in this pack: to get this node doing anything useful (i.e. actually receiving images from the editor), you need to launch ComfyUI with python main.py --enable-cors-header (on Mac, --force-fp16 --enable-cors-header). The README is explicit that this flag exists purely to let Avatech's editor and your local ComfyUI exchange messages - character mesh data one way, graph JSON the other. Skip the flag and this node simply won't be receiving anything from the bridge; you'd need to fall back to its optional image input or a regular Load Image node instead.

Also don't forget the pack-wide requirement: Python 3.10.x, because the underlying bpy dependency only ships wheels for that version - set up a dedicated conda environment (conda create --name comfyui python=3.10) if your ComfyUI is on anything newer.

Categoryimage

Inputs (2)

NameTypeDefaultDescription
nameSTRINGface.png
imageoptIMAGE

Outputs (1)

NameTypeDescription
imageIMAGE