Local GLBs were crushed to exactly 94,535 faces (fal ships ~495k) by the 200k laptop mtlbvh guard + o_voxel cleanup, and noisy baked alpha flipped materials to BLEND (speckle-veil hair, 'broken face'). Neither was the diffusion — local decode was already 2.2M tris. - run.py: default TRELLIS2_MAX_BAKE_FACES by node RAM (>=96GB -> 500k, else 200k laptop-safe); pass max_bake_faces/alpha_mode/steps/baker params through (server forwards only client-sent params — manifest defaults are UI-only) - manifest: new params, quality defaults - BENCHMARKS.md: 2026-07-22 entry — 500k cap verified crash-free on M3 Ultra, 351,898-face GLB, bake 7s->14s, farm-path e2e verified Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
25 lines
1.9 KiB
JSON
25 lines
1.9 KiB
JSON
{
|
|
"id": "trellis_mac",
|
|
"name": "TRELLIS.2 (local, SOTA)",
|
|
"category": "mesh-gen",
|
|
"description": "Image → GLB + baked PBR locally via the TRELLIS.2 MPS/Metal port (best open-weights quality on Apple Silicon, ~3-5 min/gen). Weights need a one-time HuggingFace login (facebook/dinov3-vitl16, briaai/RMBG-2.0). Note: 1536 is upstream-only; Mac port maxes at 1024_cascade.",
|
|
"accepts": ["image"],
|
|
"produces": ["model"],
|
|
"resources": "gpu",
|
|
"entry": "run.py",
|
|
"python": "vendor/trellis-mac/.venv/bin/python",
|
|
"params_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pipeline_type": {"type": "string", "enum": ["512", "1024", "1024_cascade"], "default": "1024", "description": "Resolution tier (1024_cascade = highest quality on Mac)"},
|
|
"texture_size": {"type": "integer", "enum": [512, 1024, 2048], "default": 2048, "description": "Baked texture resolution"},
|
|
"seed": {"type": "integer", "default": 0, "description": "Random seed"},
|
|
"no_texture": {"type": "boolean", "default": false, "description": "Geometry only (skip texture stage, much faster)"},
|
|
"max_bake_faces": {"type": "integer", "enum": [200000, 500000, 1000000], "default": 500000, "description": "Pre-bake simplify cap. 500k ≈ fal parity, verified crash-free on the M3 Ultra (2026-07-22); drop to 200k on laptops (mtlbvh guard)"},
|
|
"steps": {"type": "integer", "default": 0, "description": "Sampler steps override for all 3 flow phases (0 = pipeline default, 12)"},
|
|
"baker": {"type": "string", "enum": ["", "vertex"], "default": "", "description": "'vertex' = KDTree vertex-color bake (dark-patch workaround, no PBR maps)"},
|
|
"alpha_mode": {"type": "string", "enum": ["opaque", "auto"], "default": "opaque", "description": "opaque = force alphaMode OPAQUE in the GLB (fixes speckle-veil hair from noisy baked alpha); auto = keep o_voxel's BLEND detection for glassy subjects"}
|
|
}
|
|
}
|
|
}
|