Generated reference · ComfyUI workflow · 3D reconstruction

Hunyuan3D 2.1 Asset

Image-to-3D shape generation on Hunyuan3D 2.1 (ComfyUI-native): produces a GLB mesh from a single reference image. Core support is shape-only; PBR texturing is a downstream step. The graph produces the mesh artifact; materials manifest …

3D reconstruction10nodesGPU L40Sout 3d_model~90sv1.0.0

On this page

Image-to-3D shape generation on Hunyuan3D 2.1 (ComfyUI-native): produces a GLB mesh from a single reference image. Core support is shape-only; PBR texturing is a downstream step. The graph produces the mesh artifact; materials manifest, texture slots, and the preview turntable are fulfilled by the isis 3D post-pipeline per the package contract.

10Graph nodes
10Node classes
5Inputs
1Models

Tags: 3dhunyuan3dmeshglb2026-sota

Inputs (5)#

The typed parameter surface callers bind when they request this workflow. Enum options and numeric bounds are the values the workflow document declares.

reference_imageimagerequired
Single reference image of the object
stepsintegerdefault 30min 15max 50
Diffusion steps (official 2.1 reference: 30)
guidancefloatdefault 5.0min 1.0max 10.0
CFG (official 2.1 reference: 5.0)
octree_resolutionenumdefault 256
Surface extraction resolution
options: 256384
seedintegerdefault -1
Random seed (-1 for random)

ComfyUI node graph (10)#

The executable ComfyUI prompt graph: 10 nodes across 10 distinct node classes, wired by 12 data dependencies. Nodes tinted green come from a custom node pack this workflow declares; the rest are ComfyUI core / baked-community classes.

flowchart TD n0["1: LoadImage"] n1["2: ImageOnlyCheckpointLoader"] n2["3: CLIPVisionEncode"] n3["4: Hunyuan3Dv2Conditioning"] n4["5: ModelSamplingAuraFlow"] n5["6: EmptyLatentHunyuan3Dv2"] n6["7: KSampler"] n7["8: VAEDecodeHunyuan3D"] n8["9: VoxelToMesh"] n9["10: SaveGLB"] n1 -->|clip_vision| n2 n0 -->|image| n2 n2 -->|clip_vision_output| n3 n1 -->|model| n4 n4 -->|model| n6 n3 -->|positive| n6 n3 -->|negative| n6 n5 -->|latent_image| n6 n6 -->|samples| n7 n1 -->|vae| n7 n7 -->|voxel| n8 n8 -->|mesh| n9
Data-flow DAG — scroll to zoom, drag to pan.

Nodes (10)#

1LoadImagecore
image = {{reference_image}} tmpl
outputs: IMAGEMASK
2ImageOnlyCheckpointLoadercore
ckpt_name = hunyuan_3d_v2.1.safetensors
outputs: MODELCLIP_VISIONVAE
3CLIPVisionEncodecore
clip_vision = ◂ node 2 · out[1]image = ◂ node 1 · out[0]crop = none
outputs: CLIP_VISION_OUTPUT
4Hunyuan3Dv2Conditioningcore
clip_vision_output = ◂ node 3 · out[0]
outputs: positivenegative
5ModelSamplingAuraFlowcore
model = ◂ node 2 · out[0]shift = 1.0
outputs: MODEL
6EmptyLatentHunyuan3Dv2core
resolution = 4096batch_size = 1
outputs: LATENT
7KSamplercore
model = ◂ node 5 · out[0]positive = ◂ node 4 · out[0]negative = ◂ node 4 · out[1]latent_image = ◂ node 6 · out[0]seed = {{seed}} tmplsteps = {{steps}} tmplcfg = {{guidance}} tmplsampler_name = eulerscheduler = normaldenoise = 1.0
outputs: LATENT
8VAEDecodeHunyuan3Dcore
samples = ◂ node 7 · out[0]vae = ◂ node 2 · out[2]num_chunks = 8000octree_resolution = {{int(octree_resolution)}} tmpl
outputs: VOXEL
9VoxelToMeshcore
voxel = ◂ node 8 · out[0]algorithm = surface netthreshold = 0.6
outputs: MESH
10SaveGLBcore
mesh = ◂ node 9 · out[0]filename_prefix = mesh/hunyuan3d_asset

Prompt construction#

template
hunyuan3d 2.1 image-to-mesh

Models & dependencies#

Models required (1)#

hunyuan_3d_v2.1.safetensors

Output contract#

What a successful run of this workflow returns.

type
3d_model
format
glb
three_d_package
{"mesh": {"artifact_id": "mesh", "path_template": "mesh/hunyuan3d_asset_{seed}.glb", "format": "glb"}, "materials": {"artifact_id": "materials", "path_template": "mesh/hunyuan3d_asset_{seed}.materials.json", "format": "json", "workflow": "metallic-roughness"}, "textures": {"artifact_id": "textures", "path_template": "mesh/hunyuan3d_asset_{seed}_textures/{slot}.png", "format": "png", "required_slots": ["base_color"], "optional_slots": ["normal", "roughness", "metallic", "occlusion"], "default_resolution": {"width": 2048, "height": 2048}}, "metadata": {"artifact_id": "metadata", "path_template": "mesh/hunyuan3d_asset_{seed}.manifest.json", "format": "json", "manifest_version": "1.0.0"}, "preview_turntable": {"artifact_id": "preview_turntable", "path_template": "mesh/hunyuan3d_asset_{seed}_turntable.mp4", "format": "mp4", "duration_seconds": 6.0, "fps": 24}}

Taxonomy & routing#

How the control plane classifies this workflow — from the committed workflow-taxonomy-registry.json. It drives the consistency / control surface the agentic director can exercise over the workflow.

assetFamily
game-character-game-ready-bundle
outputPackageProfile
game-ready-3d-profile
controlModalities
model-lockseed-lockreference-ensemblecamera-lock
consistencyDimensions
prop
notes
Hunyuan3D 2.1 image-to-mesh shape generation; texturing fulfilled downstream per package contract.