Nodes/Avatar Graph/Avatar Main Output
ComfyUI Node

Avatar Main Output

The terminal node every Avatar Graph workflow ends at

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Avatar Main Output
  • BPY_OBJ
  • BPY_OBJS
  • SHAPE_FLOW
    open_in_blenderfalse
    auto_savefalse
    blender_path_override
    filenameout
    model_type
    write_mode
    upload_to_cloudfalse

    If you build anything with Avatar Graph - avatech.ai's pack for rigging a flat character image into an interactive avatar inside ComfyUI - this is where the graph ends. The README describes it plainly: "the primary output of the .ava file. The embedded Avatar View will auto update with this node's output." Every mesh, shape key, and Shape Flow graph you've built feeds into this one node, which decides how it all gets written out.

    What it pulls together

    This node takes your finished rig - the mesh (BPY_OBJ/BPY_OBJS) and the runtime behavior graph (SHAPE_FLOW, built by CreateShapeFlow) - and exports the combination as a file. It's marked as an output node in the schema, meaning ComfyUI treats it as a terminal point of the graph: nothing needs to be wired downstream of it.

    The fields that matter

    • model_type - the export format, and the decision that matters most: AVA is this pack's own native container, needed if you want the interactive live preview and the Shape Flow runtime to actually work; GLB and GLTF_EMBEDDED are standard glTF variants for opening the result in Blender, a game engine, or any generic 3D viewer, but without the pack's interactive behavior layer. Pick AVA if you're staying inside the avatech ecosystem; pick GLB if you just want the mesh out.
    • filename (default "out") and write_mode (Overwrite or Increment) - where the file goes and whether re-running the graph clobbers the previous export or produces a fresh numbered file each time. If you're iterating repeatedly, Increment saves you from accidentally losing a version you wanted to keep.
    • open_in_blender (default false) - launch Blender to inspect the result directly; pair with blender_path_override if Blender isn't on your system PATH or you want to point at a specific install.
    • upload_to_cloud (default false) - pushes the export to avatech's own hosting, which is what powers the shareable editor.avatech.ai/viewer links you'll see in the pack's demo posts.
    • SHAPE_FLOW - the runtime behavior graph from CreateShapeFlow. Skip this and you get a static mesh export with no interactive rigging baked in, regardless of how much shape-key work you did upstream.

    There are no outputs - this node is the end of the line by design.

    Installing it

    Search avatar-graph-comfyui in ComfyUI Manager, or clone it 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
    

    Because most of the graph feeding into this node runs through bpy, the pack as a whole needs Python 3.10.x - a dedicated conda environment on Mac/Linux, or the README's prebuilt Python 3.10 ComfyUI zip on Windows. Restart with --enable-cors-header afterward: this flag is specifically what lets the live avatar preview panel talk to editor.avatech.ai, so if you're planning to use upload_to_cloud or the interactive preview, don't skip it.

    Troubleshooting

    If upload_to_cloud doesn't seem to produce a working shareable link, or the embedded Avatar View panel doesn't update, check first that ComfyUI was actually launched with --enable-cors-header - without it, the pack's editor integration has no way to communicate with ComfyUI at all, and the README calls this out as the specific purpose of that flag. If you exported GLB or GLTF_EMBEDDED and the file opens fine in Blender but shows no animation or interactivity, that's expected - those formats carry geometry and textures, not this pack's Shape Flow runtime; only AVA does. And if write_mode is left on Overwrite during iteration, remember every re-run replaces filename in place - switch to Increment before you experiment further if you want to keep earlier attempts around.

    Categoryblender

    Inputs (10)

    NameTypeDefaultDescription
    BPY_OBJoptBPY_OBJ
    BPY_OBJSoptBPY_OBJS
    open_in_blenderoptBOOLEANfalse
    auto_saveoptBOOLEANfalse
    blender_path_overrideoptSTRING
    filenameoptSTRINGout
    model_typeoptCOMBO3 options: AVA, GLB, GLTF_EMBEDDED
    write_modeoptCOMBO2 options: Overwrite, Increment
    upload_to_cloudoptBOOLEANfalse
    SHAPE_FLOWoptSHAPE_FLOW

    Outputs (0)

    No outputs