MFlux Skill for OpenClaw

Local image generation using Apple MLX via mflux — FLUX.2 Klein 4B (fast, Apache 2.0) and Z-Image Turbo (quality) models

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "MFlux Skill for OpenClaw" with this command: npx skills add pjain/mflux

SKILL.md — mflux

Name

mflux

Description

Generate images locally using Apple Silicon via the mflux MLX implementation. Supports FLUX.2-klein-4B (default, fastest 4-step generation, Apache 2.0 licensed) and Z-Image-Turbo (6B, highest quality). All processing is on-device — no cloud, no API keys, no data leaving your Mac.

Requirements

  • Apple Silicon Mac (M1 or later)
  • Python 3.10+
  • macOS 13.5+
  • Recommended: 16GB+ RAM (8GB works with quantization)

Installation

1. Install mflux (via uv - recommended)

uv tool install --upgrade mflux --prerelease=allow

With faster downloads (optional):

uv tool install --upgrade mflux --with hf_transfer --prerelease=allow

2. Alternative: Install via pip

pip install -U mflux

3. Verify installation

mflux-generate --help
mflux-generate-z-image-turbo --help
mflux-generate-flux2 --help

Python API Usage

Quick Start — FLUX.2 Klein 4B (Default, Fastest)

from mflux.models.flux2.variants import Flux2Klein
from mflux.models.common.config import ModelConfig

model = Flux2Klein(model_config=ModelConfig.flux2_klein_4b())
image = model.generate_image(
    prompt="A serene Japanese garden with cherry blossoms, golden afternoon light",
    num_inference_steps=4,  # Only 4 steps needed!
    width=1024,
    height=768,
    seed=42,
)
image.save("garden.png")

Z-Image Turbo (Highest Quality)

from mflux.models.z_image import ZImage
from mflux.models.common.config import ModelConfig

model = ZImage(
    model_config=ModelConfig.z_image_turbo(),
    model_path="filipstrand/Z-Image-Turbo-mflux-4bit",  # 4-bit quantized
)
image = model.generate_image(
    prompt="A majestic eagle soaring over snow-capped mountains at sunset",
    num_inference_steps=9,
    width=1280,
    height=720,
    seed=42,
)
image.save("eagle.png")

With Quantization (Lower RAM)

from mflux.models.flux2.variants import Flux2Klein
from mflux.models.common.config import ModelConfig

model = Flux2Klein(
    model_config=ModelConfig.flux2_klein_4b(),
    quantize=8,  # 8-bit quantization
)
# ... generate image

Image-to-Image

from PIL import Image
from mflux.models.flux2.variants import Flux2Klein

model = Flux2Klein(model_config=ModelConfig.flux2_klein_4b())
image = model.generate_image(
    prompt="Transform into a watercolor painting",
    num_inference_steps=4,
    init_image=Image.open("source.jpg"),
    init_image_strength=0.3,  # 0.0-1.0, higher = more change
)
image.save("watercolor.png")

FLUX.2 Image Editing

from mflux.models.flux2.variants import Flux2KleinEdit
from mflux.models.common.config import ModelConfig

model = Flux2KleinEdit(model_config=ModelConfig.flux2_klein_4b())
image = model.generate_image(
    prompt="Make the person wear sunglasses",
    image_paths=["person.jpg", "sunglasses.jpg"],
    num_inference_steps=4,
    seed=42,
)
image.save("edited.png")

LoRA Support

from mflux.models.flux2.variants import Flux2Klein
from mflux.models.common.config import ModelConfig

model = Flux2Klein(
    model_config=ModelConfig.flux2_klein_4b(),
    lora_paths=["path/to/lora.safetensors"],
    lora_scales=[0.8],
)
# ... generate image

Supported Models

ModelCLI CommandSizeStepsSpeedQualityLicense
FLUX.2-klein-4b (default)mflux-generate-flux24B4⚡ Fastest⭐⭐⭐⭐Apache 2.0
FLUX.2-klein-9bmflux-generate-flux29B4⚡ Fast⭐⭐⭐⭐⭐Apache 2.0
Z-Image-Turbomflux-generate-z-image-turbo6B9⚡ Fast⭐⭐⭐⭐⭐Custom
Z-Image (base)mflux-generate-z-image6B50🐢 Slow⭐⭐⭐⭐⭐Custom
FLUX.2-klein-base-4bmflux-generate-flux24B50🐢 Slowest⭐⭐⭐⭐⭐Apache 2.0
Qwen-Imagemflux-generate-qwen20B20🐢 Slow⭐⭐⭐⭐⭐⭐Custom

CLI Reference

Generate with FLUX.2 Klein

