Seed-Nodes: ImageTo3D
An image-to-3D node that's really just a phone call to a local server
- image
- glb_path
Want the honest take up front? ImageTo3D is the most interesting-looking node in ComfyUI-Seed-Nodes and the one most likely to disappoint you. It doesn't generate 3D itself. It's a thin client that base64-encodes your image, POSTs it to a local HTTP server on localhost:15978/generate, waits for a GLB download URL, fetches the file, and hands you back a path to it. If that server isn't running - and the pack neither ships nor documents it - the node silently returns an empty string. There's your gotcha, right at the top.
How it works
The flow, read straight out of the source: your image gets encoded as a base64 PNG and sent to http://localhost:15978/generate with a pile of generation parameters. The response is expected to contain a glb_url, which the node then downloads from that same local server and saves into your ComfyUI output directory as model_<something>.glb. The output is a glb_path string you can pass around - to a viewer node, a file saver, anything that takes a path.
So the actual 3D model generation is happening in whatever program owns port 15978. The parameter names are the only hint at what that server does: there are two stage groups - ss_guidance_strength / ss_sampling_steps and slat_guidance_strength / slat_sampling_steps - plus mesh_simplify (0.9–0.98) and texture_size (512–2048). That shape - two sampling stages, mesh simplification, texture baking - points at a two-stage image-to-3D pipeline where one stage makes the geometry and a second refines surface/detail. It also looks a lot like the parameter vocabulary of the Hunyuan3D-style local servers floating around. But I couldn't pin down the exact server, and neither, apparently, has anyone else: there's essentially zero community signal for this pack or this node, and the README doesn't mention ImageTo3D at all.
The inputs that matter
seed+randomize_seed- determinism for the server's generation. Randomize on, get a new mesh each run.ss_guidance_strength/slat_sampling_steps- the two-stage knobs. Defaults (7.5 / 12) are a fine starting point, same as image diffusion: guidance up means more prompt fidelity, steps up means more refinement, both cost time.mesh_simplify- how aggressively to decimate the mesh. 0.95 default is a reasonable balance; push toward 0.9 for low-poly output.texture_size- the baked texture resolution in pixels. 1024 default, 2048 if you need detail.
Output: a single glb_path string.
How to install it
Same pack install as everything in ComfyUI-Seed-Nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/Aerse/ComfyUI-Seed-Nodes
# restart ComfyUI
(Or ComfyUI Manager → search "ComfyUI-Seed-Nodes".) No models download with this - because the model lives in that mystery server, not in the pack.
Common issues
- Returns an empty string - the server isn't up, or isn't answering on port 15978. This is the expected state for most people, since the pack never tells you what server to run.
- "Error generating 3D model" in the console - same root cause; the request itself failed.
My honest advice: only reach for this node if you already have a 3D-generation server listening on port 15978. If you don't, this is a placeholder in a pack that's otherwise about images and pixels - skip it and keep moving.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| seed | INT | 00–18446744073709550000 | — |
| randomize_seed | BOOLEAN | true | — |
| ss_guidance_strength | FLOAT | 7.50–10 | — |
| ss_sampling_steps | INT | 121–50 | — |
| slat_guidance_strength | FLOAT | 3.00–10 | — |
| slat_sampling_steps | INT | 121–50 | — |
| mesh_simplify | FLOAT | 0.950.9–0.98 | — |
| texture_size | INT | 1024512–2048 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| glb_path | STRING | — |