使用 Apple MLX 通过 mflux 在本地生成图像,支持 FLUX.2 Klein 4B(快速,Apache 2.0 协议)和 Z-Image Turbo(高质量)模型
SKILL.md — mflux.Name.mflux.是一项面向实际任务的技能,主要用于Description. 通过mflux MLX 执行本地使用 Apple Silicon 的图像. 支持 FLUX.2-klein-4B(默认,最快的4步生成,Apache 2.0 虱子)。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
mflux
通过 mflux 的 MLX 实现,在 Apple Silicon 设备上本地生成图像。支持 FLUX.2-klein-4B(默认,最快 4 步生成,Apache 2.0 许可)和 Z-Image-Turbo(6B,最高画质)。所有处理均在设备端完成——无需云端服务、无需 API 密钥、您的数据不会离开 Mac。
uv tool install --upgrade mflux --prerelease=allow
启用更快的模型下载(可选):
uv tool install --upgrade mflux --with hf_transfer --prerelease=allow
pip install -U mflux
mflux-generate --help mflux-generate-z-image-turbo --help mflux-generate-flux2 --help
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="一座宁静的日式庭院,盛开着樱花,沐浴在金色的午后阳光中",
num_inference_steps=4, # 仅需 4 步!
width=1024,
height=768,
seed=42,
)
image.save("garden.png")
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 量化
)
image = model.generate_image(
prompt="一只雄伟的鹰在日落时分翱翔于雪山之巅",
num_inference_steps=9,
width=1280,
height=720,
seed=42,
)
image.save("eagle.png")
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 量化
)
# ... 生成图像
from PIL import Image
from mflux.models.flux2.variants import Flux2Klein
model = Flux2Klein(model_config=ModelConfig.flux2_klein_4b())
image = model.generate_image(
prompt="转换为水彩画风格",
num_inference_steps=4,
init_image=Image.open("source.jpg"),
init_image_strength=0.3, # 0.0–1.0,数值越高变化越显著
)
image.save("watercolor.png")
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="让人物戴上太阳镜",
image_paths=["person.jpg", "sunglasses.jpg"],
num_inference_steps=4,
seed=42,
)
image.save("edited.png")
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],
)
# ... 生成图像
| 模型 | CLI 命令 | 参数量 | 推理步数 | 速度 | 画质 | 许可协议 |
|---|---|---|---|---|---|---|
| FLUX.2-klein-4b(默认) | mflux-generate-flux2 |
4B | 4 | ⚡ 最快 | ⭐⭐⭐⭐ | Apache 2.0 |
| FLUX.2-klein-9b | mflux-generate-flux2 |
9B | 4 | ⚡ 快 | ⭐⭐⭐⭐⭐ | Apache 2.0 |
| Z-Image-Turbo | mflux-generate-z-image-turbo |
6B | 9 | ⚡ 快 | ⭐⭐⭐⭐⭐ | Custom |
| Z-Image(基础版) | mflux-generate-z-image |
6B | 50 | 🐢 慢 | ⭐⭐⭐⭐⭐ | Custom |
| FLUX.2-klein-base-4b | mflux-generate-flux2 |
4B | 50 | 🐢 最慢 | ⭐⭐⭐⭐⭐ | Apache 2.0 |
| Qwen-Image | mflux-generate-qwen |
20B | 20 | 🐢 慢 | ⭐⭐⭐⭐⭐⭐ | Custom |
# 默认 4B 模型,4 步 mflux-generate-flux2 --prompt "一位睿智老水手的写实肖像" --width 1024 --height 768 --steps 4 --seed 42 # 使用 9B 模型获取更高画质 mflux-generate-flux2 --model flux2-klein-9b --prompt "霓虹灯辉映的赛博朋克城市景观" --steps 4 # 使用基础模型(非蒸馏版,需更多步数) mflux-generate-flux2 --model flux2-klein-base-4b --prompt "一幅细节丰富的森林油画" --steps 50 --guidance 1.5
mflux-generate-z-image-turbo --prompt "一家咖啡馆的极简主义 Logo 设计" --width 1280 --height 720 --steps 9 --seed 42 # 启用 LoRA mflux-generate-z-image-turbo --prompt "新艺术风格女性肖像" --steps 9 --lora-paths "renderartist/Art-Nouveau-Style" --lora-scales 0.7
mflux-generate-flux2 --prompt "一幅宁静的风景" --quantize 8 # 8-bit 量化(降低内存占用) # 或使用 4-bit 以实现最低内存占用 mflux-generate-flux2 --prompt "一幅宁静的风景" --quantize 4
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt |
str | 必填 | 图像的文本描述 |
width |
int | 1024 | 图像宽度(像素) |
height |
int | 768 | 图像高度(像素) |
num_inference_steps |
int | 4(Klein),9(Z-Image) | 去噪步数 |
seed |
int | 随机 | 随机种子,用于结果复现 |
quantize |
int | None | 量化等级(4 或 8) |
guidance |
float | 1.0(Klein) / 4.0(Z-Image) | 引导尺度(仅基础模型支持) |
lora_paths |
list | None | LoRA 文件路径列表 |
lora_scales |
list | None | LoRA 融合权重 |
init_image |
PIL.Image | None | 图生图任务的源图像 |
init_image_strength |
float | 0.3 | 变换强度 |
| 宽高比 | 分辨率 | 适用场景 |
|---|---|---|
| 1:1 | 1024×1024 | 头像、图标 |
| 4:3 | 1024×768 | 照片标准比例 |
| 16:9 | 1024×576 或 1280×720 | 横幅图、视频 |
| 3:4 | 768×1024 | 竖屏构图 |
| 9:16 | 720×1280 | 移动端竖屏 |
| 21:9 | 1280×550 | 电影级超宽屏 |
| 配置 | 内存占用 | 耗时 | 适用场景 |
|---|---|---|---|
| FLUX.2-klein-4b,q=8 | ~5 GB | ~8 秒 | 8GB 内存 Mac |
| FLUX.2-klein-4b,q=4 | ~4 GB | ~5 秒 | 低内存环境 |
| FLUX.2-klein-4b,q=None | ~8 GB | ~15 秒 | 16GB 内存下追求画质 |
| FLUX.2-klein-9b,q=8 | ~12 GB | ~20 秒 | 16GB 内存下追求最佳画质 |
| Z-Image-Turbo,q=4 | ~5 GB | ~12 秒 | 8GB 内存下的均衡选择 |
模型将在首次使用时自动下载:
缓存路径:~/.cache/huggingface/
选择 FLUX.2-klein-4b 的场景:
选择 Z-Image-Turbo 的场景:
选择 FLUX.2-klein-9b 的场景:
| 错误 | 原因 | 修复方法 |
|---|---|---|
OutOfMemoryError |
内存不足 | 启用量化(q=8 或 q=4) |
ValueError: Model not found |
首次运行 / 缓存异常 | 无需操作,重试即可(模型将自动下载) |
相关专题
热门下载
相关下载
精品课程
共1课时 | 154人学习
共0课时 | 0人学习
共1课时 | 201人学习