comfy / trellis2 / shapeGen
Fast iterations on geometry
- 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
When you're hunting the right silhouette, you don't want to pay for a full textured render every time. TRELLIS.2's shapeGen recipe is the geometry-focused pass of Microsoft's image-to-3D model, hosted on Civitai's cloud - the cheap, fast way to iterate a shape before you spend on texture.
What it is
comfy / trellis2 / shapeGen from the civitai/civitai-comfy-nodes pack. Same plumbing as every Civitai recipe node: IMAGE in, cloud job, mesh URL + thumbnail out. The discriminator marks this as the shape-generation operation, and that's where the value is - a shape run is cheaper and quicker than a full imageTo3D, so it's the right tool when you're still deciding what the object should be.
One honest difference from the Hunyuan3D side of the pack: the trellis shapeGen keeps the texture knobs around. The schema still exposes texture_steps, texture_cfg, and should_texture (default true), so this isn't a bare-geometry-only flag the way the Hunyuan shapeGen is - it's the shape-oriented pass, and you can dial texturing down or off to make it cheaper. Treat it as "shape first, texture optional" rather than "shape only".
The inputs
image_url is required - an IMAGE socket.
model_version-pixal3Dortrellis2. Try both on a test image once; the two backends genuinely differ in look.structure_steps,shape_steps,upsample_steps,texture_steps- the four pipeline stages, each with its own step count. For a shape-focused run you can lean onshape_stepsand drop the rest.should_remesh(true),remesh_resolution(768),target_face_count(700k) - the cleanup controls. TRELLIS.2 remeshes by default, which is a big part of why its output looks cleaner than the raw generators.target_resolution(1536) - overall generation resolution; 1024 is noticeably cheaper if you're iterating.should_texture- set to false if you truly only want geometry; that skips the paint stages entirely.
The outputs
model (GLB URL), fbx_model, thumbnail (IMAGE), the mostly-empty rigged/animated slots, plus workflow_id and raw_json. For iterating, wire thumbnail → Preview Image and read the cost from raw_json - that's the whole loop.
Installing it
In ComfyUI Manager, search Civitai Comfy Nodes (publisher civitai), 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
No model downloads - just requests and python-socketio.
Gotchas
- Buzz, metered per run. Shape runs are the cheap tier, but they're not free. If a silhouette is still being decided, that's fine; if you're brute-forcing hundreds of variations, check the cost column before you do.
- Credentials required. Civitai Auth node,
CIVITAI_API_TOKEN, or sidebar OAuth. No token, no geometry. modelis a hosted URL string, not a downloaded file.- Geometry quality is better, not solved. The remesh pass helps, but you're still getting AI topology. Static props and prints: fine. Anything animated: retopo by hand, and be honest that hand-modeling may have been faster.
Inputs (17)
| 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 | — |
| 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 | — |