Hunyuan3D: Model to UV
UV unwrapping without the Blender tutorial
- model_3d
- OBJ
- FBX
- uv_image
UV unwrapping is the least glamorous step in the whole 3D pipeline, and it's the one that decides whether a texture actually looks good. Hand-unwrapping a generated mesh in Blender is a whole evening of edge-seam roulette. Hunyuan3D: Model to UV just... does it, in the cloud. You feed it a mesh, it hands back clean OBJ and FBX files with a proper UV layout, plus the unwrapped UV image itself.
The name tells you where it lives: this is a Hunyuan3D Partner Node, one of the cloud nodes built into ComfyUI core. There's no install and no local GPU required - your mesh gets uploaded to Tencent's 3D service, a job runs on their servers, and ComfyUI polls until it's done. You log in with a ComfyUI Account, and the run draws down prepaid credits. The node shows a price badge estimating cost before you hit run, which is nice since nothing here is free.
What goes in, what comes out
Input is simple: a 3D model in GLB, OBJ, or FBX (the model_3d socket), plus a seed that's honestly just a "force this node to re-run" control - the tooltip says results are non-deterministic regardless of seed, so don't hunt for the magic number.
The catch is the face budget: the input model must have fewer than 30,000 faces. That's a real constraint, not a suggestion. Hunyuan3D's text-to-model node will happily emit 500,000+ faces, so if you hit a rejection, you need to cut geometry first - that's what Hunyuan3D: Smart Topology or the face_limit on the Tripo nodes are for.
You get three outputs:
- OBJ and FBX - the same mesh, now with a clean UV layout laid out across each file, ready for any DCC or game engine
- uv_image - the flattened UV map as a regular IMAGE tensor
That uv_image output is the sleeper feature. It's a standard image, so it drops into any ComfyUI image pipeline: paint on it, upscale it, run it through an img2img pass, then use it as your texture map. For a "texture this model" workflow it's genuinely handy to have the map laid out as a flat image you can work on locally.
Wiring it up
The obvious feeding source is the OBJ output of Hunyuan3D: Text to Model - generate the asset, then unwrap it. You can also pull a mesh from the built-in Load 3D & Animation node if you're starting from a file on disk. On the other end, the OBJ/FBX outputs plug into the built-in Save 3D Model node or the Preview 3D & Animation node to actually see what you got. Files also land in your ComfyUI/output folder automatically.
Gotchas worth knowing
The 30k face limit is the big one - plan your workflow around it rather than discovering it mid-run. Also remember this is a paid call: it's one of the cheaper Hunyuan3D post-processing nodes, but you're still spending credits every time you tweak the seed and rerun. Keep a working mesh, and only re-unwrap when the geometry actually changes.
It's a utility node, not a magic wand - you could do all of this in Blender for free. But if you're already in a ComfyUI workflow and you just want a clean, UV'd OBJ to move on with, this is the fastest path that exists right now.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model_3d | FILE_3D_GLB,FILE_3D_OBJ,FILE_3D_FBX,FILE_3D | Input 3D model (GLB, OBJ, or FBX) | |
| seed | INT | 10–2147483647 | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| OBJ | FILE_3D_OBJ | — |
| FBX | FILE_3D_FBX | — |
| uv_image | IMAGE | — |