Hunyuan3D V1 - Text2Image
Type 'a lovely rabbit eating carrots' and get a 3D model — Hunyuan3D-1's text front door
- pipeline_config
- output
- config
If you want a 3D model from nothing but a sentence, this is where the run starts. The pack's text-to-3D pipeline is basically this node bolted onto the same image-to-3D chain everyone else uses: Text2Image → Image2Views → Views2Mesh. Text2Image is the stage that conjures a clean subject image from your words, because Hunyuan3D-1's mesh models don't read text at all - they read pictures. Somebody has to be the artist first, and here that's Hunyuan DiT.
That's the whole design and it's a good one: Tencent's text-to-3D isn't one giant model, it's the HunyuanDiT image model (the same one that quietly shipped in May 2024 and got lost in the Flux noise) doing the imagining, then the multi-view and mesh stages doing the heavy lifting. The wrapper strings them together so you type a prompt and a day later a .obj exists.
How it works
The node runs a diffusers HunyuanDiT pipeline at 1024×1024 with perturbed attention guidance (PAG) and a pag_scale of 1.3, which is how you get coherent images at 20 steps instead of 50. It's bilingual - the model handles Chinese and English, and you can see it in the defaults. The node silently appends ,白色背景,3D风格,最佳质量 ("white background, 3D style, best quality") to your prompt, and the negative prompt is a long Chinese list of artifacts (模糊, 畸形, 多余的手指...). That's not a bug; it's the workflow. The README's own recipe: keep the negative prompt, keep those three trailing tokens, and put your subject before them - a lovely rabbit eating carrots, 白色背景,3D风格,最佳质量.
After generation the image is saved as img.jpg, run through a rembg background-removal pass (u2net, the historical default - fine on solid backgrounds, mediocre on hair), and saved again as img_nobg.png with alpha. That transparent cutout is your output, and it's what Image2Views will spin into six views. The config output carries the timestamped output folder so the rest of the chain knows where to write.
The inputs that matter
text- the only creative input. Multiline. Keep it descriptive but simple; the model is happiest with one clear subject. Remember the three Chinese quality tokens are already being appended for you, so don't duplicate them.steps(default 20) - this is a distilled HunyuanDiT, so 20 is the sweet spot, not 50. More steps won't rescue a bad prompt.seed- noise seed, default 0. Fix it to reproduce or iterate on the same base.pipeline_config- from the Text2Image Pipeline Load node, which actually loads the HunyuanDiT weights. It has asave_memorytoggle that shuttles the model to CPU between runs; use it if you're VRAM-poor, at the cost of slower runs.
Install
Same story as the rest of the pack: not a Manager one-click. Fresh ComfyUI recommended, Python 3.12, and the heavy native deps (pytorch3d, Open3D, nvdiffrast, Ninja) plus the pack's requirements.txt. The text-to-image weights are a separate download from the 3D weights:
cd ComfyUI/custom_nodes/ComfyUI-Hunyuan3D-1-wrapper
huggingface-cli download tencent/Hunyuan3D-1 --local-dir ./weights
huggingface-cli download Tencent-Hunyuan/HunyuanDiT-v1.1-Diffusers-Distilled --local-dir ./weights/hunyuanDiT
There's also a native ComfyUI route - drop hunyuan_dit_1.2.safetensors into ComfyUI/models/checkpoints and run HunyuanDiT with core ComfyUI nodes - but the wrapper's own Text2Image path needs the diffusers weights above.
Troubleshooting
Hunyuan DiT's image quality is fine but not the modern frontier - if your generated subject comes out warped, regenerate with a different seed before you blame the mesh stages, because garbage in really is garbage out here. And while this node runs on the bundled-Python install fine, remember the pack's caveat: some downstream features (texture mapping, GIF output) don't work in that environment. Fix the prompt, then fix the seed, then - if it's still ugly - the model's just having a day.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline_config | Hunyuan3D1Text2ImagePipelineConfig | — | |
| text | STRING | The text to be encoded. | |
| seed | INT | 00–4294967295 | The random seed used for creating the noise. |
| steps | INT | 201–10000 | The number of steps used in the denoising process. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| output | Hunyuan3D1Image | — |
| config | Hunyuan3D1Config | — |