TRELLIS HiCache Accelerate
The HiCache Accelerate node explained
- model
- model
TRELLIS is one of the better image-to-3D routes in ComfyUI - feed it one photo, get a usable mesh - but it's not quick. Both of its stages run a diffusion transformer (DiT) at every sampling step, and a single generation can sit there churning for minutes. TRELLIS HiCache Accelerate goes after exactly that: it leaves the DiTs running on a schedule and forecasts the flow-matching velocity for the steps in between. No retraining, no new weights, no API call. You drop one node between your TRELLIS loader and its sampler, and the author's own RTX 5090 numbers claim ~2.1x faster at the default settings while staying near-lossless, or ~2.5x if you push the interval up.
A quick honesty note before the hype: those numbers come from one GPU and one demo image, measured by the pack author. Treat them as "very plausible" rather than gospel. The underlying technique is real and published, though - this is the same HiCache family that showed up on r/comfyui as a Show HN in 2025, and the author's own HiCache++ follow-up (Dynamic Mode Decomposition instead of polynomials) is the reason the dmd method exists.
How it works
TRELLIS samples each stage with a flow-Euler loop that calls a DiT once per step (twice when classifier-free guidance is on). The node doesn't rewrite any of that. It patches the pipeline's model entries with thin wrapper modules: on compute steps the real DiT runs and its velocity output gets cached as a forecast anchor; on skipped steps the DiT is never called and the velocity is extrapolated from those anchors using the hicache-pp library.
Two TRELLIS-specific quirks make this trickier than it looks, and the pack handles both. The timestep schedule runs 1 -> 0 (backwards from Hunyuan), so run boundaries are detected by the size of the jump in t, not its sign. And TRELLIS runs its conditional and unconditional CFG forwards separately at the same timestep, so the patch keeps two parallel forecast states and routes each forward to the right one. On the SLaT stage, whose DiT returns a sparse tensor, it forecasts the .feats matrix and rebuilds the sparse tensor from the last computed step.
The inputs that matter
The required inputs are what you'll actually touch:
method-hermite(default) is the classic HiCache polynomial forecast;dmdis HiCache++, which stays accurate at wider skips;autopicks between them per step via a holdout check. Leave it onhermiteunless you're chasing maximum speedup.interval- run the DiT once every N steps, forecast the rest.2is the near-lossless default (~0.6% surface error, per the README);3is the aggressive tier (~1.5% error). This is the knob that buys your speedup.stages-both(default), or only thesparse_structureorslatDiT if you want to isolate the impact.warmup_steps- always compute the first N steps of each run before any forecasting. The default of 2 is sensible; raising it trades a little speed for a little safety.enabled- Off removes the patch and restores the stock DiTs. Handy for A/B testing what you're actually losing.
The optional trio - sigma, dmd_history, max_order - tunes the hicache-pp forecast internals. Ignore them until you're chasing fractions. The single output is model (MODEL_TRELLIS), which feeds straight into Trellis_Sampler.
Install
ComfyUI Manager is the easy route - search "TRELLIS HiCache" and install. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/Archerkattri/ComfyUI-TRELLIS-HiCache
pip install hicache-pp
then restart ComfyUI. The only real dependency is hicache-pp>=1.1.0 (torch and ComfyUI are assumed). This pack ships no model files - it's a patch, not a model - so the heavy lifting (and the multi-gigabyte TRELLIS weights) belongs to the companion pack smthemex/ComfyUI_TRELLIS, which you must have installed anyway to get a MODEL_TRELLIS at all.
Common issues
- The
modelsocket is red / "MODEL_TRELLIS type not found." You're missing the smthemex pack. This node patches a pipeline; it doesn't load one, so its only input type comes from ComfyUI_TRELLIS. Install that first. ImportError: No module named 'hicache_pp'. The pip install didn't happen.pip install hicache-ppand restart. If Manager installed the pack, it should pullrequirements.txtautomatically - but a manual clone won't.- Wondering what you're actually losing? Flip
enabledto Off and run the same image. That's the cleanest way to see the quality/speed trade for yourself instead of trusting the README's Chamfer numbers. interval= 1 does nothing. It runs the DiT every step - that's just stock TRELLIS with extra steps.
One last detail: the node never mutates the pipeline it's given (copy-on-patch), which matters inside ComfyUI because cached node outputs own their configuration and can't be corrupted by a later patch. It's a small, thoughtful pack from an author who clearly understands the math - just remember it's beta software, so verify your own geometry before you ship a mesh anywhere.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL_TRELLIS | — | |
| method | COMBO | hermite | 3 options: hermite, dmd, auto |
| interval | INT | 21–10 | Run the DiT once every `interval` steps; the rest are forecast. 2 is near-lossless (~0.6% Chamfer), 3 is more aggressive (~2.5x, ~1.5% Chamfer). |
| stages | COMBO | both | Which flow stage to accelerate: the sparse-structure DiT, the SLaT DiT, or both. |
| warmup_steps | INT | 20–10 | Always compute the first N steps of each run before forecasting begins. |
| enabled | BOOLEAN | true | Off removes the patch and restores the stock TRELLIS DiTs. |
| sigmaopt | FLOAT | 0.500.05–0.95 | — |
| dmd_historyopt | INT | 53–16 | — |
| max_orderopt | INT | 11–4 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL_TRELLIS | — |