Nodes/Hitem3D/Hi3D:ImageTo3D
ComfyUI Node

Hi3D:ImageTo3D

One image in, a real GLB mesh out — but your GPU stays asleep, because this is a cloud ride

By dev-hitem·Created 6 months ago·Updated 4 months ago· 1
Hi3D:ImageTo3D
  • image
  • image_back
  • image_left
  • image_right
  • GLB
  • model_task
ak
sk
texturefalse
pbrtrue
scenegeneral
modelhitem3dv2.1
resolution1024
face500000

The name is a small lie. Hi3D:ImageTo3D looks like a ComfyUI node that turns a photo into a 3D model, and it does exactly that - but it calls no local model and needs no key of the GPU variety. It's a client for Hi3D's cloud image-to-3D API. You hand it a picture, it uploads it to api.hitem3d.ai, and minutes later a GLB file lands in your workflow. The pack's author, dev-hitem, frames it as generating "high-quality 3D models from images" - the catch being the generation happens on someone else's servers, not in your ComfyUI process.

Why reach for it? Because ComfyUI is otherwise a 2D town. This is one of the few ways to get a usable, texture-ready mesh without leaving the graph: base geometry for a game asset, a product mockup, a character you'll retopo in Blender. And because it's server-side, you don't pay VRAM for it - your sampler queues keep running while the mesh bakes elsewhere.

How it actually works

Read the source and the story is simple: the node saves your image to ComfyUI's input folder, POSTs it to the Hi3D task API, then polls query-task every 10 seconds until the job finishes or an hour passes. No tensor math on your machine at all. When the task reports success it downloads the resulting GLB and hands you two outputs:

  • GLB (type FILE_3D_GLB) - the model itself. Save it, preview it, or feed it to the pack's Texture node.
  • model_task (type HI3D_MODEL_TASK) - the task's ID, model URL and keys. This is the "free re-upload" token: wire it into TextureNode and the mesh URL is reused instead of re-uploading.

The inputs that matter

Most of them you can leave alone. The ones worth touching:

  • image - the required front view. This is the whole job. Clean background, good lighting, and the subject fully in frame beats everything else you can tune.
  • image_back / image_left / image_right - optional multi-view reference shots. If you have them, use them; the node switches to a multi-view reconstruction endpoint and the geometry gets markedly better on non-front faces.
  • scene - general for objects, portrait for people/scenes. This filters which model versions the dropdown offers, so don't fight the linkage.
  • model - hitem3dv2.1 is the current default and a reasonable first stop; v1.5/v2.0 are the older generations.
  • texture - off by default. Turn it on if you want vertex colors / texture maps, not just raw geometry.
  • pbr - on by default, but it silently forces texture on and only works with v2.0/v2.1. If you get a "PBR requires texture" style error, that's this interaction.
  • face - target poly count, 100k–2M. The UI nudges the default up as resolution climbs (1M at 1024). Higher = finer detail, bigger file. Start at the default, go up only if the mesh looks faceted.

Installing it

Via ComfyUI Manager, search Hi3D and install, or do it by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/dev-hitem/hitems3D-comfyUI
cd hitems3D-comfyUI
pip install -r requirements.txt

Then restart ComfyUI. Dependencies are just tos and aiohttp - nothing heavy, no model downloads. Two real requirements though: a fairly recent ComfyUI (the pack leans on the newer API-node framework and the FILE_3D types that only landed in 2025 builds), and an API key. Register at hi3d.ai and put the pair in config.json in the node folder, or export Hi3D_ak / Hi3D_sk as environment variables - then the ak/sk node inputs can stay empty.

Gotchas

  • It costs money eventually. Hitem3D's free tier is famously stingy - community threads from mid-2025 describe a hard cap on free generations that doesn't reset. Budget for the paid tier if you'll run this regularly.
  • Slow. You're queueing on someone else's servers. A job can take minutes; the node will happily poll for up to an hour. This isn't a bug, it's the cloud tax.
  • "ak is required" with valid-looking inputs means the config file or env vars aren't being picked up - double-check the path and restart.
  • The name "Hitem3D" is the service, "Hi3DGen" is a separate open-source project. Don't go hunting for the local weights; there aren't any.
CategoryHi3D

Inputs (12)

NameTypeDefaultDescription
akSTRINGHi3D API Access Key. Leave empty if configured in config.json or environment variables.
skSTRINGHi3D API Secret Key. Leave empty if configured in config.json or environment variables.
imageoptIMAGEMain front image (Required) for 3D model generation.
image_backoptIMAGEBack reference image (Optional) for multi-view 3D reconstruction.
image_leftoptIMAGELeft reference image (Optional) for multi-view 3D reconstruction.
image_rightoptIMAGERight reference image (Optional) for multi-view 3D reconstruction.
textureoptBOOLEANfalseWhether to generate textures. If enabled, the model will include vertex colors/textures.
pbroptBOOLEANtruePBR开关(默认开启)。PBR需要texture开启,并且仅支持hitem3dv2.0/hitem3dv2.1。
sceneoptCOMBOgeneralScene preset. `general` is for common objects, `portrait` is for portrait/scene generation.
modeloptCOMBOhitem3dv2.13D generation model version. The node UI filters valid versions according to the selected scene.
resolutionoptCOMBO1024Generation resolution. The node UI filters valid resolutions according to the selected model.
faceoptINT500000100000–2000000Output poly count. Higher count means finer detail but larger file size.

Outputs (2)

NameTypeDescription
GLBFILE_3D_GLB
model_taskHI3D_MODEL_TASKTask information to be passed to the Texture node for re-texturing