modelbeast/server/operators/trellis2cpp/manifest.json
type-two 11d92504c2 Add trellis2cpp operator: TRELLIS.2 via C++/ggml port on Metal, no venv
Self-contained binary + GGUFs (RobertBeckebans/AI_trellis2cpp) — immune to the
'operator registered, venv absent' failure that takes out the MLX lane on
unprepared nodes. Measured m3ultra: 512 fine 42.3s / 1024 cascade 108.6s,
~3.7x faster than trellis2_mlx with more geometry, 9-12GB peak RSS. One
resident server per node; -unload-idle frees ~15GB when quiet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 11:53:28 +10:00

31 lines
1.3 KiB
JSON

{
"id": "trellis2cpp",
"name": "TRELLIS.2 C++ (local, Metal, no venv)",
"category": "mesh-gen",
"description": "Image → PBR GLB via the C++/ggml port of TRELLIS.2 (RobertBeckebans/AI_trellis2cpp) running on Metal. Self-contained binary + GGUFs — NO Python and NO venv, so it cannot hit the 'operator registered, venv absent' failure that takes out the MLX lane on unprepared nodes. Measured on m3ultra vs the same image: 512 fine 42.3s (1.55M tris), 1024 cascade 108.6s (3.78M tris) — about 3.7x faster than trellis2_mlx's 156s for 392k tris, with more geometry. Peak RSS only 9-12 GB. Laptops work too: m2max 99.5s, m4probook 118.0s @512. Keeps one resident server per node (-unload-idle frees the ~15 GB of models when quiet).",
"accepts": [
"image"
],
"produces": [
"model"
],
"resources": "gpu",
"entry": "run.py",
"params_schema": {
"type": "object",
"properties": {
"quality": {
"type": "string",
"enum": [
"coarse",
"512",
"1024",
"1536"
],
"default": "1024",
"description": "coarse = 64^3 marching-cubes preview (seconds). 512 = fine, ~1.5M tris (42s on m3ultra). 1024 = cascade, ~3.8M tris (109s on m3ultra, 301s on an M4 Pro laptop). 1536 = highest tier, loaded but UNTESTED here."
}
}
}
}