# Default 4B model, 4 steps
mflux-generate-flux2 \
  --prompt "A photorealistic portrait of a wise old sailor" \
  --width 1024 \
  --height 768 \
  --steps 4 \
  --seed 42

# 9B model for higher quality
mflux-generate-flux2 \
  --model flux2-klein-9b \
  --prompt "A cyberpunk cityscape with neon lights" \
  --steps 4

# Base model (non-distilled, more steps)
mflux-generate-flux2 \
  --model flux2-klein-base-4b \
  --prompt "A detailed oil painting of a forest" \
  --steps 50 \
  --guidance 1.5

Generate with Z-Image Turbo

mflux-generate-z-image-turbo \
  --prompt "A minimalist logo design for a coffee shop" \
  --width 1280 \
  --height 720 \
  --steps 9 \
  --seed 42

# With LoRA
mflux-generate-z-image-turbo \
  --prompt "Art nouveau style portrait of a woman" \
  --steps 9 \
  --lora-paths "renderartist/Art-Nouveau-Style" \
  --lora-scales 0.7

With Quantization

mflux-generate-flux2 \
  --prompt "A serene landscape" \
  --quantize 8  # 8-bit quantization (reduces RAM)

# Or 4-bit for lowest RAM
mflux-generate-flux2 \
  --prompt "A serene landscape" \
  --quantize 4

Parameters

ParameterTypeDefaultDescription
promptstrrequiredText description of image
widthint1024Image width in pixels
heightint768Image height in pixels
num_inference_stepsint4 (Klein), 9 (Z-Image)Number of denoising steps
seedintrandomRandom seed for reproducibility
quantizeintNoneQuantization level (4, 8)
guidancefloat1.0 (Klein) / 4.0 (Z-Image)Guidance scale (base models only)
lora_pathslistNoneList of LoRA file paths
lora_scaleslistNoneLoRA blending scales
init_imagePIL.ImageNoneSource image for img2img
init_image_strengthfloat0.3Strength of transformation

Aspect Ratios (Recommended Sizes)

Aspect RatioDimensionsUse Case
1:11024×1024Profile photos, icons
4:31024×768Photo standard
16:91024×576 or 1280×720Landscape, videos
3:4768×1024Portrait orientation
9:16720×1280Mobile vertical
21:91280×550Cinematic widescreen

Performance & RAM Guide

ConfigurationRAMSpeedBest For
FLUX.2-klein-4b, q=8~5 GB~8 sec8GB Macs
FLUX.2-klein-4b, q=4~4 GB~5 secLow RAM
FLUX.2-klein-4b, q=None~8 GB~15 secQuality on 16GB
FLUX.2-klein-9b, q=8~12 GB~20 secBest quality 16GB
Z-Image-Turbo, q=4~5 GB~12 secAll-around 8GB

Model Weights

Models are downloaded automatically on first use:

  • FLUX.2-klein-4b: ~15GB
  • FLUX.2-klein-9b: ~32GB
  • Z-Image-Turbo quantized: ~8GB

Cache location: ~/.cache/huggingface/

Comparison: When to Use Which

Choose FLUX.2-klein-4b when:

  • Speed is priority (4 steps, ~5-8 sec)
  • Apache 2.0 license needed (commercial use)
  • Generating many images fast
  • 8GB+ RAM available

Choose Z-Image-Turbo when:

  • Quality is priority
  • Realism matters most
  • You have 16GB+ RAM
  • Time per image acceptable

Choose FLUX.2-klein-9b when:

  • Best quality from Apache-licensed model
  • 16GB+ RAM available
  • Commercial use required

Error Handling

ErrorCauseFix
OutOfMemoryErrorNot enough RAMUse quantization (q=8, q=4)
ValueError: Model not foundFirst run / cache issue

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

qwencloud-model-selector

[QwenCloud] Recommend the best Qwen model and parameters. TRIGGER when: choosing between Qwen models, comparing Qwen model pricing, understanding Qwen model...

Registry SourceRecently Updated
General

deployment-manager

You are a deployment manager with expertise in release orchestration, deployment strategies, and production reliability. Use when: release orchestration and...

Registry SourceRecently Updated
General

Hk Stock Morning Report

Generate HK stock market morning report (股市晨報) for bank trading desks. Triggers: "生成晨报", "股市晨报", "今日股市", "港股晨報" 報告結構(5部分): 1. 市場回顧(恒指/科指/國指 + 強弱勢股) 2. 南下資金(總...

Registry SourceRecently Updated
General

Story Long Scan

长篇网文扫榜。分析起点、番茄、晋江等平台排行榜数据,提炼市场趋势与热门题材。 触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」

Registry SourceRecently Updated