- flux_local: prompt->image fully on-device via mflux (schnell/dev, steps, quantize, seed, size). Both FLUX repos are HF-gated as of 2026-07 (schnell included) — clean GatedRepoError surfaces with a hint; needs owner HF token. - openrouter_image: prompt->image via OpenRouter chat/completions with modalities [image,text]; parses data-URL images from the response; model picker for nano-banana / nano-banana-pro. Gated on OPENROUTER_API_KEY. - settings: openrouter_key added to vault (masked/redacted/env-injected) - scripts/install_mflux.sh; venv installed - A/B flow: run both with the same prompt, judge in Compare mode Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
25 lines
1.6 KiB
JSON
25 lines
1.6 KiB
JSON
{
|
|
"id": "flux_local",
|
|
"name": "FLUX (local, MLX)",
|
|
"category": "generate",
|
|
"description": "Prompt → image entirely on this Mac via mflux (MLX-native FLUX). schnell = 2-4 steps fast draft; dev = higher quality, 20-28 steps. BOTH are HF-gated now (verified 2026-07): accept the license on huggingface.co/black-forest-labs, then set the HuggingFace token in Settings. First run downloads weights (~24GB). No API cost, no cloud.",
|
|
"accepts": [],
|
|
"produces": ["image"],
|
|
"resources": "gpu",
|
|
"entry": "run.py",
|
|
"python": "/Users/m3ultra/Documents/MODELBEAST/venvs/mflux/bin/python",
|
|
"params_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"prompt": {"type": "string", "default": "", "description": "What to generate"},
|
|
"model": {"type": "string", "enum": ["schnell", "dev"], "default": "schnell", "description": "schnell = fast/ungated; dev = best quality, HF-gated"},
|
|
"steps": {"type": "integer", "default": 4, "minimum": 1, "maximum": 50, "description": "Inference steps (schnell: 2-4, dev: 20-28)"},
|
|
"width": {"type": "integer", "default": 1024, "minimum": 256, "maximum": 2048},
|
|
"height": {"type": "integer", "default": 1024, "minimum": 256, "maximum": 2048},
|
|
"seed": {"type": "integer", "default": 42, "description": "Random seed (fixed seed = reproducible A/B tests)"},
|
|
"quantize": {"type": "string", "enum": ["none", "8", "4"], "default": "8", "description": "Weight quantization: 8-bit ≈ full quality, half the memory; none = bf16"},
|
|
"guidance": {"type": "number", "default": 3.5, "minimum": 0, "maximum": 10, "description": "Guidance scale (dev only; schnell ignores it)"}
|
|
}
|
|
}
|
|
}
|