zhenzhen-hunyuan3d-v3.1-lowprice(文生/图生3D)
Text- or image-to-GLB as a cheap API node
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- image8
- api_config
- model_3d
- model_url
- local_path
- task_id
- response
Hunyuan3D is the model the local 3D community argues about most: feed it one image and it hands back a textured mesh with a genuinely impressive silhouette and a triangle-soup interior you wouldn't want to rig. That's fine for a 3D print or a static prop - and through this node you don't even need the GPU to run it. It's Tencent's Hunyuan3D v3.1 text-to-3D and image-to-3D wrapped for ComfyUI, on Zhenzhen's cheap domestic API.
The honest framing: Hunyuan3D isn't the model you use for game-ready topology - the KB's own panel says "garbage topology" is the standing complaint. You use it when you need a 3D object from a prompt or a picture, fast and cheap, without owning a card that can hold the model. This node is that, at the "lowprice" tier: billed per model via api.seedance.nz, no local weights.
How it works
Pick model (hunyuan3d-v3.1-text-to-3d or hunyuan3d-v3.1-image-to-3d), and the node submits to the domestic API through an api_config input - the ZHENZHEN_SEEDANCE2_CONFIG from the pack's settings node, which holds base URL and key. For image-to-3D you connect up to eight images (image1–image8) as reference views. The node polls, downloads the finished model, and returns it as a model_3d output of type FILE_3D_GLB - something ComfyUI's 3D viewer nodes can actually display - plus model_url, local_path (where it landed on disk), task_id and response.
The three required controls beyond prompt/model:
face_count- target mesh density, 10,000 to 1,500,000 (default 500,000). Higher = more detailed surface, slower and pricier. Start near the default.enable_pbr- physically-based-rendering materials on/off. On gives you nicer lighting-ready textures; off is cheaper and often enough for a placeholder.generate_type-Normal,Geometry, orSketch. Geometry leans on the shape model, Sketch is the quick-and-dirty pass.
Installing it
Manager → search Comfyui-zhenzhen → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
Restart, add the lowprice settings node with your key, wire api_config in. No model downloads, no CUDA needed - this is the "rent Tencent's GPU" path.
Common issues
- Sketchy output at low face_count - expected; 500k faces is the sane default and 100k is a preview, not a final.
- PBR looking wrong -
enable_pbronly matters if your renderer uses the PBR textures; for a plain GLB preview it's wasted money, so leave it off until you need it. - The pack standard gotchas - empty key in the settings node, domestic-site reachability (overseas users may prefer the .org site), vendor 500s needing a re-run, seed being cache-only.
- "No model_3d viewer" - the output type needs a 3D preview node in your graph (the pack ecosystem has them); without one,
model_url/local_pathstill let you grab the file.
If all you need is "turn this product photo into a rotatable GLB for a mockup," this node is the cheapest door to that in the pack. Just don't ask it for a rigged character - that's not what Hunyuan3D does, local or API.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | hunyuan3d-v3.1-text-to-3d | 2 options: hunyuan3d-v3.1-text-to-3d, hunyuan3d-v3.1-image-to-3d |
| prompt | STRING | — | |
| face_count | INT | 50000010000–1500000 | — |
| enable_pbr | BOOLEAN | false | — |
| generate_type | COMBO | Normal | 3 options: Normal, Geometry, Sketch |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| image8opt | IMAGE | — | |
| api_configopt | ZHENZHEN_SEEDANCE2_CONFIG | — | |
| skip_erroropt | BOOLEAN | false | — |
| seedopt | INT | 00–18446744073709550000 | Execution seed for ComfyUI cache control. Fixed reuses the cached result; randomize/increment/decrement requests a new run. This compatibility seed is not sent to APIs that do not expose a native seed parameter. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| model_3d | FILE_3D_GLB | — |
| model_url | STRING | — |
| local_path | STRING | — |
| task_id | STRING | — |
| response | STRING | — |