Remote runs exec the repo-relative manifest python via bash with no
existence check ('vendor/trellis2-mlx/.venv/bin/python: No such file'),
killing trellis2_mlx on the validated m1 lane (its fork lives at
~/trellis2-mlx). Both run.py launchers are stdlib-only and already
resolve the per-box fork checkout + venv themselves — run them on the
server/system python instead. trellis_mac/run.py now resolves its vendor
venv explicitly (sys.executable was only correct under the old pin).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
80 lines
2.4 KiB
JSON
80 lines
2.4 KiB
JSON
{
|
|
"id": "trellis2_mlx",
|
|
"name": "TRELLIS.2 MLX (local, fastest)",
|
|
"category": "mesh-gen",
|
|
"description": "Image → PBR GLB via the MRP MLX fork of TRELLIS.2 (monster/trellis-2-mrp-mlx): pure-MLX sampler, Metal PBR bake with RAM-sized face cap + forced-opaque alpha (2026-07-22 quality fixes — fal-parity detail), kdtree/vertex fallbacks. ~72s vertex / ~2min metal-PBR on m3ultra — still the fastest local TRELLIS.2. baker=vertex for the 1s clean-albedo bake (no MR maps). Weights: TRELLIS.2-4B + gated DINOv3/RMBG (rsync from m3 HF cache to workers; no HF login needed).",
|
|
"accepts": [
|
|
"image"
|
|
],
|
|
"produces": [
|
|
"model"
|
|
],
|
|
"resources": "gpu",
|
|
"entry": "run.py",
|
|
"params_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pipeline_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"512",
|
|
"1024",
|
|
"1024_cascade"
|
|
],
|
|
"default": "1024_cascade",
|
|
"description": "Resolution tier"
|
|
},
|
|
"seed": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"description": "Random seed"
|
|
},
|
|
"steps": {
|
|
"type": "integer",
|
|
"default": 12,
|
|
"description": "Sampler steps per stage (12 = upstream default)"
|
|
},
|
|
"baker": {
|
|
"type": "string",
|
|
"enum": [
|
|
"metal",
|
|
"vertex",
|
|
"kdtree"
|
|
],
|
|
"default": "metal",
|
|
"description": "metal = UV PBR textures (meshgod-grade; minor dark-patch texels remain); vertex = 1s bake, cleanest colors, no MR maps"
|
|
},
|
|
"texture_size": {
|
|
"type": "integer",
|
|
"enum": [
|
|
512,
|
|
1024,
|
|
2048,
|
|
4096
|
|
],
|
|
"default": 2048,
|
|
"description": "Baked texture resolution (metal/kdtree bakers)"
|
|
},
|
|
"max_bake_faces": {
|
|
"type": "integer",
|
|
"enum": [
|
|
200000,
|
|
500000,
|
|
1000000
|
|
],
|
|
"default": 500000,
|
|
"description": "Pre-bake face cap. 500k ≈ fal parity (M3 Ultra verified); node RAM sizes the default when unset — laptops get 200k"
|
|
},
|
|
"alpha_mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"opaque",
|
|
"auto"
|
|
],
|
|
"default": "opaque",
|
|
"description": "opaque = force alphaMode OPAQUE (fixes speckle-veil hair); auto = keep baked alpha for glassy subjects"
|
|
}
|
|
}
|
|
}
|
|
}
|