comfy / trellis2 / texGen
The TRELLIS.2 texture pass, without a mesh in sight
- image_url
- model_air
- api_config
- model
- fbx_model
- thumbnail
- rigged_model
- rigged_fbx_model
- animated_model
- animated_fbx_model
- basic_animations
- workflow_id
- raw_json
Funny thing about the TRELLIS.2 texGen node compared to its Hunyuan3D counterpart: it doesn't ask for a mesh. The Hunyuan texGen wants an explicit CIVITAI_AIR mesh socket; the trellis texGen just wants your image. That tells you what it is - a hosted texture-generation pass that runs the paint side of TRELLIS.2 straight from a reference picture, no mesh juggling in between.
What it is
comfy / trellis2 / texGen from civitai/civitai-comfy-nodes, Civitai's official ComfyUI pack for its Orchestration API. Same architecture as every node here: submit a cloud job, poll it, get native Comfy outputs back. The recipe's discriminator marks it as the texturing operation, and the schema matches - should_texture is gone (texturing is the point), but enable_pbr and should_remesh are still there.
Because there's no mesh socket, you can't pipe a specific shapeGen output into it the way you'd expect. You feed it the reference image and the pipeline handles the rest - which makes it a much simpler drop-in for "I have a picture, give me a textured TRELLIS.2 result" than the staged workflow. If you need full control over geometry first, run the trellis imageTo3D or shapeGen nodes instead.
The inputs
image_url- required IMAGE socket. Your reference.model_version-pixal3Dortrellis2.texture_steps(12) andtexture_cfg(1) - the paint stage's sampling controls. Texture cfg at 1.0 is low for a diffusion model, which is the TRELLIS default and usually fine; bump it if textures come out washed out.texture_resolution(2048) - output texture size. 8192 is available for hero assets and probably overkill for most runs.should_remesh(true) andremesh_resolution(768) - texture can ride on remeshed geometry, which is why the cleanup controls appear here.enable_pbr(true) - PBR channels on by default; keep it if the output might land in a game engine.- The
structure_*/shape_*step and cfg knobs are also exposed, so you can still steer the geometry pass that feeds the texture.
The outputs
model (GLB URL), fbx_model, thumbnail (IMAGE → Preview Image), the rigged/animated slots that mostly stay empty, plus workflow_id and raw_json.
Installing it
ComfyUI Manager → Civitai Comfy Nodes → Install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
requests + python-socketio are the only dependencies; nothing gets downloaded to your models folder.
Gotchas
- Credentials and Buzz. Wire a Civitai Auth node or set
CIVITAI_API_TOKEN; every texture run is metered.raw_jsonshows the cost. modelis a URL string pointing at the hosted GLB, not a local file.- The texture quality ceiling is real. TRELLIS.2's PBR texturing is good for an open pipeline, but "good for an open pipeline" still means cleanup for anything you ship. Organic subjects - faces, animals, cloth - remain the weak spot across the whole 3D generation family.
- If you were expecting to reskin your own existing mesh, remember this node takes an image, not a mesh - the Hunyuan texGen in the same pack is the one with a mesh input, if that's the job.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| image_url | IMAGE | — | |
| model_versionopt | COMBO | pixal3D | 2 options: pixal3D, trellis2 |
| model_airopt | CIVITAI_AIR | — | |
| structure_stepsopt | INT | 121–100 | — |
| shape_stepsopt | INT | 201–100 | — |
| upsample_stepsopt | INT | 121–100 | — |
| texture_stepsopt | INT | 121–100 | — |
| structure_cfgopt | FLOAT | 7.500–30 | — |
| shape_cfgopt | FLOAT | 7.500–30 | — |
| texture_cfgopt | FLOAT | 1.000–30 | — |
| target_resolutionopt | COMBO | 1536 | 9 options: 1024, 1152, 1280, 1408, 1536, 1664, +3 |
| should_remeshopt | BOOLEAN | true | — |
| remesh_resolutionopt | INT | 76832–2048 | — |
| target_face_countopt | INT | 7000001000–50000000 | — |
| texture_resolutionopt | INT | 204864–8192 | — |
| seedopt | INT | 00–4294967295 | — |
| enable_pbropt | BOOLEAN | true | — |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| model | STRING | — |
| fbx_model | STRING | — |
| thumbnail | IMAGE | — |
| rigged_model | STRING | — |
| rigged_fbx_model | STRING | — |
| animated_model | STRING | — |
| animated_fbx_model | STRING | — |
| basic_animations | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |