Vendored mflux PR#302 fork (monster/Qwen-Image-Layered-MRP-MLX), tuned defaults 20 steps/640/baked-q8 (243s m3ultra, 366s m1ultra). Baked-model resolution via QWEN_LAYERED_MODEL env or per-box paths, HF+q8 fallback. nodes.json (gitignored, machine-local) updated on m3 to route to m1 too. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
22 lines
1.3 KiB
JSON
22 lines
1.3 KiB
JSON
{
|
|
"id": "qwen_layered_local",
|
|
"name": "Qwen-Image-Layered (local)",
|
|
"category": "image-edit",
|
|
"description": "Image → N editable RGBA layers (bg / subject / detail separation), fully local via the Qwen-Image-Layered 20B MLX port (mflux PR#302 fork). ~4 min on m3ultra, ~6 min on m1ultra at the tuned defaults (20 steps, 640, baked q8). The subject layer doubles as matting-grade background removal. Bake a local q8 model once per box (see scripts/install_qwen_layered.sh) or first run falls back to a 54GB HF download + on-the-fly quantization.",
|
|
"accepts": ["image"],
|
|
"produces": ["image"],
|
|
"resources": "gpu",
|
|
"entry": "run.py",
|
|
"python": "vendor/mflux-qwen-layered/.venv/bin/python",
|
|
"params_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"layers": {"type": "integer", "default": 4, "description": "Number of RGBA layers to decompose into"},
|
|
"steps": {"type": "integer", "default": 20, "description": "Denoising steps (20 = tuned default; 50 = upstream default, ~2.9x slower, no visible gain on tested inputs)"},
|
|
"resolution": {"type": "integer", "enum": [640, 1024], "default": 640, "description": "Working resolution"},
|
|
"seed": {"type": "integer", "default": 0, "description": "Random seed"},
|
|
"prompt": {"type": "string", "default": "", "description": "Optional prompt to guide the decomposition"}
|
|
}
|
|
}
|
|
}
|