Nodes/civitai-comfy-nodes/comfy / trellis2 / texGen
ComfyUI Node

comfy / trellis2 / texGen

The TRELLIS.2 texture pass, without a mesh in sight

By civitai·Created 3 months ago·Updated 2 days ago· 44
comfy / trellis2 / texGen
  • 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
model_versionpixal3D
structure_steps12
shape_steps20
upsample_steps12
texture_steps12
structure_cfg7.50
shape_cfg7.50
texture_cfg1.00
target_resolution1536
should_remeshtrue
remesh_resolution768
target_face_count700000
texture_resolution2048
seed0
enable_pbrtrue

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 - pixal3D or trellis2.
  • texture_steps (12) and texture_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) and remesh_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_json shows the cost.
  • model is 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.
CategoryCivitai/Misc/comfy

Inputs (18)

NameTypeDefaultDescription
image_urlIMAGE
model_versionoptCOMBOpixal3D2 options: pixal3D, trellis2
model_airoptCIVITAI_AIR
structure_stepsoptINT121–100
shape_stepsoptINT201–100
upsample_stepsoptINT121–100
texture_stepsoptINT121–100
structure_cfgoptFLOAT7.500–30
shape_cfgoptFLOAT7.500–30
texture_cfgoptFLOAT1.000–30
target_resolutionoptCOMBO15369 options: 1024, 1152, 1280, 1408, 1536, 1664, +3
should_remeshoptBOOLEANtrue
remesh_resolutionoptINT76832–2048
target_face_countoptINT7000001000–50000000
texture_resolutionoptINT204864–8192
seedoptINT00–4294967295
enable_pbroptBOOLEANtrue
api_configoptCIVITAI_CONFIGOptional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login.

Outputs (10)

NameTypeDescription
modelSTRING
fbx_modelSTRING
thumbnailIMAGE
rigged_modelSTRING
rigged_fbx_modelSTRING
animated_modelSTRING
animated_fbx_modelSTRING
basic_animationsSTRING
workflow_idSTRING
raw_jsonSTRING