Tripo: Texture model
Adding color and PBR in the cloud
- model_info
- image_prompt
- style_image
- model_file
- model_info
Somewhere between "I generated a draft" and "this looks like a real asset," the mesh needs a paint job. TripoTextureModel is that step: it takes an existing model and gives it color plus PBR materials. If you've been staring at a flat gray Blender preview, this is the node that makes it look like a product.
One thing worth knowing before you reach for it: the draft node textures by default. TripoAPIDraft has texture and pbr both flipped on, so if you're generating fresh, you usually don't need this node at all - the result already has materials. You'd texture explicitly here when the mesh came in without texture (an imported model, a mesh you intentionally stripped, or a draft generated with texture off).
What it takes
Like every node in this pack, it's a cloud call - no local inference, just a key and network access. The model_info input is the handle to the mesh, passed from whatever produced it (draft, refine, or import). Feed it a version (v2.5 or v3.0, defaulting to the newer), and Tripo re-textures the whole thing.
The controls that matter:
texture/pbr- color map alone, or color plus physical (metalness/roughness) maps. Keep PBR on unless you're targeting a pipeline that doesn't want it.texture_quality-standardordetailed. Detailed costs more credits/time and is worth it for hero assets, overkill for placeholders.text_prompt,image_prompt,style_image- the fun part. You can steer the material with words ("worn leather, studio lighting"), a reference image for the look, or a style image to copy the mood of. This is how you get a stylized material instead of Tripo's default guess.texture_seed- for reproducibility, same as everywhere in the pack.part_names- if your mesh is segmented, you can target which parts get re-textured. Leave blank to do the whole model.bake(on) bakes the texture into the mesh;compressshrinks file size at some quality cost.
It returns the same two outputs as the rest of the pack: model_file (a string path to the textured model saved in ComfyUI/output/) and an updated model_info so you can keep chaining - texture, then rig, then convert, for instance.
Setting it up
Same install as the rest of the pack - ComfyUI Manager, search "Tripo for ComfyUI," or:
cd ComfyUI/custom_nodes
git clone https://github.com/VAST-AI-Research/ComfyUI-Tripo
cd ComfyUI-Tripo && pip install -r requirements.txt
You'll need a key from platform.tripo3d.ai either way; the pack reads TRIPO_API_KEY from your environment, a config.json in the pack folder, or the per-node apikey field.
The honest caveats
This is a hosted service, so texturing burns credits from your Tripo balance, and free-tier runs are noticeably slow - a detailed texture job is not a snappy operation. And if you came from local workflows, remember the same rule that applies to every Tripo node: your machine does nothing but shuffle bytes. The quality bar for AI-generated PBR is genuinely good in 2026, but if you need clean UV work for a production asset, you'll still want to bring this into a proper DCC and clean it up.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| model_info | MODEL_INFO | — | |
| model_versionopt | COMBO | v3.0-20250812 | 2 options: v2.5-20250123, v3.0-20250812 |
| textureopt | BOOLEAN | true | — |
| pbropt | BOOLEAN | true | — |
| texture_seedopt | INT | 42 | — |
| texture_qualityopt | COMBO | standard | 2 options: standard, detailed |
| texture_alignmentopt | COMBO | original_image | 2 options: original_image, geometry |
| text_promptopt | STRING | — | |
| image_promptopt | IMAGE | — | |
| style_imageopt | IMAGE | — | |
| part_namesopt | STRING | — | |
| compressopt | BOOLEAN | false | — |
| bakeopt | BOOLEAN | true | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model_file | STRING | — |
| model_info | MODEL_INFO | — |