Prompt & Done · KLEIN pack

Type one sentence, the photo changes. Free, on your Mac.

FLUX.2 [klein] 4B from Black Forest Labs is an open image model (Apache 2.0) that makes photos from a sentence and edits a photo from another sentence. mflux (MIT) runs it on Apple silicon. This page has the install command, the exact prompts and commands from the reel, and what we measured on 24 Oct 2026.

1 Install

# Apple silicon Mac, about 15 GB free disk for the first download
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install --with "pillow<12" mflux   # the pin avoids a Pillow 12 import error we hit on Python 3.12/3.14

Model card: huggingface.co/black-forest-labs/FLUX.2-klein-4B (no account or token needed for this model; Hugging Face may rate-limit anonymous downloads, so set HF_TOKEN if the first download crawls). Runner: github.com/filipstrand/mflux. The first command downloads the weights, about 15 GB; after that generating and editing run on your Mac.

2 Make the photo

mflux-generate-flux2 --model flux2-klein-4b --steps 4 \
  --width 864 --height 1536 --seed 6 --output base.png \
  --prompt "A bakery storefront seen straight on from the street on a bright morning, a large flat wooden sign across the top reading 'SUNRISE BAKERY' in big cream letters, a big arched shop window full of sourdough loaves, croissants and pastries, a blue door, potted geraniums, wet cobblestone street, golden sunrise light, photograph"

This is the exact command behind the reel's first photo (4 steps, 864x1536). The model likes a full scene description: framing, subject, background, light.

3 Type what to change

mflux-generate-flux2-edit --model flux2-klein-4b --steps 4 \
  --image-paths base.png --seed 1 --output snow.png \
  --prompt "The same bakery storefront straight on, at night in heavy snowfall, snow on the sign and window ledge, glowing warm window light, the sign still reads 'SUNRISE BAKERY', photograph"

Describe the new picture as a whole, "the same ..." plus the change. These are the other edits from the reel:

# paint it red
"The same bakery storefront straight on in the same morning light, but the arched window frame, the door and the lower wall are painted bright red, the sign reads 'SUNRISE BAKERY', photograph"

# watercolor
"The same bakery storefront straight on as a bold gouache and watercolor illustration, saturated colors, visible brush strokes and ink outlines, paper texture, the sign reads 'SUNRISE BAKERY'"

# add a cat (two reference images: the photo and a picture of a cat)
mflux-generate-flux2-edit --model flux2-klein-4b --steps 4 --image-paths base.png cat.png --seed 7 \
  --prompt "The same bakery storefront straight on in the morning, a large fluffy ginger cat sitting in the center of the big arched shop window in front of the bread, clearly visible, the sign reads 'SUNRISE BAKERY', photograph"

4 What we measured (24 Oct 2026)

Apple M4 Pro, 24 GB, mflux 0.23.0, FLUX.2 [klein] 4B, 4 steps.

TestResult
New photo, 864x153646 s wall clock including model load (39 s sampling); peak memory 20.6 GB
New photo, 768x1024about 24 s sampling; peak memory 15.4 GB
Edits, 864x1536roughly 1 to 1.5 minutes each including load (three seeds in one command is cheaper)
Red / watercolor / cat editsred worked on 3 of 3 seeds; watercolor needed a stronger style prompt; the cat needed "large ... clearly visible"
Text inside photosWeak spot. A three-word sign was misspelled on 6 of 6 seeds; a two-word sign came out clean on 2 of 6; editing a sign to say something else failed on 5 of 5 seeds. The reel uses clean results picked from several seeds.

One machine, one scene. We did not test 16 GB Macs (try smaller sizes or --low-ram), Windows or Linux, or compare quality with ChatGPT, Midjourney or Photoshop. Same seed with different settings did not always give the same picture.

5 Licenses

FLUX.2 [klein] 4B is Apache 2.0; the 9B model and the newer FLUX 3 Image Klein use other licenses (non-commercial or the FLUX Kommunity License, and they need a Hugging Face login), so check before using them. mflux is MIT. Read the model card's limits: it can misrender text and may not follow every prompt.