--- license: apache-2.0 library_name: mlx pipeline_tag: image-to-image base_model: hustvl/Moebius tags: - mlx - image-inpainting - inpainting - diffusion - moebius - ft_ffhq - mxfp4 --- # Moebius ft_ffhq MLX mxfp4 This folder contains a converted MLX version of the **ft_ffhq** Moebius checkpoint in **mxfp4** form. `ft_ffhq` means the Moebius checkpoint fine-tuned on FFHQ, for face and portrait inpainting. Original upstream model: [hustvl/Moebius](https://huggingface.co/hustvl/Moebius) Original source repository: [hustvl/Moebius](https://github.com/hustvl/Moebius) Moebius checkpoint fine-tuned on FFHQ. This is another face and portrait-oriented fine-tune. ## Identity | Field | Value | |---|---| | Variant name | `ft_ffhq-mxfp4` | | Checkpoint meaning | Fine-tuned on FFHQ for face and portrait inpainting. | | Original Moebius checkpoint family | `ft_ffhq` | | Original checkpoint type | FFHQ fine-tune | | Source PyTorch checkpoint | `Moebius-Models/ft_ffhq/diffusion_pytorch_model.bin` | | MLX precision / quantization label | `mxfp4` | | Image size | 512 x 512 | | Latent size | 64 x 64 | | Latent channels | 4 | | Mask channels | 1 | | Conditioning IDs | 20 | | VAE scaling factor | 0.13025 | | Noise offset | 0.0357 | ## Quantization MLX MXFP4-style 4-bit export. The manifest selects `unet_quantized.safetensors`; VAE encoder and decoder remain regular f16 safetensors. Runtime quantization metadata uses `mode: mxfp4` with group size 32. - UNet precision mode: `mxfp4`. - MLX grouped quantization is used for supported linear layers; grouped quantized weights are loaded through the Moebius-MLX manifest/runtime. - Quantization config: 4 bits, group size 32, `mxfp4` mode. - The VAE encoder and decoder remain regular f16 safetensors for this variant. ## Manifest-selected deployment files These are the files selected by `manifest.json` when the Moebius-MLX runtime loads this variant. | Component | File | Size | |---|---|---:| | UNet | `unet_quantized.safetensors` | 421.75 MB | | VAE encoder | `vae_encoder.safetensors` | 68.34 MB | | VAE decoder | `vae_decoder.safetensors` | 99.00 MB | ## Files in this folder - `unet.safetensors` - `unet_quantized.safetensors` (selected by manifest) - `vae_decoder.safetensors` (selected by manifest) - `vae_encoder.safetensors` (selected by manifest) - `manifest.json` (runtime metadata and file selection) A minimal runtime package needs `manifest.json` and the manifest-selected files above. Extra source or fallback files are optional and are not required for inference. ## Runtime expectations This is not a Transformers or Diffusers-native checkpoint. It is intended for the Swift/MLX runtime in [Moebius-MLX](https://github.com/kylehowells/Moebius-MLX). The runtime reads `manifest.json`, loads the selected safetensors files, builds the Moebius UNet and VAE modules, and runs the DDIM inpainting pipeline. Pipeline constants must match the manifest: - DDIM scheduler: `scaled_linear`, beta start 0.00085, beta end 0.012, 1000 train timesteps, clip sample false - 512 x 512 image resolution and 64 x 64 latent resolution - 9-channel UNet input: noisy latent, mask, and masked-image latent - VAE scaling factor 0.13025 ## Attribution Moebius was released by the original authors as [hustvl/Moebius](https://huggingface.co/hustvl/Moebius). This folder is a format conversion and/or quantized MLX packaging of the original PyTorch weights, not a newly trained model.