Tripo 3D v3.1
A GLB out of a text prompt (or an image)
- images
- file_path
This is the odd one out in the pack, and the most fun. Runware_tripo_v3_1 generates actual 3D models - textured, watertight meshes - from a text prompt, an image, or both, and it's the one Runware node where nothing is required. Empty prompt, no images, just hit Queue and you get a GLB or FBX file back. It's Tripo's v3.1 model (tripo:v3.1@0) doing the generating, and the whole thing costs you exactly one API call.
Reality check on what you get: this is generation-quality 3D, not scan-quality 3D - think game-asset placeholder, concept prop, or starting mesh, not a production hero model. What makes it worth a node is the loop it enables: generate a 3D asset from text, or turn a 2D image (from any other node in this pack) into a 3D version of itself. Wire a Nano Banana output into images and you've got an image-to-3D pipeline in three nodes.
How it works
3dInference task with the tripo:v3.1@0 AIR. Text and images go up; the returned model file is downloaded to your ComfyUI output folder and the node returns a file_path string - note there's no native 3D viewer tensor, so the output is a path you feed to a file node or open externally. The settings.* group is where the mesh quality lives: pbr (physically-based rendering materials, on by default), texture, geometryQuality (standard/detailed), faceLimit, quad mesh output, generateParts for segmented editable parts, and smartLowPoly for a lightweight mesh on simple inputs.
The inputs that matter
images- theIMAGEinput for image-to-3D. One clean, well-lit view of an object is the classic sweet spot.positivePrompt- describe the object ("a ceramic mug with a blue glaze and a handle"). Empty works; detailed works better.outputFormat-GLB(default) orFBX. GLB is the portable web/game format; FBX if you're feeding a DCC tool that wants it.settings.faceLimit- the polygon budget; lower for a lighter mesh, higher for detail.settings.autoSize- scales to real-world dimensions in meters, useful if the mesh has to fit a scene.settings.generateParts- on for individual editable parts; costs more and isn't always needed.
Installing it
Install the pack. ComfyUI Manager → search Runware → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Key from runware.ai/api-keys → ComfyUI Settings → Runware API key (or RUNWARE_API_KEY). No local 3D tooling needed - generation happens server-side.
Where people get burned
- The output is a file path, not a 3D view. If you wire this into a preview and see a string, that's correct behavior - the model saves to your output folder and hands back where it put it.
- Quality expectations. "Generation-grade, not production-grade" is the honest framing. Complex or multi-part subjects (the
smartLowPolytooltip flat-out warns it "may fail on complex models") come out rough. - Text-to-3D is harder than image-to-3D. The model is generally stronger when you give it a reference image than when you describe "a dragon in armor" from nothing.
- 3D runs are heavier. A detailed, textured, part-segmented generation is one of the more expensive calls in the pack - check the title bar cost before batch-generating a model shelf.
Tripo 3D v3.1 is the "make me a thing I can orbit" node. It won't replace your modeler, but it's an outrageous amount of capability for one node and one API key.
Inputs (25)
| Name | Type | Default | Description |
|---|---|---|---|
| imagesopt | IMAGE | — | |
| positivePromptopt | STRING | Text prompt describing elements to include in the generated output. | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| seedopt | INT | 11–20240919 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| settings.autoSizeopt | BOOLEAN | false | Scales the model to real-world dimensions in meters. |
| settings.compressopt | COMBO | meshopt | Compression method for the output mesh. |
| settings.exportUvopt | BOOLEAN | true | Enables UV unwrapping on the output mesh. |
| settings.faceLimitopt | BOOLEAN | false | Enable to set settings.faceLimit. Off uses the model's default. |
| settings.faceLimit_valueopt | INT | 500500–20000 | Maximum number of faces (polygons) in the output mesh. If not set, determined adaptively. Range depends on mode: 1000–20000 for low-poly, 500–10000 for quad. |
| settings.generatePartsopt | BOOLEAN | false | Generates segmented 3D models with individually editable parts. |
| settings.geometryQualityopt | COMBO | standard | Controls the geometric detail level of the output mesh. |
| settings.imageAutoFixopt | BOOLEAN | false | Optimizes the input image for better 3D generation results. |
| settings.orientationopt | COMBO | default | Controls model orientation. |
| settings.pbropt | BOOLEAN | true | Enables physically-based rendering materials. |
| settings.quadopt | BOOLEAN | false | Enables quad mesh output. |
| settings.smartLowPolyopt | BOOLEAN | false | Generates low-poly meshes optimized for simple inputs. May fail on complex models. |
| settings.textureopt | BOOLEAN | true | Enables texturing on the generated model. Set to false for a base model without textures. |
| settings.textureAlignmentopt | COMBO | (default) | Controls texture alignment priority. |
| settings.textureQualityopt | COMBO | standard | Resolution quality for generated textures. |
| settings.textureSeedopt | BOOLEAN | false | Enable to set settings.textureSeed. Off uses the model's default. |
| settings.textureSeed_valueopt | INT | 00–20240919 | Seed for texture generation reproducibility. |
| 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 | — |