Save Image With Workflow
The save node behind Avatar Graph's shareable demos
Avatar Graph is a pack for building real-time interactive avatars - segment a character image into mesh layers, rig blend shapes with Blender's own operators, wire them up with the pack's Shape Flow runtime, and get something that blinks and lip-syncs live. Save Image With Workflow isn't part of that rigging chain at all - it's the pack's output node, the thing that turns whatever you're looking at into a file you can hand to someone else.
How it works
It's the classic ComfyUI trick, given its own class inside this pack instead of reusing the stock SaveImage node: write the PNG to disk, and embed the full workflow JSON in the file's metadata while you're at it. PNG metadata survives copy-paste and most uploads, so anyone who drags that resulting file back into ComfyUI gets your entire graph reconstructed - no separate .json to dig up and attach. That's exactly how the pack's own README distributes its demo templates: "Save the image, and drag into ComfyUI." No GitHub gist, no zip file - the picture is the workflow.
The inputs and outputs that matter
Two inputs, both required, nothing else:
image- whatever you want written to disk. Wire in a rendered texture, a composited layer, a segmented character portrait, anything upstream that produces an image.filename_prefix- a string, defaults to"ComfyUI". Bump it to something likeavatar_layerorblink_testif you're saving a lot of files and want to find the right one later without opening each thumbnail.
It's marked as an output node with no outputs - nothing wires out of it. It writes the file and the graph ends there.
How to install it
Same pack, same install for every node in it. Easiest path is ComfyUI Manager: search "Avatar Graph" (or "avatar-graph-comfyui") and install. Manually, it's:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
then pip install -r requirements.txt inside the cloned folder and restart. The one thing to know before you clone anything: the pack depends on Blender's bpy package for its mesh/rigging nodes, and bpy only ships for Python 3.10.x - so on macOS/Linux the README pushes you toward a dedicated conda env (conda create --name comfyui python=3.10) rather than dropping it into whatever environment your other nodes already live in. Windows users get a shortcut: Avatech hosts a prebuilt ComfyUI + Python 3.10 zip you unzip in place, then install this pack through Manager on top of it. Restart with --enable-cors-header if you want the live avatar preview talking to Avatech's web editor; without it you can still export and save files normally, you just lose that live view.
Common issues & troubleshooting
This particular node doesn't touch bpy at all - it's plain image I/O - so once the pack loads, it just works. If it's missing from your node search, that's a pack-install problem, not a node-specific one: check ComfyUI's startup console for an import error on avatar-graph-comfyui, and confirm pip install -r requirements.txt actually finished rather than silently failing partway (the classic ComfyUI custom-node failure mode is one package in a requirements file conflicting with something another node already pinned - very common across the ecosystem, and this pack's Python 3.10 requirement makes it more likely than most).
If a saved PNG doesn't restore your workflow when you drag it back in later, the file lost its metadata somewhere along the way - a lot of chat apps, forums, and image hosts strip PNG metadata on upload or re-encode to JPEG, which kills the embedded-workflow trick regardless of which save node produced it. Keep the original file if you want to reuse the graph.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png | |
| filename_prefix | STRING | ComfyUI | — |
Outputs (0)
No outputs