modelbeast/server/operators/hunyuan3d_mlx/manifest.json
m3ultra 06f33be865 pool cpu lane across nodes; hunyuan Studio-quality defaults
runner: gpu AND cpu are now a node pool. Per-node cpu_slots (primary 3,
helpers 2, nodes.json-overridable); net stays primary-only. Python-less ops
(ffmpeg/ffprobe) now run remotely on the node's system python3. Verified: 9
concurrent ffmpeg_frames distributed 4 local / 2 m1 / 2 m4.

hunyuan3d_mlx: default to Studio-quality (octree 384, texture 4096, remesh
120k) — 4096 bake verified watchdog-free on M3 Ultra; big quality gain
(defined face, 120k faces). remesh_faces now a param. All param-overridable.
2026-07-16 10:59:44 +10:00

25 lines
1.6 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": 384, "description": "Stage 1 marching-cubes grid (384 = finer geometry)"},
"texture_size": {"type": "integer", "enum": [1024, 2048, 4096], "default": 4096, "description": "Stage 2 baked UV atlas resolution (4096 verified on Studio GPUs)"},
"remesh_faces": {"type": "integer", "default": 120000, "description": "Stage 2 bake-mesh face budget (Studio default 120k; 40k = laptop/fast)"},
"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)"}
}
}
}