Hi3D · 加载模型(独立)
Four toggles between a 4-minute refine and an OOM
- model
Every 3D node pack has one of these - a loader that outputs an opaque handle instead of a mesh, so the actual work happens somewhere else. Hi3D Model Loader (Hi3D · 加载模型(独立), class Hi3DModelLoader) is that node. One output, HI3D_MODEL, five settings, no pixels.
The "独立" (standalone) in the display name is the important part: this version runs the official Hi3D pipeline inside ComfyUI's own Python process. The older builds of this pack drove a separate local backend service over HTTP and needed the workbench installed and running. That's gone. Nothing to launch, no port to police, no second interpreter - just ComfyUI, its existing Torch/CUDA, and the weights.
What it's holding
Under the hood it's mostly a policy object: it resolves your model root, records the offload, attention and residency choices, and decides whether missing files may trigger a download. The actual loading is lazy, on the first refine - a 512 transformer, a sparse VAE, an image conditioner (DINOv2 Large + CLIP ViT-L/14), the 1024 transformer for the higher rungs, plus a checksum-verified copy of the upstream Hi3D source. That model is Hi3D v1.0, the same lineage as Hi3DGen, which our 3D guide describes as TRELLIS re-implemented with the awkward NVIDIA libraries stripped out - hence spconv and Triton in the dependency list instead of nvdiffrast.
Which brings us to the honest headline: NVIDIA, compute capability 8.0 or higher. The refine step hard-errors on anything else - no AMD, no Mac, no 20-series. The pack's README says the same about its Windows TRELLIS extensions needing 8.6+; for Hi3D proper the code checks 8.0.
The settings that matter
model_root is a plain string, empty by default, which means "use ComfyUI/models/Hi3D/". That directory must contain hi3d/, dino/ and clip/ - the tooltip says exactly this. You can also give it an absolute path, or register an hi3d entry in extra_model_paths.yaml. A nicety worth knowing: point it at the hi3d/ subfolder itself and the code walks up one level for you, so both "the models dir" and "the thing with model_index.json in it" work.
cpu_offload (default on) is the single biggest lever. On, the pipeline uses sequential CPU offload - slower, dramatically smaller footprint, and the setting the author tells you to start with. Off, the whole thing goes to the device at once. Try off once you know your card's headroom; don't start there.
attention offers sdpa and flash. The code's default actually differs by OS - sdpa on Windows, flash elsewhere - so read the widget rather than assuming. flash requires a working flash_attn import and fails with a message telling you to pick sdpa if it's absent. sdpa runs through a small compatibility adapter that explicitly refuses PyTorch's quadratic math fallback on CUDA, because that fallback can allocate an enormous N×N buffer and eat your card. If in doubt: sdpa.
keep_model_loaded (default off) decides whether the weights survive between runs. Off means the pipeline is released after every refine - you pay the reload each queue. On means consecutive jobs skip it but the memory stays parked. Batch-refining four variants? Turn it on and stop reloading 4GB of transformers four times.
download_missing (default off) is a very deliberate safety catch: with it on, a missing-weights error instead becomes a Hugging Face pull of the pinned core snapshot (t8star/Hi3d-Comfy, fixed revision) - hi3d/*, dino/*, clip/* and the licenses, nothing else. With it off, you get a FileNotFoundError naming the first five missing files. There is no background downloading.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-Hi3d-T8
cd Comfyui-Hi3d-T8
# ComfyUI's python, e.g. the portable build:
../../../python_embeded/python.exe -m pip install -r requirements.txt
Restart ComfyUI afterwards. Or find Hi3D T8 in ComfyUI-Manager (node ID hi3d-t8, publisher t8star). Then the weights:
hf download t8star/Hi3d-Comfy --local-dir ComfyUI/models/Hi3D \
--include "manifest.json" "hi3d/*" "dino/*" "clip/*" "licenses/*"
That's the core only, a few GB. Don't drop the --include unless you want the full ~79GB multi-engine bundle - that's for the workbench's generation and PBR engines, and these three nodes will never touch it.
That requirements.txt is where installs stall: spconv-cu126==2.3.8 pins a specific CUDA build. If pip starts compiling spconv from source on your 12.4 or 13.x stack, stop and match your environment rather than waiting.
Things that go wrong
"Model not complete" with a path printed. You pointed model_root at the wrong level, or the snapshot download died halfway. The error lists what's missing relative to the root; usually it's a missing dino/ or clip/ because someone downloaded only the hi3d/ folder.
"Another node has loaded a different version of sparc3d." The vendored upstream package has a fixed name, so if you also have a Hi3DGen/Stable3DGen-style node installed, the two collide. Disable one and restart - this one is a hard stop, not a warning.
Your other models vanish from VRAM. By design: each refine calls ComfyUI's unload_all_models() and empties the cache first. If you were keeping an SDXL checkpoint warm in the same queue, this node evicts it.
Last thing: the loader fingerprints every weight file by size and timestamps and reloads if they change, so re-downloading a checkpoint mid-session takes effect without a restart. More than most loaders here give you.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model_root | STRING | 留空使用 ComfyUI/models/Hi3D;目录下包含 hi3d、dino、clip。支持自定义绝对路径与 extra_model_paths.yaml 的 hi3d 项。 | |
| cpu_offload | BOOLEAN | true | — |
| attention | COMBO | flash | 2 options: sdpa, flash |
| keep_model_loaded | BOOLEAN | false | 连续任务保留模型内存;关闭时每次精修后释放模型。 |
| download_missing | BOOLEAN | false | 缺少权重时,从固定版本的 t8star/Hi3d-Comfy 仅下载 Hi3D 核心与必需编码器。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | HI3D_MODEL | — |