Tripo: Refine Draft model
Turn a draft mesh into something you'd actually ship
- model_info
- model_file
- model_info
Tripo's "draft" models are fast and surprisingly good, but they're still drafts - the topology is denser than it needs to be and the geometry has that soft, voxel-ish quality you can feel when you rotate it in a viewport. TripoRefineModel is the step that fixes that: feed it a draft's model_info and Tripo's cloud reworks the geometry into a cleaner, more usable mesh.
This is the classic middle stage of the pipeline. The README's own workflow shows it: generate a draft, refine it, then texture or rig the result. If you're going straight from TripoAPIDraft to a game engine, you're leaving quality on the table - refine first, then low-poly or texture.
What it does
The node is almost insultingly simple to use, which is the point. It takes exactly one required input, model_info - the handle that every Tripo node passes along, carrying the cloud task ID. There are no quality sliders, no version picker, no options to misconfigure. You wire the draft's model_info in, run it, and get back:
model_file- a string path to the refined mesh saved inComfyUI/output/.model_info- the updated handle, which you feed into whatever comes next (texture, rig, retarget, convert).
Behind the scenes it's one cloud task: the node sends the draft's task ID, Tripo re-meshes it with better topology, and your machine downloads the result. The refinements of the mesh geometry are a separate concern from texturing - that's what TripoTextureModel is for.
Install
Nothing special here; it's one of eleven nodes in the same pack:
cd ComfyUI/custom_nodes
git clone https://github.com/VAST-AI-Research/ComfyUI-Tripo
cd ComfyUI-Tripo && pip install -r requirements.txt
Or search "Tripo for ComfyUI" in ComfyUI Manager. You still need a Tripo API key (env var TRIPO_API_KEY, a config.json in the pack folder, or the apikey field on the generation node), and it's still a cloud call - refine consumes credits and needs the network.
Where people get burned
Two things to know. First, refine is a task that can fail - an early reddit thread from the v2.0 days had the author able to generate drafts but unable to finish refine, and while that specific bug is ancient history, the general lesson holds: refine runs on Tripo's side, takes noticeably longer than a draft (there's more to do), and a failure shows up as a "Failed to generate mesh" error rather than a broken local mesh. If it flakes, just re-run it; it's not your machine's fault.
Second, the name says "Refine Draft model" for a reason. It expects the draft - the coarse output of TripoAPIDraft. Run it on a model that's already been refined and you're paying Tripo to redo work it already did. The flow that makes sense is draft → refine → (texture / low-poly / rig / convert), once each.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_info | MODEL_INFO | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model_file | STRING | — |
| model_info | MODEL_INFO | — |