Nodes/Hitem3D/Hi3D:Texture
ComfyUI Node

Hi3D:Texture

Keep the mesh, trash the texture — re-skin any GLB from a reference image

By dev-hitem·Created 6 months ago·Updated 4 months ago· 1
Hi3D:Texture
  • GLB
  • image
  • model_task
  • GLB
  • model_task
ak
sk
modelhitem3dv2.1
pbrtrue

Hi3D:Texture is the smarter sibling in this pack. Where ImageTo3D rebuilds a whole mesh from a photo, this node keeps your existing geometry and regenerates just the texture map, driven by a reference image. That's a genuinely useful trick: the mesh is usually the slow, expensive part of the pipeline, and the auto-texture that comes out of it is often the weakest part. If you like the shape but the surface looks flat, wrong, or toy-like, re-skinning beats re-generating.

You can reach for it in two different spots. Feed it the model_task output straight from ImageTo3D to fix up a mesh you just made, or load an existing GLB from disk (via the pack's Hi3D:Load3DModel node, or any FILE_3D you have lying around) and give an old model a fresh look.

How it works

Like everything in this pack, it's a cloud call, not local inference. The node needs a mesh and a reference image, and there's a fork in how the mesh gets there:

  • model_task connected - the node uses the model URL from the upstream ImageTo3D task directly. No re-upload, which means faster starts and one less thing to break.
  • GLB connected - the mesh gets uploaded to Hi3D's object storage (Volcengine TOS, if you're curious) using a short-lived upload token, then referenced in the job.

Either way it submits a texture task, polls query-task every 10 seconds, and downloads the re-textured GLB when it's done. The resolution is picked automatically per model version - one less knob for you.

Inputs and outputs

  • image - the required reference. This is the style you're painting onto the mesh. It's the whole game; get the lighting and composition right here.
  • GLB (type FILE_3D_GLB / FILE_3D) or model_task - one of these is required. Both at once is fine; model_task just wins because its URL is already up there.
  • model - note the list is shorter than ImageTo3D's: hitem3dv1.5, hitem3dv2.0, hitem3dv2.1, scene-portraitv1.5. Default is hitem3dv2.1.
  • pbr - default on, but only v2.0/v2.1 support it. Pick a v1.5 model with pbr on and you'll get a hard error, so either leave it and stick to v2.0+, or turn it off.
  • Outputs - GLB (the re-textured model) and model_task, which you can chain onward if you want to keep iterating.

A nice touch in the source: if the upstream model_task carries the access key, the Texture node inherits it, so chained workflows don't need keys typed twice.

Installing and running

Same pack, same story: search Hi3D in ComfyUI Manager, or git clone https://github.com/dev-hitem/hitems3D-comfyUI into custom_nodes, pip install -r requirements.txt (tos + aiohttp, nothing heavy), restart. You need an API key from hi3d.ai in config.json or as Hi3D_ak/Hi3D_sk env vars. And a recent ComfyUI - it rides the newer API-node framework and FILE_3D file types.

The one thing that catches people: the reference image quality is what you get. A busy background or weird lighting bleeds straight into the new texture map, so treat this input like you're doing a product shoot, not a screenshot. And remember you're paying per job on Hi3D's stingy free tier - batch your experiments, don't iterate one upload at a time.

CategoryHi3D

Inputs (7)

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.
GLBoptFILE_3D_GLB,FILE_3DInput 3D model in GLB format. Either this or model_task is required.
imageoptIMAGETexture reference image (Required). The model will generate a new texture map based on this image.
model_taskoptHI3D_MODEL_TASKTask output from ImageTo3D nodes. Automatically uses that model's URL if connected.
modeloptCOMBOhitem3dv2.1Model version used for texture generation.
pbroptBOOLEANtruePBR开关(默认开启)。仅hitem3dv2.0/hitem3dv2.1支持。

Outputs (2)

NameTypeDescription
GLBFILE_3D_GLB
model_taskHI3D_MODEL_TASKTask information to be passed to subsequent nodes