Tripo: Texture model
Your draft is gray plastic. This gives it a paint job.
- model_task_id
- model_file
- model task_id
- GLB
A generated mesh without textures is a gray plastic placeholder. Tripo: Texture model is the node that fixes that - it takes an existing model task ID and runs a texturing pass over it, adding color maps (and PBR maps if you want them) without regenerating the geometry. It's the post-processing step that makes a draft look like an asset.
Partner Node rules as usual: built into ComfyUI core, no install, runs on Tripo's cloud. Log in with a ComfyUI Account, pay from prepaid credits, and the node polls until the texture job finishes. The price badge estimates the run, and it ticks up if you pick detailed texture quality, so watch it before you click.
Inputs and outputs
- model_task_id - a model task ID from any Tripo generation (text, image, multiview) or from an imported model via Tripo: Import Model.
Optional knobs worth knowing:
- texture and pbr - both default on.
textureadds the base color map;pbradds the material maps (roughness, metallic, normal) on top. Turn offpbrto save credits if you just need color. - texture_quality -
standardordetailed. Detailed costs noticeably more. - texture_alignment -
original_image(prioritize looking like the source image) vsgeometry(prioritize alignment to the mesh). Default isoriginal_image, which is right for generated models. - texture_seed - reproducibility-ish control for the texturing pass.
- texture_prompt - optional text guidance, and the field to remember. It's required in practice for imported models, because an import carries no source image for Tripo to infer colors from - you have to describe what the surface should be ("weathered steel, chipped paint").
Outputs: the model_file string, a model task_id for the newly textured asset, and the GLB with textures baked in. Chain the new task ID onward to Rig or Convert, or save via Save 3D Model / preview with Preview 3D & Animation.
The traps
The first trap is the imported-model texture_prompt thing - it's the most common "why is my texture gray garbage" failure in this whole family, and the fix is just to type a description. The second is expectations: texturing a mesh is a different problem than generating one, and even a good pass can look "painted on" for organic shapes. The third is the cost of detailed - decide whether the quality jump is worth the extra credits per run.
Where it sits
This is the node you reach for when a generation came out with no textures (say, a texture: off run, or a geometry-only P1 pass) or when you want to re-skin an imported asset. It's cheap enough to iterate on. The workflow instinct to build: generate or import → Texture → then Rig/Retarget if the asset needs to move. Paint job first, bones second.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model_task_id | MODEL_TASK_ID | — | |
| 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 |
| texture_promptopt | STRING | Optional text guidance for texturing. Required in practice for imported models (Tripo: Import Model), which carry no source image to infer colors from. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model_file | STRING | — |
| model task_id | MODEL_TASK_ID | — |
| GLB | FILE_3D_GLB | — |