HunyuanWorld Full Pipeline (Text/Image → 3D)
The HunyuanWorld Full Pipeline node
- image
- panorama
- mesh_paths_json
- output_directory
- layer_count
Every other node in this pack is a stage. HYWorldFullPipeline is the shortcut that skips the wiring: text prompt (or an image) in, layered 3D mesh world out, with the panorama step happening invisibly in the middle. If you've seen the README's end-to-end diagrams and thought "can't I just get a button for that" - this is the button. It's the pack's full_pipeline.json example workflow collapsed into a single node, and for a first run it's honestly the best place to start.
How it works
Peel it open and it's just the other nodes chained in order. If you pass an image, it runs HYWorldImage2Pano (the FLUX.1-Fill-dev inpainting route); otherwise it runs HYWorldText2Pano (the FLUX.1-dev route). Either way it saves the panorama, copies it into the output directory, then hands the file path straight to HYWorldSceneGen for the decomposition and mesh reconstruction. You get back everything at once: the panorama tensor, the mesh JSON, the output directory, and the layer count.
The trade-off is control. The Full Pipeline node exposes no height/width/fov - the panorama is always generated at the 960×1920 default (with the default 80° FOV on the image route). If you need a 4K source or a weird FOV, or you want to iterate on the panorama before committing to the expensive 3D pass, use the split nodes instead. This one is for when you just want a world.
Inputs and outputs that matter
prompt- required. Scene description, same rules as the text-to-pano node.image- optional. Provide it and the pipeline takes the image-to-panorama route.labels_fg1/labels_fg2/scene_class- the 3D stage's knobs, passed straight through. Space-separated object labels for the two foreground layers, andoutdoor/indoorfor the scene priors.guidance_scale- default 30 (yes, that's intentional for HunyuanWorld) andnum_inference_steps- default 50.target_resolution- default 3840, the mesh resolution. High = fine geometry = long run.fp8_quantization/use_cache- the VRAM budget. FP8 alone ~24 GB; both ~20 GB. This node runs both a FLUX panorama pass and the inpaint-heavy decomposition, so leave these on unless you're on a big card.export_draco/output_dir- Draco.drccopies for web delivery, and where meshes land.
Outputs: panorama (IMAGE), mesh_paths_json (STRING with the .ply paths), output_directory (STRING), layer_count (INT).
Installing it
Same pack, same heavy prerequisites - there's no lighter path for this node. ComfyUI Manager → HunyuanWorld 3D World Generation, or:
cd ComfyUI/custom_nodes
git clone https://github.com/krmahil/comfyui-hunyuan-world.git
pip install -r comfyui-hunyuan-world/requirements.txt
Then HunyuanWorld-1.0 (hy3dworld), Real-ESRGAN, the ZIM segmentation models, Open3D, and a HuggingFace login with both gated FLUX licenses accepted (FLUX.1-dev and FLUX.1-Fill-dev - the node can take either route). First run downloads both base models if you've never used the pack, which is ~46 GB plus LoRAs. Budget a while.
Common issues
- Longest run in the pack - you're doing a FLUX panorama plus multi-pass decomposition in one queue. Expect this to take substantially longer than the staged nodes; a preview image only appears at the end.
- Gated model 401s - you accepted one FLUX license but not the other. Check both.
- No
fovto tune - if the image route warps your source, you can't fix it here. Split intoHYWorldImage2Pano→HYWorldSceneGento adjust the FOV. - VRAM - the pipelines stay cached in the pack's shared model cache after the run. Drop a
HYWorldUnloadModelsat the end to reclaim the card before the next workflow.
The README's full_pipeline.json and fp8_quantized_pipeline.json examples (the latter tuned for an RTX 4090 indoor scene) are drag-and-drop starting points.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| imageopt | IMAGE | — | |
| negative_promptopt | STRING | — | |
| labels_fg1opt | STRING | — | |
| labels_fg2opt | STRING | — | |
| scene_classopt | COMBO | 2 options: outdoor, indoor | |
| seedopt | INT | 420–2147483647 | — |
| guidance_scaleopt | FLOAT | 30.01–50 | — |
| num_inference_stepsopt | INT | 5010–100 | — |
| target_resolutionopt | INT | 38401920–7680 | — |
| fp8_quantizationopt | BOOLEAN | false | — |
| use_cacheopt | BOOLEAN | false | — |
| export_dracoopt | BOOLEAN | false | — |
| output_diropt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| panorama | IMAGE | — |
| mesh_paths_json | STRING | — |
| output_directory | STRING | — |
| layer_count | INT | — |