Nodes/Blender-IO/Blender Outputs
ComfyUI Node

Blender Outputs

Shipping Images, Meshes, Video, and Audio Straight Into Blender

By AIGODLIKE·Created 11 months ago·Updated 11 months ago· 2
Blender Outputs
  • image
  • mesh
  • video
  • audio
    model
    text

    BlenderOutputs is the return half of the AIGODLIKE Blender bridge. Where its sibling BlenderInputs pulls viewport renders out of Blender, this node takes whatever your graph produced and hands it over - an image, a 3D mesh, a model path, a video, audio, or plain text - through the same websocket. It's an output node, the terminal of a branch, and it's the node that actually closes the loop: generate in ComfyUI, send to Blender, edit there, send back.

    Like the rest of the pack, it's a transport layer, not a standalone tool. The README is explicit that AIGODLIKE/Blender-IO exists only for the ComfyUI-BlenderAI-node add-on. No Blender add-on connected, no send - the node just raises "Blender not connected." Install the pack, install the add-on, connect, and you're talking.

    How it works

    When the graph executes, BlenderOutputs takes each input it was given and saves it to disk in the format Blender expects:

    • image gets written as a PNG to ComfyUI's temp folder, with the prompt and workflow metadata embedded in the PNG chunk - so the image itself remembers how it was made.
    • mesh gets exported as a .glb, using the same save_glb helper ComfyUI's Hunyuan3D nodes use.
    • video becomes an h264 .mp4, plus an animated webp preview.
    • audio becomes a .flac with a Vorbis comment block containing the generation metadata.
    • model and text are sent as plain strings - a model path/name, or whatever text you wired in.

    Then it fires one websocket message (send_data_to_blender) to the add-on with all the saved file locations and strings, and Blender imports them. It also stashes the original data in a shared in-memory queue, which is how a ComfyUIInputs node elsewhere in the graph can read the same data back after it left. That queue is what lets you loop data through Blender and back into ComfyUI without re-generating.

    The inputs (all optional)

    • image (IMAGE) - the obvious one; wire your final image here.
    • mesh (MESH) - a mesh object from a 3D-generation node. Note the export path is wrapped in a try/except that swallows failures, so if the GLB save breaks you get nothing and no error - check you actually fed it a real mesh.
    • model (STRING) - a model path or identifier for Blender to load.
    • video (VIDEO) and audio (AUDIO) - for animation and sound; both use ComfyUI's newer core VIDEO/AUDIO types, which means you need a reasonably recent ComfyUI install.
    • text (STRING) - free-form text, e.g. a prompt or notes for the Blender side.

    There are no outputs; it's a sink. Wire it at the end of whatever branch you want in Blender.

    Two gotchas worth knowing

    First, the front-end enforces a hard limit: only one BlenderOutputs node per graph. Add a second and the UI literally pops an alert and removes it. Plan your graph around that single exit point.

    Second, the audio path calls torchaudio at module import time, so a hand-rolled Python environment that skipped it will fail to load the whole pack. The official ComfyUI installs include it; if yours doesn't, pip install torchaudio.

    Installing

    Same as the rest of the pack - no dependencies to manage, no models to download:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AIGODLIKE/Blender-IO.git
    

    then restart ComfyUI, or grab it via ComfyUI Manager (search Blender-IO). The actual work is on the Blender side: install ComfyUI-BlenderAI-node in Blender and connect it to your local ComfyUI instance. Until that's done, this node is a wall ornament.

    The take

    The whole "professional studio workflow" pitch - generate in ComfyUI, touch up in a real DCC - lives or dies on nodes like this one. It's simple plumbing, but it's the plumbing that makes Blender a genuine part of the pipeline instead of a screensaver you admire after the fact. It's also a young, opinionated bridge from a small maintainer, so treat the add-on as the fragile half: when something breaks, it's usually on the Blender side of the connection, not here.

    CategoryBlender

    Inputs (6)

    NameTypeDefaultDescription
    imageoptIMAGE图片.
    meshoptMESH
    modeloptSTRING模型.
    videooptVIDEO视频.
    audiooptAUDIO音频.
    textoptSTRING文本内容.

    Outputs (0)

    No outputs