ComfyUI Extension: ComfyUI-Trellis2 Multi-View Refiner
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.
Multi-view mesh refiner node for ComfyUI-Trellis2 with spatial blending across front/back/left/right views.
README
ComfyUI-Trellis2 Multi-View Refiner
A drop-in add-on for ComfyUI-Trellis2 that adds a single node: Trellis2 - Mesh Refiner Multi-View.
The base Mesh Refiner in Trellis2 uses a single view. This add-on refines a mesh using up to four views (front / back / left / right) with per-view spatial blending during sampling, which produces better fine detail in model recesses and reduces bilateral-symmetry bleed.
Requirements
You must have ComfyUI-Trellis2 installed in the same custom_nodes/ directory. This add-on imports from it at load time and patches two methods onto its pipeline class. If ComfyUI-Trellis2 is missing, this add-on raises a clear error at ComfyUI startup.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/cuzelac/ComfyUI-Trellis2-MultiViewRefiner
Or via ComfyUI Manager (once published to the Comfy Registry).
Restart ComfyUI. The node appears as Trellis2 - Mesh Refiner Multi-View under the Trellis2Wrapper category.
Inputs
Required: pipeline, trimesh, front_image, plus the usual shape/texture sampler parameters and resolution (512 / 1024 / 1536).
Optional: back_image, left_image, right_image. Any combination is supported — front-only works, as do front+back or all four.
How it works
The add-on monkey-patches Trellis2ImageTo3DPipeline with two methods on first use:
sample_mesh_slat_multiview— shape SLat sampling using a multi-view guidance-interval sampler (selected dynamically based on the active base sampler: Euler / Heun / RK4 / RK5).refine_mesh_multiview— orchestrates per-view DINO conditioning, mesh SLat encoding/upsampling, shape and optional texture sampling, and final tiled decoding.
Patching is deferred to the first node execution rather than performed at import time, because ComfyUI registers sibling custom-node packages under path-derived module names and doesn't guarantee load order across them. The node derives the pipeline class (and its sibling modules like SparseTensor and samplers) from the pipeline input it receives at runtime via type(pipeline).__module__, which sidesteps the load-order problem entirely.
On first use, the add-on also verifies the pipeline class still exposes every helper these methods rely on (model loaders, get_cond, encode_shape_slat, decode_latent, etc.) and that its sampler module still exports FlowEulerMultiViewGuidanceIntervalSampler. If upstream ComfyUI-Trellis2 renames any of these, you get a clear RuntimeError instead of a cryptic AttributeError mid-generation.
Credits
- Multi-view refiner implementation: Chris Uzelac. Originally proposed as an in-tree change in visualbruno/ComfyUI-Trellis2#125; that PR remains open as a reference implementation.
- Drop-in packaging pattern suggested by bribblej-web in the PR thread.
- Base Trellis2 pipeline and multi-view samplers: visualbruno/ComfyUI-Trellis2 and Microsoft Trellis.2.
Known limitations
- No dino-lock. Upstream added a
dino_lockguardrail to the single-view samplers in April 2026. The multi-view sampler class (FlowEulerMultiViewGuidanceIntervalSampleretc.) does not inheritDinoLockMixin, so this refiner runs without that guardrail. Integrating it would require adapting the lock step to the per-view velocity blending loop; it's not planned for now.
License
MIT. See LICENSE.
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.