Nodes/ComfyUI-UltraShape1/UltraShape Load Model
ComfyUI Node

UltraShape Load Model

Where the UltraShape weights live

By jtydhr88·Created 8 months ago·Updated 6 months ago· 183
UltraShape Load Model
    • model
    checkpoint(select file)
    configinfer_dit_refine.yaml
    dtypebfloat16
    low_vramfalse

    Every UltraShape workflow starts here, because nothing else in the pack runs without it. This node loads the actual refinement model - a VAE, a DiT (diffusion transformer), and an image conditioner - into VRAM, then hands you a single model socket that feeds the Load Coarse Mesh and Refine nodes. It's the heaviest node in the pack, and the only one where you'll wait on a real download before anything works.

    A word on what this model is, because it changes what you expect. UltraShape (from PKU-YuanGroup, Apache-2.0, Dec 2025) is a refiner, not a generator. You feed it a coarse mesh - from Trellis, Trellis 2, Hunyuan3D, wherever - plus the image that produced it, and it rebuilds the geometry with sharp edges and fine detail that more closely follows that image. It does not generate from scratch and it does not paint textures. The community deep-dives on it (r/comfyui, Jan 2026) all say the same thing: generate your base mesh somewhere else, then refine here, then texture afterward. Keep that mental model and this node's purpose is obvious - it's the engine you're borrowing.

    What it loads and where it looks

    The one input you must set is checkpoint, a dropdown. It scans ComfyUI/models/UltraShape/ for .pt, .ckpt, or .safetensors files. On a fresh install it shows "(select file)" and refuses to run until you've dropped a real checkpoint in that folder:

    ComfyUI/
    └── models/
        └── UltraShape/
            └── ultrashape_v1.pt
    

    Grab ultrashape_v1.pt from the infinith/UltraShape HuggingFace repo. The config file it needs (infer_dit_refine.yaml) ships inside the pack itself, so you don't hunt for it.

    The knobs that matter

    The defaults are sane, but two of them are the difference between running on an 8 GB card and an OOM crash:

    • dtype - float16, bfloat16, or float32, default bfloat16. Leave it. bf16 is the sweet spot for this model; fp32 is for debugging, not for fitting.
    • low_vram - off, by default. Flip it on and the pipeline uses ComfyUI's model CPU offload, shipping components to system RAM when idle. Slower, but it's the difference between "fits" and "doesn't fit". This is your first move when the Refine node explodes with an out-of-memory error.
    • config - default infer_dit_refine.yaml, and that's the one you want. The other two entries in the dropdown (train_vae_refine.yaml, train_dit_refine.yaml) are training configs that happen to live in the pack's config folder; the node doesn't stop you selecting them, but nothing good comes of it.

    Install, the real way

    cd ComfyUI/custom_nodes
    git clone https://github.com/jtydhr88/ComfyUI-UltraShape1
    cd ComfyUI-UltraShape1
    pip install -r requirements.txt
    

    Restart ComfyUI. The pack's requirements pull in trimesh, omegaconf, einops, pymeshlab, rembg, diffusers, and pytorch-lightning - most already present in a stock install, and none are the compiled CUDA nightmare that ComfyUI-3D-Pack drags in. Optional accelerators (cubvh for CUDA marching cubes, flash_attn) fall back gracefully if missing. ComfyUI Manager finds it as ComfyUI-UltraShape1.

    Issues you'll actually hit

    The most common failure is "Please select a checkpoint file" - you clicked run before dropping weights in models/UltraShape/, or the download was partial and the file name doesn't end in a recognized extension. Second most common: model loads fine but the whole graph OOMs at refinement time. That's not this node's fault - it's the VRAM ceiling, and the fixes live here (low_vram on, bfloat16) and in the Refine node (num_chunks, octree_resolution). The pack's README estimates ~8-12 GB just to load the model, so budget accordingly before you blame anything.

    CategoryUltraShape/Loaders

    Inputs (4)

    NameTypeDefaultDescription
    checkpointCOMBO(select file)1 options: (select file)
    configoptCOMBOinfer_dit_refine.yaml3 options: infer_dit_refine.yaml, train_vae_refine.yaml, train_dit_refine.yaml
    dtypeoptCOMBObfloat163 options: float16, bfloat16, float32
    low_vramoptBOOLEANfalseEnable CPU offloading to reduce VRAM usage (slower but uses less memory)

    Outputs (1)

    NameTypeDescription
    modelULTRASHAPE_MODEL