- model_3d
This node does almost nothing, and that's fine. Hi3D:Load3DModel is a dropdown that lists the GLB files on your machine and outputs one of them as a FILE_3D. It's the supply side of the pack's Texture node: if you didn't just generate a mesh with Hi3D:ImageTo3D - if you made it in Blender, downloaded it, or got it from a friend - this is how it gets into the graph.
It's also the only node in the pack that doesn't touch the cloud. No API key, no upload, no queue. It just scans your ComfyUI input and output directories for .glb files, recursively, and hands you a picker.
How it works
Under the hood it's a plain ComfyUI node with a single required input, model_file, whose options are built by walking get_input_directory() and get_output_directory() for anything ending in .glb. Select a file, and it returns a File3D pointing at it. Nothing gets uploaded anywhere until a downstream node (read: Texture) decides to send it off to Hi3D's API.
The one piece of custom chrome is a "Upload GLB File" button the pack's front-end adds. Click it, pick a .glb from anywhere on your disk, and it's pushed into your ComfyUI input directory and dropped into the dropdown on the spot - no restart needed. That's the smoothest path for a file that isn't already inside the ComfyUI folder tree.
What you connect it to
- model_file - the only input. Choose from the dropdown, or use the upload button.
- model_3d (type
FILE_3D) - the output. Wire it into TextureNode's GLB input and you can re-texture the mesh from a reference image, same as you would a freshly generated one.
That's the whole job: get an existing model from disk into a Texture pipeline.
Installing
It ships with the pack, so the install is the pack install. Search Hi3D in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/dev-hitem/hitems3D-comfyUI
cd hitems3D-comfyUI
pip install -r requirements.txt
Restart ComfyUI. Dependencies are just tos and aiohttp. Note this one still needs a recent ComfyUI, because the FILE_3D type it emits only exists in newer builds.
Gotchas
- GLB only. No
.fbx,.obj,.usdz- the dropdown hard-filters to.glb. Convert first. - Only your input/output folders are scanned. A mesh sitting in
~/Downloadswon't appear until you use the upload button or move it in. - The dropdown is built when the node is created. If you drop a file in via your file manager, the running node won't see it - re-add the node or refresh the page. The built-in upload button avoids this by updating the widget live.
- Empty folder? The dropdown shows "(no files found)" as a placeholder. Drop something in and it behaves.
One honest caveat: with the Texture node being cloud-side and paid, this free utility is the appetizer. It's still the right node when you need it - a boring file picker that quietly makes "load an existing mesh" a non-event.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_file | COMBO | 1 options: (no files found) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_3d | FILE_3D | — |