Nodes/ComfyUI-Seed-Nodes/Seed-Nodes: ImageTo3D
ComfyUI Node

Seed-Nodes: ImageTo3D

An image-to-3D node that's really just a phone call to a local server

By Aerse·Created 2 years ago·Updated about a year ago· 5
Seed-Nodes: ImageTo3D
  • image
  • glb_path
seed0
randomize_seedtrue
ss_guidance_strength7.5
ss_sampling_steps12
slat_guidance_strength3.0
slat_sampling_steps12
mesh_simplify0.95
texture_size1024

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.

CategoryComfyUI-Seed-Nodes

Inputs (9)

NameTypeDefaultDescription
imageIMAGE
seedINT00–18446744073709550000
randomize_seedBOOLEANtrue
ss_guidance_strengthFLOAT7.50–10
ss_sampling_stepsINT121–50
slat_guidance_strengthFLOAT3.00–10
slat_sampling_stepsINT121–50
mesh_simplifyFLOAT0.950.9–0.98
texture_sizeINT1024512–2048

Outputs (1)

NameTypeDescription
glb_pathSTRING