EmptyLatentHunyuan3Dv2
A flat box holding a volume
- LATENT
Of all the "empty latent" nodes, this one has the least intuitive shape, and it's worth understanding why before you trust it. EmptyLatentHunyuan3Dv2 allocates a [batch_size, 64, resolution] tensor - a one-dimensional latent of length resolution, with 64 channels. There's no height, no width, no depth axis. The 3D-ness is entirely encoded in those 64 channels.
Why a 1D latent
The image and video empty latents you already know map directly to spatial axes: a 1024x512 image becomes an 8x downscaled 128x64 latent, and the shape is the geometry. Hunyuan3D does something stranger. The object's volume gets flattened into a single sequence axis - think of it as the latent equivalent of "voxelize the object, then serialize it" - and the 64 channels carry the per-position feature signal. So the one real input, resolution (default 3072, up to 8192), is less "how big is the object" and more "how many samples along the sequence does the model get to spend on it."
That's why the default is 3072 and not something round like 1024. The model's sampling capacity scales with resolution, and 3072 is where the quality/cost balance lands for the 2.x line. Push toward 8192 and you're buying finer detail with proportionally more sampling work.
Where it sits
The workflow is a 3D-generation pipeline: this empty latent → Hunyuan3D conditioning (from a reference image, text, or the multiview nodes) → sampler → VAEDecodeHunyuan3D → voxels → mesh → save. The empty latent is the canvas; the conditioning tells the sampler what object to paint into it.
What you'll actually set
resolution and batch_size (default 1, up to 4096, though for 3D work a batch is a row of independent objects). Most people never touch the default resolution of 3072 - it's already tuned for the model line, and changing it isn't like changing image resolution, it's changing the token budget for one object. The node tags the latent type: "hunyuan3dv2" so the downstream Hunyuan3D nodes recognize it, which is also the answer to "why won't this feed into my image sampler": it's a 3D-latent type, and only the 3D nodes speak it.
Gotchas
Don't try to reason about resolution in pixels - there are none. Don't feed this latent to a 2D or video sampler, and don't feed it to the older Hunyuan3D v1 line if that's what your checkpoint is; the type tag and the VAE must match. Hunyuan3D landed in core back in March 2025 with 2.1 support later that year, so this node has been stable for a while - it ships with ComfyUI, and the only files you need are the Hunyuan3D model weights and its VAE.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| resolution | INT | 30721–8192 | — |
| batch_size | INT | 11–4096 | The number of latent images in the batch. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |