How to run Hunyuan3D on a cloud GPU
Rent a GPU on Deploy, then open a terminal in JupyterLab or over SSH. Install Hunyuan3D-2.1, the latest Hunyuan3D 2.x repository in that GitHub organization on 2026-11-12, download the weights the README names, and run the image-to-mesh snippet or the Gradio app. Copy the mesh off the instance before you destroy it. Destroying the instance deletes its disk.
The commands below are copied from the upstream files named in each step. They were not run on a CloudGPU instance for this page. Anything this page adds around them is marked.
Hunyuan3D-2 is the earlier 2.x repository. Its news item dated June 13, 2025 points at 2.1. Its own memory lines are 6 GB for shape and 16 GB for shape and texture. Those lines belong to that repository. This page uses 2.1.
Memory the 2.1 README publishes
The Hunyuan3D-2.1 README (read 2026-11-12) says: “It takes 10 GB VRAM for shape generation, 21GB for texture generation and 29GB for shape and texture generation in total.”
The same Models Zoo lists:
| Model | Description | Date | Size | Hub path |
|---|---|---|---|---|
| Hunyuan3D-Shape-v2-1 | Image to Shape Model | 2025-06-14 | 3.3B | tencent/Hunyuan3D-2.1 subfolder hunyuan3d-dit-v2-1 |
| Hunyuan3D-Paint-v2-1 | Texture Generation Model | 2025-06-14 | 2B | tencent/Hunyuan3D-2.1 subfolder hunyuan3d-paintpbr-v2-1 |
The model card sets license_name to tencent-hunyuan-community, links the repository LICENSE, and sets extra_gated_eu_disallowed to true. The model API reported gated: false and pipeline_tag: image-to-3d. The card’s tags include image-to-3d and text-to-3d. Read the license file before you download. This page does not restate it.
GET /v1/public/compute-capabilities does not list GPUs. It returns feature flags. The memory column is vram_gb from gpu-prices.json, read 2026-11-12. GET /v1/public/gpu-catalog on the same day listed the same names and the same vram_gb values. Which listing you can start is on Deploy. This page does not say which listings are available.
| Catalog name | vram_gb | Against the README |
|---|---|---|
| RTX 4080 SUPER 32G | 32 | meets the 29GB total |
| RTX 5090 | 32 | meets the 29GB total |
| RTX 5090D | 32 | meets the 29GB total |
| V100 32G | 32 | meets the 29GB total |
| A100 40G | 40 | meets the 29GB total |
| A800 40G | 40 | meets the 29GB total |
| A40 | 48 | meets the 29GB total |
| RTX 4090 48G | 48 | meets the 29GB total |
| RTX 4090D 48G | 48 | meets the 29GB total |
| RTX A6000 | 48 | meets the 29GB total |
| NVIDIA RTX PRO 5000 72G | 72 | meets the 29GB total |
| RTX PRO 5000 72G | 72 | meets the 29GB total |
| A100 80G | 80 | meets the 29GB total |
| A800 80G | 80 | meets the 29GB total |
| H800 | 80 | meets the 29GB total |
| RTX 6000D | 83 | meets the 29GB total |
| H20 96G | 96 | meets the 29GB total |
| RTX PRO 6000 96G | 96 | meets the 29GB total |
| RTX PRO 6000 Max-Q | 96 | meets the 29GB total |
| A30 | 24 | meets the 21GB texture line, below the 29GB total |
| RTX 3090 | 24 | meets the 21GB texture line, below the 29GB total |
| RTX 4090 | 24 | meets the 21GB texture line, below the 29GB total |
| RTX 4090D | 24 | meets the 21GB texture line, below the 29GB total |
| RTX 3080 | 10 | meets the 10GB shape line, below 21GB and 29GB |
| RTX 2080 Ti | 11 | meets the 10GB shape line, below 21GB and 29GB |
| RTX 3080 Ti | 12 | meets the 10GB shape line, below 21GB and 29GB |
| V100 16G | 16 | meets the 10GB shape line, below 21GB and 29GB |
| RTX 2080 | 8 | below the 10GB shape line |
The README’s Gradio command includes --low_vram_mode and publishes no separate GB number for that flag. In gradio_app.py the texture CPU-offload lines under that flag are comments. The flag that remains calls torch.cuda.empty_cache(). This page did not measure a change to the 10 GB, 21 GB or 29 GB lines.
Install on Linux
On Deploy, choose Raw GPU. The README says: “We test our model with Python 3.10 and PyTorch 2.5.1+cu124.” The install block assumes you are already inside the repository. The clone below is not in the README.
git clone https://github.com/Tencent-Hunyuan/Hunyuan3D-2.1.git
cd Hunyuan3D-2.1
Copied from the install section:
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
cd hy3dpaint/custom_rasterizer
pip install -e .
cd ../..
cd hy3dpaint/DifferentiableRenderer
bash compile_mesh_painter.sh
cd ../..
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P hy3dpaint/ckpt
The code sample, copied. It passes an image path. The paint call uses mesh_path, and the snippet never assigns mesh_path. The line above it assigns mesh_untextured. This page did not change the snippet and did not run it.
import sys
sys.path.insert(0, './hy3dshape')
sys.path.insert(0, './hy3dpaint')
from textureGenPipeline import Hunyuan3DPaintPipeline
from textureGenPipeline import Hunyuan3DPaintPipeline, Hunyuan3DPaintConfig
from hy3dshape.pipelines import Hunyuan3DDiTFlowMatchingPipeline
shape_pipeline = Hunyuan3DDiTFlowMatchingPipeline.from_pretrained('tencent/Hunyuan3D-2.1')
mesh_untextured = shape_pipeline(image='assets/demo.png')[0]
paint_pipeline = Hunyuan3DPaintPipeline(Hunyuan3DPaintConfig(max_num_view=6, resolution=512))
mesh_textured = paint_pipeline(mesh_path, image_path='assets/demo.png')
from_pretrained('tencent/Hunyuan3D-2.1') is the README’s download. How to download a Hugging Face model is the manual hf download reference. cloudgpu-net is not in the Hunyuan3D-2.1 README. The download speed guide says to leave it off during pip, then turn it on for a weight download. The snippet does not show a save call.
Gradio, and text to 3D
The README’s Gradio command, copied:
python3 gradio_app.py \
--model_path tencent/Hunyuan3D-2.1 \
--subfolder hunyuan3d-dit-v2-1 \
--texgen_model_path tencent/Hunyuan3D-2.1 \
--low_vram_mode
gradio_app.py (read 2026-11-12) defaults --port to 8080, --host to 0.0.0.0 and --cache-path to ./save_dir. export_mesh writes white_mesh.glb or white_mesh.obj for an untextured mesh, and the texture path uses textured_mesh.obj plus textured_mesh.glb. Copy that save_dir folder before you destroy the instance.
The README command does not set the host. How to use SSH port forwarding starts the app on 127.0.0.1. The same argparse accepts --host and --port. Adding them is a change to the README command. This page did not run it.
python3 gradio_app.py \
--model_path tencent/Hunyuan3D-2.1 \
--subfolder hunyuan3d-dit-v2-1 \
--texgen_model_path tencent/Hunyuan3D-2.1 \
--low_vram_mode \
--host 127.0.0.1 \
--port 8080
Forward local port 8080 to the instance’s port 8080, then open http://localhost:8080.
Text to 3D is a flag in that file, not a line in the README command. If no image is passed, gradio_app.py raises: “Text to 3D is disable. Please enable it by python gradio_app.py --enable_t23d.” With --enable_t23d, the same file constructs HunyuanDiTPipeline('Tencent-Hunyuan/HunyuanDiT-v1.1-Diffusers-Distilled'). The Hugging Face model API for that repository returned 200 on 2026-11-12. This page did not run the flag. The documented shape call remains the image path in the README.
ComfyUI
The 2.1 README’s community list links visualbruno/ComfyUI-Hunyuan3d-2-1. That link is under “Community Contribution Leaderboard”. The install section has no ComfyUI steps. The ComfyUI docs index read the same day did not list a Hunyuan3D-2.1 workflow page. This page does not copy the community wrapper. For the ComfyUI template itself, see how to choose a rental GPU for ComfyUI.
When it fails
CUDA out of memory. The published lines are 10 GB, 21 GB and 29 GB. A listing below the line you are using does not meet that line. --low_vram_mode adds no second number in the README. Then use how to fix CUDA out of memory on a cloud GPU.
“CUDA error: no kernel image is available” on an RTX 5090. Catalog RTX 5090 and RTX 5090D are 32 GB, which meets the 29GB total. The README pins torch==2.5.1 from the cu124 index. The RTX 5090 guide says that card needs a PyTorch build for CUDA 12.8 or newer. This page did not re-test the pinned cu124 wheel on an RTX 5090. How to install a specific PyTorch CUDA version is the wheel index.
Save the mesh, then destroy
Copy save_dir (the --cache-path default) off the instance before you destroy it. The code sample does not show a save call, so a run of that sample needs its own export before you destroy the instance. Save your work before you destroy a cloud GPU is the checklist. The terms say data on local instance storage is permanently deleted when the instance is destroyed. The billing rule is on the pricing page. Prices are not copied here.
Frequently asked questions
How much VRAM does Hunyuan3D-2.1 publish?
The Hunyuan3D-2.1 README says it takes 10 GB VRAM for shape generation, 21GB for texture generation and 29GB for shape and texture generation in total (read 2026-11-12). The Gradio command includes --low_vram_mode and publishes no separate GB number for that flag. The Hunyuan3D-2 repository’s 6 GB and 16 GB lines belong to that earlier repository.
Which rented GPUs meet the 29GB total?
vram_gb of at least 29 on https://cloudgpu.app/gpu-prices.json, read 2026-11-12: RTX 4080 SUPER 32G, RTX 5090, RTX 5090D, V100 32G, A100 40G, A800 40G, A40, RTX 4090 48G, RTX 4090D 48G, RTX A6000, NVIDIA RTX PRO 5000 72G, RTX PRO 5000 72G, A100 80G, A800 80G, H800, RTX 6000D, H20 96G, RTX PRO 6000 96G and RTX PRO 6000 Max-Q. A30, RTX 3090, RTX 4090 and RTX 4090D are 24, which meets the 21GB texture line and is below the 29GB total. RTX 3080 (10), RTX 2080 Ti (11), RTX 3080 Ti (12) and V100 16G (16) meet the 10GB shape line only. RTX 2080 is 8, below the 10GB shape line. GET /v1/public/compute-capabilities returned feature flags and no GPU list. Which listing you can start is on https://cloudgpu.app/deploy. This page does not say which listings are available.
Does Hunyuan3D-2.1 take a text prompt?
The README’s code sample passes an image path to the shape pipeline. The model card tags include image-to-3d and text-to-3d. gradio_app.py tells you to add --enable_t23d when no image is passed, and that flag constructs HunyuanDiTPipeline with Tencent-Hunyuan/HunyuanDiT-v1.1-Diffusers-Distilled. The README’s printed Gradio command does not include --enable_t23d. This page did not run the flag.
Where is the mesh saved?
The README’s code sample does not show a save call, and its paint line uses mesh_path, which that snippet never assigns. gradio_app.py writes under --cache-path, default ./save_dir, including white_mesh.glb or white_mesh.obj and textured_mesh.glb. Copy that folder before you destroy the instance. The terms say data on local instance storage is permanently deleted when the instance is destroyed.
Sources (read 2026-11-12, Asia/Shanghai)
- Hunyuan3D-2.1 README (10 GB, 21GB, 29GB, model table, Python 3.10, torch 2.5.1+cu124, install, image code sample, Gradio command, community ComfyUI link): https://github.com/Tencent-Hunyuan/Hunyuan3D-2.1
- gradio_app.py (port 8080, host 0.0.0.0, cache path ./save_dir, export names,
--enable_t23d, HunyuanDiT pipeline id, commented texture offload): https://github.com/Tencent-Hunyuan/Hunyuan3D-2.1/blob/main/gradio_app.py - Hunyuan3D-2.1 model card (
tencent-hunyuan-community,extra_gated_eu_disallowed: true, tagsimage-to-3dandtext-to-3d, APIgated: false): https://huggingface.co/tencent/Hunyuan3D-2.1 - HunyuanDiT distilled pipeline repository (API HTTP 200, not run): https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.1-Diffusers-Distilled
- Hunyuan3D-2 README (6 GB and 16 GB lines, news pointer to 2.1): https://github.com/Tencent-Hunyuan/Hunyuan3D-2
- Public GPU memory: https://cloudgpu.app/gpu-prices.json and https://cloudgpu.app/v1/public/gpu-catalog.
GET /v1/public/compute-capabilitiesreturned feature flags and no GPU list.
Cards you can start are on the Deploy page. Prices are on https://cloudgpu.app/pricing and are not repeated here.
Last updated: 2026-11-12 (Asia/Shanghai).