MLXCreator/MLX-Creator
MLX Creator — Models
Local generative-media studio for Apple Silicon — images, music, and video, fully on-device via MLX. No PyTorch at runtime, no cloud.
- App / source: https://github.com/rynky2436/MLX-Creator
- These repos (
MLXCreator/*) host MLX-format weights the app downloads on first run.
How to add or convert a model so it works in the app
The app loads models from its local models/ folder. Each model lives in its own subfolder with a small mlxstudio.json manifest that tells the app what it is and which engine loads it. Drop a compatible folder in, and it appears in the right tab.
1. Is it already MLX format?
The app's inference is torch-free — it loads pre-converted MLX weights. The easy path:
- Yes (drop-in): weights already converted to MLX (e.g. from
mlx-community, or anyMLXCreator/*repo here). Just add the manifest (step 3) — no conversion needed. - No (convert first): the model only ships PyTorch/diffusers
safetensors. Convert it to MLX once, offline, then drop in the result. Conversion may use torch on another machine/run; the app itself never needs it. Use the upstream MLX tool for that family: - Flux: `mlx-examples/flux`
- SD3 / SD3.5: `DiffusionKit`
- Qwen-Image: `mflux`
- Language/planner models:
mlx_lm.convert
2. Does the app already have an engine for that architecture?
A manifest only routes a model to an engine that already exists. So a model works if it is (a) MLX format and (b) one of the supported families below:
A brand-new architecture (not in this list) needs a small new engine in the app — see CONTRIBUTING in the repo. A new variant of a supported family just needs MLX weights + a manifest.
3. Write the manifest
Put mlxstudio.json in the model's folder:
{
"modality": "image",
"engine": "flux",
"arch": "schnell",
"role": "model",
"display": "FLUX.1 schnell"
}The app also auto-detects common layouts and writes this file for you, but adding it explicitly is the reliable way to register an unusual folder.
4. Install it — two ways
- In-app (recommended): open the Models tab, search Hugging Face, and install. The browser filters for MLX-compatible repos and writes the manifest automatically.
- Manual: copy the folder into the app's
models/directory (see the path in the Settings tab). It shows up on next launch / refresh.
5. Publishing your own MLX model so the in-app browser finds it
When you upload converted weights to Hugging Face, tag them so MLX Creator's browser surfaces them:
library_name: mlx(or includemlxintags)- a
pipeline_tagthat matches the modality (text-to-image,text-to-audio,text-to-video) - keep the upstream license and attribution in the model card
Companions
Some engines share a heavy encoder/tokenizer/planner across models. These are marked "role": "companion" and are not shown as selectable models — they're loaded behind the scenes. Examples here: SD3-encoders (CLIP/T5 for sd35), umt5-xxl-tokenizer (for wan), acestep-5Hz-lm-0.6B / -4B (the ACE-Step "thinking" planners).
Each model repo here keeps its original source + license in its card. Apache-2.0 for the Flux / ACE-Step / Wan / Qwen / umt5 weights; the SD3 / SD3.5 weights are under the Stability AI Community License.
