Nodes/ComfyUI-Unique3D/Unique3DLoadPipeline
ComfyUI Node

Unique3DLoadPipeline

The Quiet Node That Loads the Refine Pipeline (and Downloads a Few GB on First Run)

By jtydhr88·Created 2 years ago·Updated 2 years ago· 226
Unique3DLoadPipeline
    • pipe
    ip_adapter
    plus_model

    Unique3DLoadPipeline is the least glamorous node in this pack, and that's kind of the point. It doesn't generate anything. It doesn't reconstruct anything. It just assembles a diffusion pipeline - a diffusers SD1.5 img2img pipe with a tile ControlNet bolted on, and optionally an IP-Adapter - and hands it to the Unique3DRun - Geo Reconstruct node as a pipe. If you never turn on do_refine in that node, you can ignore this one entirely. If you do, this is the node that makes the refined multiview pass possible.

    Why it exists

    Unique3D's official pipeline has a "refine" step where the four predicted views get pushed back through Stable Diffusion at higher resolution, using the original image as a tile-ControlNet condition, to sharpen texture detail and kill seams. That pass needs a working SD1.5 pipeline, and rather than lean on your existing ComfyUI checkpoints, this pack loads its own via diffusers. Unique3DLoadPipeline is that loader. It hard-codes runwayml/stable-diffusion-v1-5 as the base model and reads the tile ControlNet from ckpt/controlnet-tile inside the pack folder - which is why those weights are part of the download list, not optional extras.

    The first time you run it, be ready for a download. It pulls the SD1.5 weights from Hugging Face, and if ip_adapter is on, it also grabs the CLIP image encoder plus the IP-Adapter weights (ip-adapter-plus_sd15.safetensors or ip-adapter_sd15.safetensors depending on plus_model) from Tencent's h94/IP-Adapter repo. That's several GB and a real wait on a slow connection. It only happens once - the pipe is cached for the session.

    The inputs that matter

    Two toggles, both True/False:

    • ip_adapter - whether to attach IP-Adapter to the pipe. This is the image-prompt adapter, so it lets the refine pass lean on the reference image's content, not just the tile structure. The catch: it costs VRAM and triggers that extra download. If you're not running do_refine, leave it off.
    • plus_model - only meaningful if ip_adapter is on. True loads the newer, stronger ip-adapter-plus_sd15; False falls back to the original ip-adapter_sd15. In practice, True is what you want when you bother with IP-Adapter at all.

    The output

    One output: pipe, type Unique3DPipeline. There's exactly one consumer in the wild - the Unique3DRun - Geo Reconstruct node in this same pack. Wire it into that node's pipe input. Nothing else in ComfyUI understands this type.

    Installing the pack

    Read this before you install, because it's a heavier lift than most custom nodes. The repo is archived (the author points new users to ComfyUI-3D-Pack, which now ships its own Unique3D implementation) - this still works, but nothing is getting fixed.

    cd ComfyUI/custom_nodes
    git clone https://github.com/jtydhr88/ComfyUI-Unique3D.git
    

    Then, on Windows, you need the triton wheel for Python 3.11 (from madbuda/triton-windows-builds on Hugging Face) dropped inside the pack folder, and you run the bundled install_windows_portable_win_py311_cu121.bat - answer Y when it asks about removing things. It pins diffusers==0.27.2 and swaps in a CUDA-12.1 build of onnxruntime-gpu, so expect it to fight with any other pack that wants a newer diffusers. Finally, download the weights from the Hugging Face space into ckpt/ with this exact layout:

    ComfyUI-Unique3D/ckpt/
        controlnet-tile/
        image2normal/
        img2mvimg/
        realesrgan-x4.onnx
        v1-inference.yaml
    

    The README also insists ComfyUI-3D-Pack be installed first. That's partly because the example workflow previews the mesh with its [Comfy3D] Preview node, but if you want the full intended experience, don't skip it. The author's advice to "download a new ComfyUI bundle" if anything breaks tells you everything about how fragile this install is.

    Troubleshooting

    • pytorch3d DLL load failed while importing _C (Windows): pip uninstall pytorch3d, then pip install git+https://github.com/facebookresearch/pytorch3d.git@stable.
    • _catter_cuda.pyd entry-point error: uninstall and reinstall torch_scatter.
    • onnxruntime errors on startup: the README says these don't affect mesh generation - "maybe". Treat any console warning from this pack with suspicion; the mesh path runs on the CUDA provider for onnxruntime, and if it actually fails you'll see it at generation time, not load time.

    If your goal is image-to-3D and you don't specifically need this pack's refine pass, the maintained ComfyUI-3D-Pack path is the less painful route in 2026. This node is for when you want Unique3D's original refine behavior specifically.

    CategoryUnique3D

    Inputs (2)

    NameTypeDefaultDescription
    ip_adapterCOMBO2 options: true, false
    plus_modelCOMBO2 options: true, false

    Outputs (1)

    NameTypeDescription
    pipeUnique3DPipeline