- server/operators/hunyuan3d_mlx: native-MLX Hunyuan3D 2.1, both stages, PBR. Verified end-to-end on M3 Ultra: 260s total, 40k-face GLB w/ 2048² PBR. Weights public (no HF login). Runs on M1 (MLX-native). - scripts/install_hunyuan3d_mlx.sh: uv py3.11 venv + MLX-path deps. - CLUSTER.md: local-first policy + M3/M1/M4 fleet roles + central-queue howto. - BENCHMARKS/README/AGENTS: hunyuan3d_mlx rows + trellis head-to-head.
24 lines
1.4 KiB
JSON
24 lines
1.4 KiB
JSON
{
|
|
"id": "hunyuan3d_mlx",
|
|
"name": "Hunyuan3D 2.1 (local MLX)",
|
|
"category": "mesh-gen",
|
|
"description": "Image → GLB + baked PBR locally via the native-MLX Hunyuan3D 2.1 port (both shape + PBR-texture stages on Apple Silicon; runs on M1 too, MLX-native). Weights (~15GB, dgrauet/hunyuan3d-2.1-mlx) auto-download on first run. Best paired with a bg-removed cutout. texture_size 4096 is experimental (verify on the M3 before defaulting).",
|
|
"accepts": ["image"],
|
|
"produces": ["model"],
|
|
"resources": "gpu",
|
|
"entry": "run.py",
|
|
"python": "vendor/hunyuan3d-mlx/.venv/bin/python",
|
|
"params_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"steps": {"type": "integer", "default": 50, "description": "Stage 1 shape denoising steps"},
|
|
"guidance_scale": {"type": "number", "default": 7.5, "description": "Stage 1 CFG scale"},
|
|
"octree_resolution": {"type": "integer", "enum": [256, 384], "default": 256, "description": "Stage 1 marching-cubes grid (384 = finer geometry, slower)"},
|
|
"texture_size": {"type": "integer", "enum": [1024, 2048, 4096], "default": 2048, "description": "Stage 2 baked UV atlas resolution"},
|
|
"max_num_view": {"type": "integer", "default": 6, "description": "Stage 2 number of baked views"},
|
|
"seed": {"type": "integer", "default": 42, "description": "Random seed"},
|
|
"no_texture": {"type": "boolean", "default": false, "description": "Geometry only (skip Stage 2, much faster)"}
|
|
}
|
|
}
|
|
}
|