Hunyuan 3D 3.1 Rapid
Prompt-to-GLB without owning a 24GB GPU
- image
- file_path
3D generation is the part of ComfyUI that most people quietly skip, because it's usually the part that demands the biggest GPU. Tencent's Hunyuan 3D models are some of the best text/image-to-mesh generators around, and running them locally is a hobby in itself - multi-GB model downloads, environment setup, patience measured in minutes per mesh. This node takes the "Rapid" tier of Hunyuan 3D 3.1 and puts it in the cloud: you type a prompt or drop in an image, and the node saves a finished .glb mesh to your ComfyUI output folder and returns the file path.
That's the pitch in one sentence: no local 3D stack, no VRAM budget, just a model that's deliberately tuned for speed ("Rapid") doing the heavy lifting elsewhere. If you need placeholder 3D assets, blockout meshes for a game or a Blender project, or a quick concept you can open and inspect, this is dramatically less friction than the local route.
How it works
It's an 3dInference request sent to the Runware API. Unlike the image nodes in this pack, the result isn't a tensor - Runware returns a .glb file, the node downloads it into your output folder (named runware_<random>.glb), and the output is a STRING file_path you can feed to a loader, or just read off the node. There's only one outputFormat (GLB), so you don't get to choose your container format; that's a Tencent/Runware constraint, not a hidden setting.
What to set
positivePrompt- the text description. Required isn't enforced here (there are no required inputs - both text and image paths are optional), but you need something: a prompt, an image, or both. The model works text-to-3D, image-to-3D, and prompt-plus-image-to-3D.image- anIMAGEinput. Wire an existing image in and the model reconstructs a mesh from it. This is the more reliable path for anything where you already have a reference of what you want.settings.geometryOnly- on by default? No - off by default. Turning it on produces a texture-free white model, which is exactly what you want for blockout/placeholder work or if you're going to texture it yourself. Turn it on when you don't care about materials.settings.pbr- generates PBR (physically based rendering) materials. Costs more compute/time but gives you a mesh that actually looks right under real lighting in Blender or a game engine. Off by default; flip it for final assets.numberResults(1–4) - a few takes. 3D generation is where "pick the best of N" pays off most, since mesh quality is hard to judge from a prompt.ttl/ttl_value- leave alone; only relevant if you're fetching the URL directly instead of letting the node save the file.
The output is file_path - a string path to the saved .glb. Wire it into a loader node if you want the mesh back in the graph, or just find it in your ComfyUI output folder.
Installing
Same pack as every Runware node:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Or ComfyUI Manager → search Runware → install → restart. Then the API key (Settings panel, RUNWARE_API_KEY, or runware auth login). No models, no checkpoints, no weights - the mesh generation happens on Runware's servers.
Gotchas worth knowing
The big one: this is a cloud round-trip, and 3D generation is the slowest thing in the pack - you're waiting on a remote job, not a local sampler. Don't mistake a long queue for a hang; check the node's run info for the cost and result. Second, the output is a file path, not an IMAGE or VIDEO - beginners often try to wire it into a Preview node and get confused when nothing shows up. Read the path, open the GLB in any mesh viewer. And if your mesh comes back looking like a lump, that's usually prompt-vagueness, not the model - feed it an image next time and let geometry do the talking.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| imageopt | IMAGE | — | |
| positivePromptopt | STRING | Text prompt describing elements to include in the generated output. | |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| settings.geometryOnlyopt | BOOLEAN | false | Generate a texture-free geometry model (white model). |
| settings.pbropt | BOOLEAN | false | Enable PBR (Physically Based Rendering) material generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | GLB | File format for the generated 3D model. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| file_path | STRING | — |