Nodes/ComfyUI-Hunyuan3D-1-wrapper/Hunyuan3D V1 - Image2Views
ComfyUI Node

Hunyuan3D V1 - Image2Views

One image in, six camera angles out — the node that makes Hunyuan3D-1's image-to-3D work

By jtydhr88·Created 2 years ago·Updated 2 years ago· 32
Hunyuan3D V1 - Image2Views
  • input
  • config
  • pipeline_config
  • views_grid_pil
  • cond_img
  • config
seed0
steps50

This is the node that does the actual magic in an image-to-3D run, and also the one people underestimate. You feed it a single subject image and it hallucinates five more views of the same object - so the mesh stage downstream has geometry to work from instead of guessing from one angle. Without it, Hunyuan3D-1's image-to-3D line is just a fancy way to delete a background.

The pipeline is worth spelling out once, because every node in this pack is a stage in the same assembly line. Image Loader (or Text2Image) produces a clean subject image plus a small config object. That image flows into Image2Views, which runs the MVD (multi-view diffusion) model. The output - a 3×2 grid of views plus a conditioning image - flows into Views2Mesh, which turns the pile of views into an actual .obj. Each stage carries the same config through, and that config is really just a timestamped folder path, which is how every stage knows where to write its files.

How it works

Under the hood this node loads a diffusers-style multi-view diffusion UNet (standard or "lite", whichever you chose in the Pipeline Load node) and denoises six novel views around your input, with classifier-free guidance at a fixed scale of 2.0. The default 50 steps is the denoising pass - this is a diffusion model doing its thing, so 50 is a sensible default and you rarely need to touch it. The result is saved as views.jpg inside the pack's output folder, next to the rest of the run.

One detail that bites people: the view order differs between the lite and standard models. The code re-orders the grid differently depending on which pipeline you loaded ([0, 2, 4, 5, 3, 1] for standard, [0..5] for lite). That's all handled internally - you don't set it - but it's why the six boxes in the grid aren't in a neat clockwise order. It's normal.

The inputs that matter

Three of the five inputs are plumbing you wire once and forget:

  • input - the Hunyuan3D1Image output from Image Loader or Text2Image. This is the background-removed subject.
  • config - the Hunyuan3D1Config from the same node that produced input. It carries the output folder, so yes, these need to come from the same source or the chain loses its place.
  • pipeline_config - from the Image2Views Pipeline Load node, which actually loads the MVD model weights into VRAM.

Then the two you might actually tune: seed (the noise seed for the denoising, defaults to 0 - fix it if you want reproducible runs, and you'll want to for the OOM workaround below) and steps (default 50). Lower steps are faster but the extra views get shakier.

Wiring and outputs

Outputs are views_grid_pil (the 3×2 grid - this is what you connect to Views2Mesh's views_grid_pil input), cond_img (the conditioning image, also needed by Views2Mesh), and config passed straight through. If you just want to inspect what the model thinks the object looks like from the back, this node's grid output is your preview.

Install and the messy reality

Install for this whole pack is not a ComfyUI Manager one-click. The README is blunt: it recommends a fresh ComfyUI, needs Python 3.12, C++ build tools, pytorch3d built from source, a dev-build Open3D wheel, nvdiffrast, and Ninja, plus the pack's own requirements.txt. Then you still have to pull the weights yourself:

cd ComfyUI/custom_nodes/ComfyUI-Hunyuan3D-1-wrapper
huggingface-cli download tencent/Hunyuan3D-1 --local-dir ./weights

If you already run ComfyUI-3D-Pack, you don't need this repo at all - it ships its own Hunyuan3D-1 implementation. This wrapper is the standalone route, and it shows.

Troubleshooting

The README's one documented known issue happens right here in spirit, at the mesh stage: a random torch.OutOfMemoryError: Allocation on device during generation. Their advice is to just rerun with a fixed seed - it usually succeeds on the second or third attempt. On the views side, if the novel views come out warped or duplicated, the usual culprit is a messy input: bad background removal leaves cutout halos that the MVD model faithfully reproduces around the subject. Clean subject, clean views.

CategoryHunyuan3D

Inputs (5)

NameTypeDefaultDescription
inputHunyuan3D1Image
configHunyuan3D1Config
pipeline_configHunyuan3D1Image2ViewsPipelineConfig
seedINT00–4294967295The random seed used for creating the noise.
stepsINT501–10000The number of steps used in the denoising process.

Outputs (3)

NameTypeDescription
views_grid_pilHunyuan3D1ViewGridPil
cond_imgHunyuan3D1CondImage
configHunyuan3D1Config